好友
阅读权限10
听众
最后登录1970-1-1
|
本人刚刚接触破解2星期,起初是无意来到吾爱破解网站,突然对破解有了兴趣,就花了8 RMB买了邀请码注册了(现在看
来值了)。每天就在网上看教程和动画,渐渐对破解有了一些入门知识。这个程序是我第一次来到吾爱破解网时下来玩的
,当时一窍不通,当然搞不定了,现在我把破这个小程序的过程发出来,分享一下心中的激动吧。(菜鸟发帖,高手飘过
哦!)
具体过程如下:
一、打开程序,要求输入注册名和注册码,随便输入一个,点CHECK按钮,出现错误提示:“序列号错误,再来一次!”
。(心想简单,OD载入找下字符串不就行了。)
二、OD载入,查找字符串,傻眼了,居然没有!看来这招不行了。但是想到有输入框,能不能在GetDlgItem函数上下下文
章呢。
三、F9运行,输入假码,先不点CHECK,在反汇编窗口右键———查找——当前模块中的名称,找到GetDlgItem函数,右
键——在每个参考上设置断点。
四、点check,后程序被断下来:
004011A3 . 8B3D A0404000 mov edi,dword ptr ds:[<&USER32.GetDlgIte>; USER32.GetDlgItemTextA
004011A9 . 53 push ebx
004011AA . 8D4424 4C lea eax,dword ptr ss:[esp+4C]
004011AE . 6A 51 push 51 ; /Count = 51 (81.)
004011B0 . 50 push eax ; |Buffer
004011B1 . 6A 6E push 6E ; |ControlID = 6E (110.)
004011B3 . 56 push esi ; |hWnd
004011B4 . FFD7 call edi ; \GetDlgItemTextA
004011B6 . 8D8C24 9C0000>lea ecx,dword ptr ss:[esp+9C] ; 将注册码的值送到ESP+9C处
五、F8一步一步跟下去,到这
004011F0 . 83C4 0C add esp,0C
004011F3 . 85C0 test eax,eax
004011F5 74 37 je short TraceMe.0040122E
这个跳的有点远,可能不能跳,先跟下试试。果然跳下去就弹出对话框,说序列号错误。
重来一遍,回到这,发现又不跳了,奇怪,不跳就不跳,跟下去,又出现对话框,序列号错误,怎么回事?跳也错,不跳
也错?看来关键不在这,
六、再来一遍,没跳,跟下来,突然发现这样一句话:
004011D7 . 8D5424 4C lea edx,dword ptr ss:[esp+4C]
把ESP+4C的值算出来,到数据窗口一跟,居然发现那存的就是错误提示字符串,下面一行就是成功提示字符串,如下:
0012F990 B2CFA7B9 恭喜
0012F994 A1A3E3C4 你!
0012F998 A6B9C9B3 成功
0012F99C 0000A1A3 !..
0012F9A0 E4CAE3C4 你输
0012F9A4 D6D7EBC8 入字
0012F9A8 AAD2FBB7 符要
0012F9AC DAD3F3B4 大于
0012F9B0 F6B8C4CB 四个
0012F9B4 0000A1A3 !..
0012F9B8 D0C1F2D0 序列
0012F9BC EDB4C5BA 号错
0012F9C0 ACA3F3CE 误,
0012F9C4 B4C0D9D4 再来
0012F9C8 CEB4BBD2 一次
0012F9CC 0000A1A3 !..
七,行了,找ESP+c=0012f990,发现下面的代码中有这样一段:
004011F3 . 85C0 test eax,eax
004011F5 74 37 je short TraceMe.0040122E
004011F7 . 8D4C24 0C lea ecx,dword ptr ss:[esp+C]
看来LEA上面的je就是关键了,直接NOP或者JNE,保存程序。运行后随意输入注册名和注册码,都能出现成功提示了!
具体注册码的算法我没仔细看,再研究下吧。 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|