标 题: 简单易懂的破解脱壳从0开始
作 者: gdlgc
时 间: 2011-02-06,00:33:15
链 接: http://bbs.pediy.com/showthread.php?t=128977

<!-- google_ad_section_start -->一、 准备好常用破解工具, 
1、 查壳工具:PEiD   0.95 
2、 脱壳调试:OllyICE v1.10(俗称OD,可下载一些OD插件保存在程序文件目录下的plugin文件夹中,启动OD时会自动链接插件)
3、 Win32反汇编:WinHex 14.2 
4、 修复工具:ImportREC V1.6  
5、 注册机编写:keymake
二、 壳的概念:关于壳的介绍文章很多,很多初学者还不知道壳是什么,那么你就暂且这样通俗的去理解:壳就是软件的包装外壳。
三、 脱壳:顾名思义,我就不多说了。
四、 调试:用OD调试程序的进程,寻找关键(算法)CALL,修改有关汇编语言达到软件注册或破解的目的。
五、 有人问:我不懂汇编语言和算法怎么办?我告诉你,没关系,首先你必须从简单的、好欺负的软件入手(初学者千万别找年轻的、经常更新的或高版本的软件),否则,你只会以失败而告终。
六、 如果你是第一次学破解,我告诉你一个方法,只要你按如下操作一般都能成功(有的新版本软件除外):
1、 首先注册软件,查看软件弹出的有关注册失败的信息框的内容。
2、 查壳:有壳脱壳,无壳用OD载入。
3、 手动脱壳基本方法:从OD载入软件程序后弹出是否分析对话框,点“否”,停在程序壳的入口(含有pushad等类似字符)。接下来我们的目的是要寻找第一个popad 。
(1) 首先按F8,接下来或近处便是CALL,此时的CALL或是离这里很近的CALL必须按F7,否则你就掉入陷井,后面遇到CALL一旦掉入也没关系,你先记下来,重新载入程序(按CTRL+F2),再遇到这个时就用F7进入。
(2) 出现往回跳转时,即红色线显示跳转实现,必须在下一行点左鍵,然后按F4步过,灰色为跳转未实现,可不理它照样F8。
(3) 其他全部F8,一路下去必定能找到第一个popad,找到后离此不远必定有一个大的跳转,一旦跳转来到有push   ebp字样,说明壳己走完到主程序(OEP),在此用OD插件→ollyDump→Dump debu…→Dump脱壳→保存。
4、 破解:OD载入程序、点文件→打开→点击要破解的软件程序(无壳或己脱壳的)。
5、 鼠标置左上(反汇编)窗口点右鍵,弹出框选项中选择ultra string reference(过激的字符串参考)中的Find  ASCII。
6、 在弹出的窗口内查找第一步骤的注册信息内容或有关注册成功和注册失败的字符。如果找不到,建议你放弃,另选其他软件,最好是年纪大些的(一般在2005年及以前的)。
7、 找到有关字符后,双击它,回到OD主窗口,在反汇编窗口(左上)中可以看到有关字符,然后就在字符上下附近寻找关键跳转(即跳向注册失败或注册成功处),在该跳转近处必定有一个就是关键CALL。
8、 如果用爆破,就修改关键跳转(jnz改为jz,jz改为jnz等)。
9、 如果是追注册码就在关键CALL这行下断点(按F2或双击鼠标),然后按F9运行后,会弹出软件注册对话框,随意输入注册信息后确定,这时注意观察右上的寄存器窗口会显示出你输入的假码和软件的真码,真码可以注册,而这个CALL可以用来做注册机。
下面,我给大家找来一个简单的软件演示一下实例:
【软件名称】现代汉语词典
【注册方式】确认码+注册码
【破解工具】PEiD   0.95   OllyICE v1.10  keymake
1、 查壳为ASPack 2.12 -> Alexey Solodovnikov

2、 下面开始脱壳,首先用OD载入软件,分析项点“否”。

3、接下来第一步按F8、第2步F7(这里的CALL离入口很近哦)、第3步F8……以下按图中的注释操作,未注释用F7或F4的则,全部用F8。

中间省略… …一路F8来到这里后,按图注释走,注释栏未注明全部F8

中间省略… …一路F8来到这里后,按图注释走,注释栏未注明全部F8

中间省略… …路F8来到这里后,按图注释走,注释栏未注明全部F8
从上面程序返回直接跳到这里,这就是典型的OEP入口了。

4、用OD插件直接Dump,如下图

5、在弹出对话框中点Dump后命名文件、保存。

生成的文件便是已经脱壳的程序文件了。
接下来可以开始破解了:
1、用OD载入己脱壳的程序文件,程序停在OEP入口(注意看,这里己不是壳的入口了)。鼠标置反汇编窗口中点右鍵,在弹出对话框中按下图选择。

2、双击如图注册失败….字符

3、双击后回到OD主窗口,可以看到注册失败由上方跳转而来,我们顺着红线向上找关键跳转及关键CALL。

4、 找到这里,0051B153跳向注册失败,必是关键跳转了,它上面的CALL一般都是关键CALL(因为是初学我们暂不进入跟踪算法)。
我在此介绍三种简单的破解方式,具体看以下内容及参考图注释操作。
(1) 爆破:在关键跳转处的jnz改为jz或点右鍵→二进制→用nop填充。
(2) 追注册码:在关键CALL处下断点,然后F9运行。
(3) 注册机:利用上面的操作及参考寄存器窗口内容,用keymake(注册机编写器)制作。

(1)爆破:Nop填充图

