最近还是看到很多新朋友在问。
1、“新手怎么学破解啊?”(这是标准的伸手党,baidu google其实很好用)
2、“哎呀XX大牛,我什么基础都没有啊我不会汇编,不会C更不会C++还不会…………总之高手会的我都不会,我能学么?”(明确的告诉你,你能!你不和唐僧一样罗嗦的话你一定能。)
3、某白发帖问曰:“XX大牛,这软件你能帮我看看吗?我尝试了N天还是没有搞定,这是软件地www.XXX.com/XXX/XXX.rar 搞定了发到我邮箱里吧,我邮箱是XXXXX@XX.COM。”
结果嘛,我想大家猜的到。不过这牛人次日在投诉区发帖曰:‘这是什么XX斑竹啊,我只是想问问这个软破解的思路。干嘛随便删我帖子还给我扣分!这是什么XX论坛,什么XX斑竹。‘
其实嘛,所有的技术都是从基础开始的,不要去妄想那空中的楼阁,也不要想速成。
在这明确的告诉大家,其实大牛们最讨厌的就是问这些本不该问的问题的人。
因为这些人根本就没有认清现实,没有看到成功背后的一些东西。他们只看到了10%+40%,认为自己也可以凭借这些做到。
偷偷暴下料。其实在去年的时候,小生同鞋,逆流师傅等现在的大牛还都是些小菜哦,现在呢? 嘿嘿~~
好了,上面叽咕了这么多。也算是考验下大家的耐心吧。嘿嘿。
其实学习的首要条件是兴趣!!兴趣越大你的投入就更多。
我相信下面这个教程足够调起你的兴趣了,看完后你会发现,原来破解其实并没有那么难。
一、 准备好常用破解工具,
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会陆续弹出几个出错的对话框(说明软件有调用函数,既是初学,这里暂不去深究),可以直接点“否”,打开软件输入对应确认码和真码即可注册成功。
(3)注册机制作:这里就不赘述了,看看新手问题1你一定能得到答案。
还有在这里强调下,你真是0蛋的话就必须从简单的、好欺负的软件入手(初学者千万别找年轻的、经常更新的或高版本的软件),否则,你只会以失败而告终。
看完这个教程你如果有兴趣了的话那么你可以去下载小生工具包,在里面有个小生做的记事本,里面有记录天草和黑鹰的新手教程。都是简单易懂的。
学习了基础后你就可以开始你的破解之路了。觉得自己能搞定一般软件了的话,还可以跟随52的练习一起来学习。多挖挖以前的尸贴。
说句心里话,羔羊现在从商了,没时间认真学习。真是好后悔当初没有好好学习。弄的现在一个标准的半吊子,呵呵。52是个有爱心,有上进心,有关心,有热心的大家庭。
在这里你付出的多,得到的就能更多!!!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课