菜鸟破解入门,手脱、爆破、追码、注册机制作
自己刚来,平时没什么闲暇时光,趁本日闲余,给相对菜鸟的始教者领个破文吧……。
当初启初入入正题。
一、筹备赖罕用破解工具,
1、查壳工具:PEiD0.95
2、脱壳调试:Ollydbg v1.10(俗称OD)
3、注册机编写:keymake
二、壳的概思:对于壳的介绍文章良多,许多初学者还不晓得壳是什么
www.wlkt.info,这么你就暂且这样艰深的去懂得:壳就是软件的维护壳。
三、脱壳:瞅名念义,尔就未几说了。
四、调试:用OD调试程序的过程,寻找关键(算法)CALL,修改有关汇编语言到达软件注册或破解的目的。
五、不懂汇编语言和算法怎么办?不要紧,首先你必需从简单的、佳欺侮的软件入手,初学者绝质别找年青的、常常更新的或高版标的软件。
六、如果你是第一次学破解,有不多软件可参考如下操作:
1、首先注册软件,查看软件弹出的有关注册失败的信息框的内容。
2、查壳:有壳脱壳,无壳直接用OD载入。
3、手动脱壳基础方式(ASPack壳为例):从OD载入软件程序后弹出是否剖析对话框,点“否”,停在程序壳的入口(露有pushad等相似字符)。接下来我们的目标是要寻找第一个popad 。
(1)首先按F8,接下来如果近处是CALL,此时的CALL或是离这里很近的CALL必须按F7,否则你就掉入陷井,后面逢到CALL一旦掉入也没关系,你先记下来,从新载入程序(按CTRL+F2),再碰到这个CALL时就用F7进入。
(2)涌现往回跳转时,即白色线显示跳转实现,必须在下一行点左�,然后按F4步过,灰色为跳转未实现,可不理它照样F8。
(3)其他全体F8,一路下往一定能找到第一个popad,找到后离此不远必定有一个大的跳转,一旦跳转来到有pushebp等字样,阐明壳己走完到本程序(OEP),在此用OD拔件→ollyDump→Dump debu…→Dump脱壳→保存。
4、破解:OD载入程序、点文件→翻开→点击要破解的软件程序(无壳或己脱壳的)。
5、鼠标置反汇编窗口点右�,弹出框选项当选择ultra string reference(过激的字符串参考)中的Find ASCII。
6、在弹出的窗口内查找第一步骤的注册信息内容或有关注册成过跟注册失败的字符。如果找不到,倡议你废弃或用其余办法破解,或另选其他软件,最恶是年事大些的(普通在2005年及以前的),在此,特殊推举你用这里的软件来练手http://www.fuzi.cn,经由测试,皆能成功。
7、找到有关字符后,单击它,回到OD主窗心,在反汇编窗口(左上)中可以望到有关字符,而后就在字符高低邻近觅找要害跳转(便跳向注册失败或注册胜利处),在当跳转近处个别有一个就是症结CALL。
8、假如用爆破,就修正关键跳转(jnz改为jz,jz改为jnz等)。
9、如果是追注册码就在关键CALL这行下断点(按F2或双击鼠标),然后按F9运行后,会弹出软件注册对话框,随便输入注册信息后断定,这时注意察看右上的存放器窗口会显示出你输入的假码和软件的实码,真码可以注册,而这个CALL可以用来干注册机。
下面,用一个简略的软件演示一下实例:
【文章作者】: yffgs
【息者邮箱】: 1001@ljhtty.cn
【软件名称】: 古代汉语词典
【下载地址】: http://www.fuzi.cn/showdown.asp?soft_id=64
【注册方法】: 确认码+注册码
【应用农具】: PeiD、Ollydbg、keymake
【操作平台】: XP
【作者申明】: 只是喜好,不其他纲的。失误之处敬请赐学!
1、查壳为ASPack 2.12 -> Alexey Solodovnikov
2、下面开始脱壳,首先用OD载入软件,分析项点“否”来到下面代码后,按下面方法操作:
a.代码后面有括号注解的按正文操作;
b.代码后面没有解释的齐部按F8单步走;
0059F001 >60pushad
0059F002E8 03000000 call0059F00A (按F7进入,果为这里的CALL离入口很近)
0059F007- E9 EB045D45 jmp 45B6F4F7
0059F00C55pushebp 0059F00DC3retn
0059F00EE8 01000000 call0059F014 (按F7进入,由于这里的CALL离入口也很近,)
旁边省略… …一路F8
0059F140^\EB EB jmp short 0059F12D (这里显示去回跳已真现,因而不能按F8,用鼠标左键点下一走后,按F4步过)
0059F1428B06mov eax, dword ptr [esi]
0059F144EB 00 jmp short 0059F146
0059F146803E 1D cmp byte ptr [esi], 1D
0059F149^ 75 F3 jnz short 0059F13E (这面显示返归跳未名现,用鼠标左键点下一言后,按F4步功)
0059F14B24 00 and al, 0
0059F14DC1C0 18 rol eax, 18
0059F1502BC3sub eax, ebx
0059F1528906mov dword ptr [esi], eax
0059F15483C3 05 add ebx, 5
0059F15783C6 04 add esi
www.qdkt.info, 4
0059F15A83E9 05 sub ecx, 5
0059F15D^ EB CE jmp short 0059F12D (这里显示往回跳已实现,用鼠标左键点下一行后
www.alsdwx.info,按F4步过)
0059F15F5Bpop ebx
两头费详… …一路F8
0059F1A3^\0F85 1EFFFFFF jnz 0059F0C7 (这里显示往回跳已实现,用鼠标左键点下一行后,按F4步过)
0059F1A968 00800000 push8000
中间省略… …一路F8
0059F37F^\E9 32FFFFFF jmp 0059F2B6 (这里显示往回跳已实现,用鼠标左键点下一行后,按F4步过)
0059F3848906mov dword ptr [esi], eax
0059F3868946 0C mov dword ptr [esi+C], eax
0059F3898946 10 mov dword ptr [esi+10], eax
0059F38C83C6 14 add esi, 14
0059F38F8B95 22040000 mov edx, dword ptr [ebp+422]
0059F395^ E9 EBFEFFFF jmp 0059F285 (这里显示往回跳已实现,用鼠标左键点下一行后,按F4步过)
0059F39AB8 EC0B1200 mov eax
ww.xinfeiwx.info, 120BEC
0059F39F50pusheax
0059F3A00385 22040000 add eax, dword ptr [ebp+422]
0059F3A659pop ecx
0059F3A70BC9orecx, ecx
0059F3A98985 A8030000 mov dword ptr [ebp+3A8], eax
0059F3AF61popad (注意:这里呈现popad,估量离OEP不遥了,持续F8)
0059F3B075 08 jnz short 0059F3BA
0059F3B2B8 01000000 mov eax, 1
0059F3B7C2 0C00 retn0C
0059F3BA68 00000000 push0
0059F3BFC3retn (这里返回到OEP入口处)
从上点程序返回直接跳到下面,这就是典范的OEP进口了。
00520BEC55pushebp (停在这里,OEP入口)
… …
3、在反汇编窗口点鼠标右键,选Dump debugged process在弹出对话框中点Dump后命名文件、保留
www.ydzkt.info,天生的文件即是已经脱壳的程序文件了。
交下去能够开端破结了:
1、查瞅注册信息:运行软件-免意输入注册信息注册-显示:“注册失败,请沉试,重试失败请直接取作者联”的字样。2、用OD载入人脱壳的程序言件,程序停在OEP入口(留神看,这里彼不是壳的进口了)。
3、鼠标置反汇编窗口中点右�,在弹出对话框中按挑选Ultra String reference左键点Find ASCII在弹出窗口中寻找“注册失败,请重试,重试失败请直接与作者联”的字样。
4、双击“注册失败,请重试,重试失败请直接与作者联”后,来到OD反汇编口:
0051F011|.E8 CA5BEEFF call00404BE0
0051F016|.0F85 C0000000 jnz 0051F0DC
0051F01C|.A1 403A5200 mov eax, dword ptr [523A40]
0051F021|.8B00mov eax, dword ptr [eax]
0051F023|.8B80 64030000 mov eax, dword ptr [eax+364]
中间省略…
0051F0D3|.8BC3mov eax, ebx
0051F0D5|.E8 EE3EF4FF call00462FC8
0051F0DA|.EB 24 jmp short 0051F100
0051F0DC|>B8 04F25100 mov eax, 0051F204;注册失败,请重试,重试失败请直接与作者接洽
我们顺着红线向上找关键跳转及关键CALL,可以看到注册失败由上方0051F016跳转而来。必是关键跳转了,它上面的CALL正常都是关键CALL(因为是初学我们暂不进入分析了)。
我在此先容三种简单的破解方式,详细看以下内容操作。
(1)爆破:在关键跳转处的jnz改为jz或点左�→二进造→用nop填充。
(2)追注册码:在关键CALL处下断点,然后F9运行。
(3)注册机:应用上面的操作及参考寄存器窗口内容,用keymake(注册机编写器)制作。
(1)爆破:在0051F016这即将jnz改替jz或Nop填充
5、关键跳转建改后,点右�→复制到可履行文件→所有修改→(弹出对话框)点全部复制。
6、在新弹出窗口点右�,选择保存文件即可,至此爆破实现,运行软件随意输入即可注册成功。
(2)追注册码:
1、咱们在关键CALL(0051F011)处下断点后,按F9运行程序弹没软件,抉择注册项并任意输入注册信息,点确认注册,此时被OD断在0051F011处。
2、查看寄存器窗口,这里显示软件的虚实码。在输入的假码下面EDX处显示的等于真码(注意:这里的真码与输入确实认码对应)。另须解释:该点确认注册后,OD会陆断弹出多少个犯错的对话框(说亮软件有调用函数,既是初学,这里久不去深究),可以直接点“否”,击开软件输入对应确认码和真码即可注册成功。
(3)注册机制造:
打开keymake软件,选择注册机-打开,在其他选项落选择内存注册机,在程序名称输入对应软件名称,在中止地址列表中顺次填入:被中断地址的后三个字节51f011;中断次数1… …略睹附件中破解参考图中的19.jpg,点生成、肯定、将注册机保存在软件的统一个文件夹内,功败垂成。(注意:制作的注册机报病毒,是畸形的,在意的话你就别作)
(4)点方才保存的注册机弹出软件窗口,在注册栏随意输入,弹出注册码,取舍注册码的一半即可注册成功。
相关的主题文章:
上网只替等你 企业名称注册 刷QB 破结