菜鸟破解帖,高手飘过
本人刚刚接触破解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:
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处
五、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的值算出来,到数据窗口一跟,居然发现那存的就是错误提示字符串,下面一行就是成功提示字符串,如下:
0012F990B2CFA7B9恭喜
0012F994A1A3E3C4你!
0012F998A6B9C9B3成功
0012F99C0000A1A3!..
0012F9A0E4CAE3C4你输
0012F9A4D6D7EBC8入字
0012F9A8AAD2FBB7符要
0012F9ACDAD3F3B4大于
0012F9B0F6B8C4CB四个
0012F9B40000A1A3!..
0012F9B8D0C1F2D0序列
0012F9BCEDB4C5BA号错
0012F9C0ACA3F3CE误,
0012F9C4B4C0D9D4再来
0012F9C8CEB4BBD2一次
0012F9CC0000A1A3!..
七,行了,找ESP+c=0012f990,发现下面的代码中有这样一段:
004011F3 .85C0 test eax,eax
004011F5 74 37 je short TraceMe.0040122E
004011F7 .8D4C24 0C lea ecx,dword ptr ss:
看来LEA上面的je就是关键了,直接NOP或者JNE,保存程序。运行后随意输入注册名和注册码,都能出现成功提示了!
具体注册码的算法我没仔细看,再研究下吧。 晤,
咱也是最近才回到这个论坛,
在进攻VB! :)鼓励下,还需要继续努力! 能得到管理员的鼓励确实不错! 厉害啊,刚两个星期就这么强了,学习 能得到hmily的奖励很不错。 :lol多学点方法 再融合一下 :lol多学点方法 再融合一下 呃2楼的ID好早撒 学习了楼主,顶~