欢迎来到天天文库
浏览记录
ID:40721985
大小:655.50 KB
页数:6页
时间:2019-08-06
《反汇编入门教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、仅以此文来描述如何反汇编一个exe程序,这里采用的是静态反汇编,也就是先把整个程序全部反汇编成汇编语言后进行修改,这个例子很简单,首先是我从看雪论坛上下载到的一个CrackMe.exe程序然后我们使用W32Dasm.exe打开它,可以看到这个exe程序在反编译以后的内容双击正式启动这个程序,随便输入注册码123,点击Check这里可以看到程序在输入错误后提示的内容然后我们使用"串式数据参考",找到这个字符串的位置这个位置如下可以看到在我程序的0040段,15B9这个偏移地址下程序输出了这个字符串,然后我们考虑一下,程序在我输
2、入了错误的注册码,并且点击了check以后,弹出了这个字符串,我们向上找,应该可以找到一个跳转,类似je,jne,jmp之类的东西,跳转到此处,位置如下可以看到在偏移地址15AB下有一个入口,注意Referencedby.....这句,是说"有人从这里插队了"到底是谁"插队"到这里了呢,是00401595这个代码.现在我们跳转到这个位置去追踪它输入00401595可以看到是个jne(不等跳转),我们只要把这个jne改成je就可以了使用hiew打开这个程序打开以后看到一堆乱码,这是因为它是用文本方式打开了一个exe程序这里我们
3、按F4,选择decode(反汇编)模式这回看到的就都是机器码了然后按F5,输入1595(刚才我们找到的那个语句地址),找到那个位置就是这个7516的jne命令,我们要把它改成je,这里直接把7516这个机器码修改成7416按F3进入编辑模式然后按F9保存这回再次打开修改后的程序,重新输入123,可以看到crack后的结果是完成!
此文档下载收益归作者所有