我是一个菜鸟,最近试着破解一个软件就出现问题。???却不知为何第一次可以注册,最后打开出现系统被破坏,停止使用的提示,不管是重启还是运行原程序都不行了。下面是过程:
破解对象:五笔泡泡1.0
2.运行此软件,试着输入任意注册码去注册,出现错误
提示信息"注册码错误,请注意字母大小写,建议直接拷贝输入",将错误提示信息记下来;
3.用DiE 0.63 汉化版侦测wbPopo.exe,发现没有加壳;
4.OllyICE中文版反汇编;
5.使用插件Find ASCII找到错误提示信息或可能是注册正确的提示信息
"注册成功,谢谢您对我们的支持。"怀疑可能是正确的提示信息
在该处双击鼠标左键,回到CPU主窗口,发现只有一处调用,在主窗口发现下面的(######所标的地方)
6.分析
004BD27C |. 58 pop eax
004BD27D |. E8 F27BF4FF call 00404E74 (关键call)
004BD282 75 6A jnz short 004BD2EE ******跳向错误处(关键跳转)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
004BD284 |. 8D55 E4 lea edx, dword ptr [ebp-1C]
004BD287 |. 8B83 2C030000 mov eax, dword ptr [ebx+32C]
004BD28D |. E8 C6D6F8FF call 0044A958
004BD292 |. 8B45 E4 mov eax, dword ptr [ebp-1C]
004BD295 |. E8 E6F4FFFF call 004BC780
004BD29A |. B2 01 mov dl, 1
004BD29C |. 8B83 2C030000 mov eax, dword ptr [ebx+32C]
004BD2A2 |. E8 155DF8FF call 00442FBC
004BD2A7 |. 8B83 30030000 mov eax, dword ptr [ebx+330]
004BD2AD |. 8B40 68 mov eax, dword ptr [eax+68]
004BD2B0 |. BA 0000FF00 mov edx, 0FF0000
004BD2B5 |. E8 2AA3F6FF call 004275E4
004BD2BA |. BA D8D34B00 mov edx, 004BD3D8 ; 已注册******注册成功的提示
004BD2BF |. 8B83 30030000 mov eax, dword ptr [ebx+330]
004BD2C5 |. E8 BED6F8FF call 0044A988
004BD2CA |. 6A 40 push 40
004BD2CC |. B9 88D34B00 mov ecx, 004BD388 ; 五笔泡泡
004BD2D1 |. BA E0D34B00 mov edx, 004BD3E0 ; 注册成功,谢谢您对我们的支持。########
004BD2D6 |. A1 505D4C00 mov eax, dword ptr [4C5D50]
004BD2DB |. 8B00 mov eax, dword ptr [eax]
004BD2DD |. E8 56D4FAFF call 0046A738
004BD2E2 |. C783 3C030000>mov dword ptr [ebx+33C], 1
004BD2EC |. EB 4F jmp short 004BD33D
004BD2EE |> 6A 40 push 40
^^^^^^^^^
004BD2F0 |. B9 88D34B00 mov ecx, 004BD388 ; 五笔泡泡
004BD2F5 |. BA 00D44B00 mov edx, 004BD400 ; 注册码错误,请注意字母大小写,建议直接拷贝输入。
\n\n提示:如果您确认已申请了注册码,且多次尝试
均不能成功注册请及时与我们联系。******注册失败的提示
004BD2FA |. A1 505D4C00 mov eax, dword ptr [4C5D50]
004BD2FF |. 8B00 mov eax, dword ptr [eax]
######所标的地方向上寻找第一个跳转,找到
004BD282 75 6A jnz short 004BD2EE
程序之所以没有来到注册成功的地方主要就是因为这个跳转,
跳到了错误的地方(^^^^^^所标的地方)
4BD282处的跳转称为关键跳转,它上面的call为关键call
7.淡蓝色光条停在关键跳转,即
004BD282 75 6A jnz short 004BD2EE
鼠标左键双击,弹出“汇编于此处:004BD282”对话框
将jnz short 004BD2EE 改成jz short 004BD2EE,点“汇编”,这时的关键跳转
变为004BD282 /74 6A je short 004BD2EE,并且红色高亮显示。
8.接下来复制到可执行文件进行所有修改,最后保存。
注意:为了担心改的不对,需保留原来的文件,故另存为wbPopo1.exe
[修改原理]
输入的注册码不对时跳到出错的地方,正确时来到对的地方
修改后 输入的注册码不对时来到对的地方,正确时跳到出错的地方
9.运行wbPopo1.exe,任意输入注册码注册能成功,破解完成;但重打开软件后?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课