软件破解之道

  1. 云栖社区>
  2. 博客>
  3. 正文

软件破解之道

thinkyoung 2013-11-12 22:45:00 浏览781
展开阅读全文
 破解需要的软件(点击下载):
  侦壳 language.exe
  脱壳AspackDie.exe
  反编译 W32Dasm黄金中文版
  16进制编辑器 UltraEdit.rar
  在破解之前先复习一下基础知识:
  一.破解的等级
  初级,修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破
  中级,追出软件的注册码
  高级,写出注册机
  二.用w32dasm破解的一般步骤:
  1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册
  2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误提示信息,将错误提示信息记下来
  3.侦测有无加壳(第一课).若加壳,脱壳(第二课)
  4.pw32dasmgold反汇编
  5.串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键
  6.pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call
  7.绿色光条停在关键跳转,在pw32dasmgold主窗口底部找到关键跳转的偏移地址(实际修改地址)
  8.用ultraedit找到偏移地址(实际修改地址)修改机器码,保存
  壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompact
  脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件unaspack,caspr,upx,unpecompact,procdump
  实际修改地址(偏移地址)和行地址(虚拟地址)pw32dasmgold反汇编出来的代码由三列组成
  第一列 行地址(虚拟地址)
  第二列 机器码(最终修改时用ultraedit修改)
  第三列 汇编指令
  两种不同情况的不同修改方法
  1.修改为jmp
  je(jne,jz,jnz) =jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息
  2.修改为nop
  je(jne,jz,jnz) =nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。
  好了,下面开始我们的破解之旅。。。。。。。。。。
  1,侦壳:先打开侦壳 language.exe,选择打开----找到要破解的网络填表终结者:FormGhost.exe,点确定,如图1。language.exe便显示出软件的壳是:Aspack,如图2。
  2,脱壳:双击脱壳AspackDie.exe,出现一个对话框,选择网络填表终结者:FormGhost.exe,打开。如图3。出现图4框,点确定脱壳完成。在网络填表终结者:FormGhost.exe同目录下生成一个unpacked.exe文件,这就是脱壳后的FormGhost.exe。
  3,运行脱壳后的unpacked.exe,点帮助----注册,图9。注册名称,注册码随便添。图10。点注册,提示:“注册码错误”图11,好了记住这5个字。关了它。
  4,开始反汇编:打开 反编译 W32Dasm黄金中文版,选择反汇编----打开脱壳后的unpacked.exe,变开始加载。如图5。图6。
  返汇编之后如图7。点击上面的参考----串式参考如图8,
  5,开始修改软件:打开16进制编辑器 UltraEdit.rar,(有点慢)图17。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。点确定,
  前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。图20。(如果正确注册信息在错误信息之下,这里改为eb)。将光标移到5上直接输入数字4即可,其他地方不要动。好了,改好只后左上角的文件---另存为unpacked222.exe
  6,关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。图21。回到软件界面看看,帮助,注册一项已经变为灰色了,图22
  7,破解全部完成
================================================================================================================
破解软件的类型 

   通常在网上供下载的破解软件有四种类型:第一种是软件的破解版,即下载的程序已被修改过,屏遮掉了注册功能:第二种是软件的破解补丁,即我们安装了原始 软件后还需要运行破解补丁对软件进行破解:第三种就是内存破解程序,也就是通过修改程序执行时在内存中的注册信息,让软件认为用户已经注册:第四种则是同 通过软件的注册机计算出注册码,再进行软件注册。

Cracker"的破解方法

  其实现在大多数“共享软件”的注册码,破解程序和补丁都可以在网上找到,大可不必自己费力气来破解软件。不过,你想知道."Cracker"面对这些软件如何做的吗?下面就详细说说。

  1. “TNT”法——暴力破解

  暴力破解最常见也最简单的破解方法。."Cracker"直接利用编辑工具<例如ULTRAEDIT-32>对可执行文件进行修改,也就是说通过修改可属性程序的源文件来达到破解目的。某些元件在验证用户注册信息和注册码时候,如果用户输入的信息与软件通过的算法生成的注册码相等,程序就会注册成功,否则就会注册失败。

  2. “翻箱倒柜”法——追查软件注册码

   从软件中找到注册码一般都是稍微有些功力的."Cracker"做的,软件在进行注册码认证的时候会有个比较的过程,就是水软件会通过我们输入的用户或 者根据我们的其他注册信息,生成一个正确的注册码与我们输入的注册码进行比较,如果2个相同,表示注册码正确并通过注册认证,否者就会提示出错。而对于采 用明码的软件来说<就是将计算机出的注册码直接放在内寸中>,."Cracker"就会利用调试器对内存程序进行分析,找出存储在内存里面的 正确注册码。

  3.破解之大成——编写软件注册机

   "Cracker"中的高手一般亲自写软件的注册机。这样做其一是由于某些加密程度较高的软件很难使用上述方法找到注册码,其二是."Cracker" 进行破解通常并不仅仅是为了一个注册码,而是要对其软件结构,加密算法进行系统的分析和了解。当然,要想真正的写出软件的注册机,破解者需要具备相当熟练 的代码分析能力和扎实的对软件开发功底,这也需要破解者进行刻艰苦的学习和长期的积累。

