什么是学习逆向工程的好地方,特别是它适用于Mac OS X?关于这个主题我钦佩的两个应用程序:
超空间 - http://thecocoabots.com/hyperspaces/
和
轨道 - http://www.steventroughtonsmith.com/orbit/
多谢你们.
朋友的服务器(是的,真的.不是我的.)被打破了,我们发现了一个运行一些机器人代码的perl二进制文件.我们找不到脚本本身(可能是通过网络收到的eval'),但我们设法创建了perl进程的核心转储.
在核心上运行字符串给了我们一些提示(主机名,用户名/密码),但不是脚本的源代码.
我们想知道脚本能够做什么,所以我们想对perl解释器中运行的perl代码进行反向工程.
搜索周围,我发现最接近perl解编译器的是B :: Deparse模块,它似乎非常适合将解析树的字节码转换回可读代码.
现在,我如何让B :: Deparse在核心转储上运行?或者,或者,如何从核心重新启动程序,加载B :: Deparse并执行它?
欢迎任何想法.
我有一个错过了一行代码的.Net dll.我想补丁那个DLL,但我没有源代码.我该怎么办?有谁知道修补这样的快速方法?
我目前正在研究Eclipse中的一个项目,但问题是这个项目非常大(很多代码,类,包等)并且没有文档记录.由于该项目是用Java编写的,我的想法是对项目进行反向工程,以便在UML中查看他的体系结构.你知道一个eclipse插件可以很容易地完成这个任务吗?感谢您的回答 !!
我目前正在使用来自https://plugins.jetbrains.com/plugin/8286?pr=的 SequenceDiagram插件 来生成序列图.但这里的缺点是我无法以.uml或任何其他格式保存它们,因此任何人都可以打开此文件并对其进行编辑.它只允许将sequnce图导出为图像.
有没有办法保存生成的序列图,以便以后编辑它们?
我有一个经常使用.NET程序.这个程序有一个非常烦人的小错误,应用程序的开发人员无处可寻.
我在反射器中找到了问题的位置,只想在这里添加一个if语句,然后重新编译该程序.
最简单的方法是什么?
我尝试在反射器中使用导出功能,但它似乎并不完美.例如,缺少很多using-directives,并且不能正确导出来回转换为int的枚举.我相信我可以通过一些工作解决这个问题,但我想知道是否有更简单的方法来做到这一点.
更新:解决这个问题:
该程序是单个文件可执行文件
完成!我现在只使用固定程序几分钟但它似乎像以前一样工作除了bug :)
我还遇到了应用程序设置的一些问题.在%appdata%\ ProgramName中有一个名为ProgramName.exe_Url_qa5i3p42aomuvoxpuxuficvbmngksgjs的文件夹,其中存储了所有设置.我的新可执行文件创建了一个这样的新文件夹,最后用不同的随机字母和默认设置.要复制之前使用的设置,只需将旧文件夹的所有内容复制到新文件夹即可.
我有一个PDF格式的简历,将转换为LaTeX代码.有没有办法对PDF进行"逆向工程",以便我可以获得乳胶代码?
人们如何对Wii等游戏机进行逆向工程,为其游戏可执行文件创建模拟器?
我想看看DLL(可能是在不同的机器上编译)是否相同.要做到这一点,我正在做的是加载DLL并计算MD5,这是因为DLL在不同的机器上失败(但具有相同的源).这似乎是由于这是在编译时添加(如有人提到其他元数据在这里).
我想过对整个DLL进行反向工程并查看代码是否匹配,但是,我有两个问题:
任何提示,技巧和指示将不胜感激.
我对您可以采取的预防措施感兴趣,以使逆向工程C共享库变得更加困难
似乎不可能完全阻止,但你可以采取可能需要更长时间的步骤,因此不那么有吸引力/成本更高
代码混淆,编译器优化选项编译器调试标志等等(我会特别感兴趣的是gcc编译器)
对于以$或工时等方式逆向工程~5KLOC C共享库(.so大小~200kb)的相对难度的任何想法也感兴趣.