我正在寻找一个(最好是免费的)工具,可以从(非.NET)Windows PE文件(* .exe或* .dll)生成“正确的”反汇编列表。
重要要求:应该可以通过Windows汇编程序(nasm,masm或其他)运行列表并再次获得工作exe(不一定与原始的相同,但它应该以相同的方式运行)。
当源不可用时,预期用途是将新子例程添加到现有代码中。
理想情况下,工具应该能够检测功能/段边界,API调用,并为跳转生成适当的标签(尽管如此,我可以没有标签用于循环/跳转,但功能边界检测会很好),并保持计划资源/细分市场。
我已经知道IdaPRO(非免费),OllyDBG(对于就地黑客有用,不生成反汇编列表,AFAIK),ndisasm(输出不适合汇编程序),dumpbin(有用,但是AFAIK,输出不适合汇编程序)和“代理DLL”技术。
想法?或者也许有一本书/教程解释了某种替代方法?
答案 0 :(得分:2)
另外,请查看Oilly。这是一个非常漂亮的应用程序,也非常直观。您可以反汇编和十六进制编辑。适用于中小型项目。
答案 1 :(得分:1)
你说你知道IdaPRO,但你也知道IdaFree吗?
答案 2 :(得分:0)
我不肯定它完全符合您的要求,但您尝试了PEiD吗?
答案 3 :(得分:0)
看看免费的PEBrowse Professional:
http://www.smidgeonsoft.prohosting.com/pebrowse-pro-file-viewer.html