软件破解的目的是
:::有些需要注册的软件,可是找不到注册码,将其破解之后,输入任何注册码都会提示注册成功。
我要破解的软件:万事通.exe 
破解需要的软件:侦壳 language.exe          脱壳AspackDie.exe
             反编译 W32Dasm黄金中文版 16进制编辑器 UltraEdit.rar
在破解之前先复习一下基础知识:
一.破解的等级
初级,修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破
中级,追出软件的注册码
高级,写出注册机
二.用w32dasm破解的一般步骤:
1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册
2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误
提示信息,将错误提示信息记下来
3.侦测有无加壳(第一课).若加壳,脱壳(第二课)
4.pw32dasmgold反汇编
5.串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键
6.pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call
7.绿色光条停在关键跳转,在pw32dasmgold主窗口底部找到关键跳转
的偏移地址(实际修改地址)
8.用ultraedit找到偏移地址(实际修改地址)修改机器码,保存
壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompact
脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的
本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件
unaspack,caspr,upx,unpecompact,procdump
实际修改地址(偏移地址)和行地址(虚拟地址)
pw32dasmgold反汇编出来的代码由三列组成
第一列 行地址(虚拟地址)
第二列 机器码(最终修改时用ultraedit修改)
第三列 汇编指令
第一列 第二列      第三列
:0041BE38 2B45F0      sub eax, dword ptr [ebp-10]
:0041BE3B 6A42        push 00000042
:0041BE3D 50        push eax
:0041BE3E FF75F4      push [ebp-0C]
:0041BE41 FF75F0      push [ebp-10]
:0041BE44 FF35A8AB4400 push dword ptr [0044ABA8]
常见修改(机器码)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB
jnz->nop
75->90(相应的机器码修改)
jnz -> jmp
75 -> EB(相应的机器码修改)
jnz -> jz
75->74 (正常) 0F 85 -> 0F 84
两种不同情况的不同修改方法
1.修改为jmp
je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息
2.修改为nop
je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处
好了,下面开始我们的破解之旅。。。。。。。。。。
1,侦壳:先打开侦壳 language.exe,选择打开----找到要破解的"万事通.exe":点确。language.exe便显示出软件的壳又是:Aspack,
2,脱壳:双击脱壳AspackDie.exe,出现一个对话框,选择万事通.exe,打开。点确定脱壳完成。在万事通.exe:同目录下生成一个unpacked.exe文件,这就是脱壳后的万事通.exe
3,运行脱壳后的unpacked.exe,点帮助----注册,注册名称,注册码随便添。。点注册,提示:“注册码不符”,好了记住这5个字。关了它。
4,开始反汇编:打开 反编译 W32Dasm黄金中文版,选择反汇编----打开脱壳后的unpacked.exe,变开始加载。。返汇编之后。点击上面的参考----串式参考,出现这个对话框。找到
“注册码不符”,双击它,汇编主程序便来到这里:图1。(注意:正确注册信息在错误信息之下)关闭串式参考框。看主程序:。从注册码错误向上找到第一个跳 转(关键跳,除了jmp的其它跳:je,jne,jz,jnz),来到这里。(它上面的call叫关键call。),双击关键跳,看软件最下面有一行字的 后面:@Offset 000b6fe8H in File:unpacked.exe.其中@Offset 000b6fe8H就是偏移地址,记住000b6fe8(后面的h代表16进制,不用管他),
5,开始修改软件:打开16进制编辑器 UltraEdit.rar,。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xb6fe8(即偏移地址,不要前面的 000)。点确定,来到图2,说过正确注册信息在错误信息之下,所以这里将74改为eb。图2.3。。将光标移到74上直接输入数字eb即可,其他地方不 要动。好了,改好只后左上角的文件---另存为unpacked222.exe。
6,关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。。回到软件界面看看,帮助,注册一项已经没有了。
7,破解全部完成

搜索技巧

 打开Google的搜索页面后,在搜索栏内填上你要搜索的软件名称、空格,并在后面加上“94fbr”的搜索代码(例如:WinZIP 94fbr),单击“搜索”按钮后你会看到所要的东西了。但该方法也并不是万能的,当没有找到合适的结果,则不妨再试试输入“软件名称 crack OR sn OR 破解”,一般都能找到了。


                                                            

网友评论

登录后评论
0/500
评论
thinkyoung
+ 关注