当前位置:96看吧 > 技术文档 > 操作系统 > 反汇编入门教程

反汇编入门教程

时间:2015/02/01
作者:MaWenDong
来源:96看吧
查看:
标签:汇编

仅以此文来描述如何反汇编一个exe程序,这里采用的是静态反汇编,也就是先把整个程序全部反汇编成汇编语言后进行修改,这个例子很简单,首先是我从看雪论坛上下载到的一个CrackMe.exe程序

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

然后我们使用W32Dasm.exe打开它,可以看到这个exe程序在反编译以后的内容

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

双击正式启动这个程序,随便输入注册码123,点击Check

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

这里可以看到程序在输入错误后提示的内容

然后我们使用"串式数据参考",找到这个字符串的位置

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

这个位置如下

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

可以看到在我程序的0040段,15B9这个偏移地址下程序输出了这个字符串,然后我们考虑一下,程序在我输入了错误的注册码,并且点击了check以后,弹出了这个字符串,我们向上找,应该可以找到一个跳转,类似je,jne,jmp之类的东西,跳转到此处,位置如下

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

可以看到在偏移地址15AB下有一个入口,注意Referenced by .....这句,是说"有人从这里 插队 了"

到底是谁"插队"到这里了呢,是 00401595这个代码.

现在我们跳转到这个位置去追踪它

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

输入00401595

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

可以看到是个jne(不等跳转),我们只要把这个jne改成je就可以了

使用hiew打开这个程序

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

打开以后看到一堆乱码,这是因为它是用文本方式打开了一个exe程序

这里我们按F4,选择decode(反汇编)模式

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

这回看到的就都是机器码了

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

然后按F5,输入1595(刚才我们找到的那个语句地址),找到那个位置

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

就是这个7516的jne命令,我们要把它改成je,这里直接把7516这个机器码修改成7416

按F3进入编辑模式

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

然后按F9保存

这回再次打开修改后的程序,重新输入123,可以看到crack后的结果是

反汇编入门教程 - marshal_li_b - marshal_li_b的博客

完成!

 

上一篇:解决iis7运行asp+access数据库连接错误
下一篇:64位系统IIS7支持32位的应用程序
页面举报
Report
关闭页面
Close
收藏页面
Favorites
分享页面
Share
版权信息:栏目内,站内会员所分享的全部“资源/素材/文章”,仅供学习与参考,版权为原作者所有。
下载提示:非注册用户每天可下载一个文件,已注册会员不受限制。
网友评论
数据载入中
验证码
  • 请您注意:
  • ·请不要在评论中含与内容无关的广告链接。
  • ·不良评论请用报告管理员,以利管理员及时删除。
  • ·遵守中华人民共和国的各项有关法律法规
  • ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • ·本站管理人员有权保留或删除评论中的任意内容
  • ·您在本站发表的作品,本站有权在网站内转载或引用
  • ·参与本评论即表明您已经阅读并接受上述条款
相关最新
相关热门