5、 关键跳转修改后,点右鍵→复制到可执行文件→所有修改→(弹出对话框)点全部复制。 

6、在新弹出窗口点右鍵,选择保存文件即可,至此爆破完成,运行软件即可注册成功。

(2)追注册码:
1、 我们在关键CALL处下断点F9运行程序弹出软件,选择注册项并输入注册信息,点确认注册。

2、查看寄存器窗口,这里显示软件的真假码。KKK为我这里输入的码假,在第三行EDX处显示的为真码(注意:这里的真码与输入的确认码对应)。另须说明:当点确认注册后,OD会陆续弹出几个出错的对话框(说明软件有调用函数,既是初学,这里暂不去深究),可以直接点“否”,打开软件输入对应确认码和真码即可注册成功。
 <!-- google_ad_section_end -->

简单易懂的破解脱壳从0开始相关推荐

  1. 死亡之雨新的僵尸病毒中文破解版 v1.0绿色免安装版

    点击下载来源:死亡之雨新的僵尸病毒中文破解版 v1.0绿色免安装版 死亡之雨新的僵尸病毒是人气作品<死亡之雨>的最新续作,在该作中沿用了前作的横版风格,增加了僵尸怪兽的种类,拥有了全新的关 ...

  2. 沉没之城中文破解版 v1.0免安装绿色版

    点击下载来源:沉没之城中文破解版 v1.0免安装绿色版 沉没之城(The Sinking City)是由Frogwares公司根据洛夫克拉夫特小说<克苏鲁的呼唤(Call of Cthulhu) ...

  3. 骰子地下城简体中文破解版 v1.0绿色免安装版

    点击下载来源:骰子地下城简体中文破解版 v1.0绿色免安装版 骰子地下城是由Terry Cavanagh制作发行的一款比较新颖的点击回合制的地牢探险策略战棋游戏,故事发生在一个充满惊喜.翻转,秘密的神 ...

  4. ElasticSearch破解x-pack 6.0+和更新许可证(License)

    概要 x-pack首次安装可以免费使用一年,过期之后登陆会有如下提示: # http://192.168.0.166:5601/login Login is disabled because your ...

  5. halcon程序安装破解与VC6.0结合

    转载:https://blog.csdn.net/deram_boy/article/details/27652367 HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广 ...

  6. 成功破解DSP builder13.0使用的是11.1的creak

    经过摸索,成功找到破解的问题了,说下三次失败的经历 第一次:13.0版+matlab2014A,很显然,matlab的版本超前了,一般Matlab比quartus要低一个版本的,比如quartus13 ...

  7. phpstorm10.0.0破解(10.0.2已失效)

    使用License服务器破解在License server填http://idea.lanyus.com/ (10.0.2继续有效) 但是每次启动ide的时候都会去License服务器去进行验证 如果 ...

  8. 记一次应用破解——脱壳修改后重打包

    样本是在某个群里下载的,当时是有人发出来找人帮忙修改下,我是想练练手就下载下来开始修改. 首先拿到应用先看了下是加壳了,腾讯的壳,然后安装看了下需要修改的地方. 需求就是改一下qq群: 开始动手: 一 ...

  9. 破解.NET 2.0配置之谜(一)

    引言 NET的美妙特点之一是它的XML配置功能.在.NET 1.x时代,常见的应用程设置.数据库连接字符串.ASP.NET Web服务器配置和基本的自定义配置数据可以存储在.config文件中.自定义 ...

最新文章

  1. CentOS5.4下安装短信猫
  2. python中最常用的映射类型_什么是python中唯一的映射类型
  3. LTE: 系统内移动性知识点总结
  4. 20行python代码的入门级小游戏-用Python设计一个经典小游戏
  5. python怎么启动服务器_如何通过cgi启动服务器端python程序?
  6. boost::geometry::detail::overlay::approximately_equals用法的测试程序)
  7. android strings.xml 特殊字符,android strings.xml 中的特殊字符转义
  8. 马屁股和航天飞机的关系
  9. wpf listview透明但字不要透明_透明胶带放水里泡一泡,真是厉害,解决了很多家庭一大烦恼,实用...
  10. BoundsChecker使用说明
  11. IOS 控制器切换的动画样式
  12. OpenBSD 7.2版发布 新增苹果M2芯片和高通骁龙8cx芯片组的支持
  13. Laya 微信小游戏登录问题
  14. linux jar环境配置文件,启动jar包 指定配置文件和运行环境
  15. trans【Total3DUnderstanding】论文翻译+解读学习 2020.10.14
  16. solidworks中加入参考图纸图片
  17. python注册码_python 注册码
  18. 非法获取计算机 取证,电子数据取证应注意的几个问题
  19. 【元胞自动机】基于matlab元胞自动机3D森林火灾模型【含Matlab源码 656期】
  20. 【转帖】龙芯将两款 CPU 核开源,这意味着什么?

热门文章

  1. 信息学奥赛一本通 2064:【例2.1】交换值
  2. 信息学奥赛一本通 2019:【例4.4】求阶乘
  3. 信息学奥赛一本通 1064:奥运奖牌计数 | OpenJudge NOI 1.5 07
  4. 信息学奥赛一本通(2065:【例2.2】整数的和)
  5. 信息学奥赛一本通(2028:【例4.14】百钱买百鸡)
  6. 格子游戏(信息学奥赛一本通-T1347)
  7. 7 PP配置-生产主数据-工作中心相关-定义工作中心标准值码
  8. VMware内虚拟机自适应及最大化窗口调整方式
  9. 各类科技活动获奖公示网站
  10. java数组的用法_Java数组的使用