用什么软件可以修改exe,dll文件内的反汇编程序,如何修改,请高手指教 ollydbg调试和修改exe等文件内部2113指令,使用IDA生成稍显易读5261的逆向代码。两者结4102合效果比较好。前1653者用于运行调试,找到目标指令的位置,后者则是逆向前期用来分析exe文件内部结构的工具。怎么改,不能一言蔽之。大概的原理可以告诉你使用ollydbg,运行,点击菜单栏的打开,选择你的exe文件,运行,找到main函数的位置,设置断点,单步运行,知道找到你想找的指令的位置,更改该指令,注意要保证指令的总体大小不变,比如说原先该条指令的大小是4个字节,那么你可以使用4个NOP指令代替,大小不变,但是使用6个NOP或者3个NOP指令,总体大小就不同了,exe文件内部指令的相对地址都变了。即最后的exe文件大小要不变,不然会损坏exe文件。最后保存修改的内容。不知道你有没有个大概的印象,反汇编本来就很耗时耗力,需要耐心和经验,还得看你的需求。你可以上“看雪论坛”搜索相关的教程。
反汇编的原理 这个问题.问的我都不知道如何回答了.如果只是想知道如何反汇编,使用几个工具就可以了.用一下你就能感受到了.w32dasm,Ollydbg调试器,IDApro.反汇编原理这个东西,怎么回答你好呢,说起来太多了.首先你需要了解一下opcode.比如说,这个汇编代码(应该说是助记符才对)mov eax,ebx,对应的opcode是8BC3.而现在所见到的一般反汇编引擎XDE32,LDE32,ADE32.就是把这个8BC3,解析为 mov eax,ebx.但这只是最简单的.要解析exe文件(PE文件更恰当些.)还有很多工作要做.如果你只是想了解下的话,可以把这些反汇编引擎下载下来,自己UltralEdit手工构造一个文件(*.dat或者*bin之类的)里面填一些opcode,fopen()函数打开之.然后使用下这几个反汇编引擎你就能看到效果了.另外可以的几个反汇编引擎也推荐下,都是开源的.libdasm,BeaEngine.OD作者公布的一个反汇编源代码.(自己把这些东西下载下来,然后读一读里面的文档.)如果对这方面感兴趣,可以参考看雪论坛,bbs.pediy.com
反编译exe文件就是把exe还原为汇编? 首先了解一下概念,exe程序只是WIN下PE格式的可执行文件的一种,而所谓的计算机执行的代码只是一串二进制数,跟数据没区别,当CS,EIP指向哪,哪里就是程序,而汇编语言之所以叫最底层的语言,是因为,汇编的每一个语法,都应对了一串二进制的指令,这也就是反汇编的原理,所以NO1.一、反编译exe程序 就是 把 exe 还原为汇编语言吗?这句话,不能叫还原,应该叫解释,“解释”的东西,没还原的那么逼真,比如,在汇编源程序中所有的标号和注释,进行编译后,变成二进制可执行文件后,在反汇编,标号就变成数字了,而注释更是没了.二、除了 还原为 汇编语言,还能 反编译为 其他高级语言吗?不能,高级语言的语法是建立在大量的计算机二进制代码之上的,比如你C语言随便调用一个子函数,到了二进制中,他是先压栈,参数(编译后参数从右往左压,每个语言还不一样),然后就是call 子函数,子函数运行后,他还要清理堆栈,所以你一个句简单的高级语言,其实蕴含了大量的代码,而高级语言编译后的程序,就脱离了他的开发环境,楼上说的会引起你误会,Java的中间码,可以用他自带的反编译工具,因为Java不是编译器,而是解释器,所以他不编译,只是解释他的中间码NO2.所有的。