SuperCapture 3.04 破解历程---半小时
2002年1月10日破解
软件名称:SuperCapture 3.04
软件类型:抓图工具
限制类型:45天试用
现场听众:
1.首先装入Trw2000
2.运行SuperCapture 3.0x(??刚才不是说3.04吗?怎么现在又变成了3.0x?哦这个问题·····,3.02和3.04注册码能共用所以
我才这样说的。)
3.程序一开始就出现了“注册”和“试用”的选项,选择“注册”再点击输入注册码;注册的形式为 XXXX-XXXX-XXXX-XXXX(算一算是
19个字母16进制等于13h),这是因为跟踪过才知道的,等会再交待如何得知。
4.来到输入注册码的窗口,Ctrl-N激活Trw2000,然后输入Bpx GetDlgItemTextA 设置断点。
按F5返回SuperCapture3.0x的注册窗口
第一行是SuperCapture3.0x给出的用户码 用户码为:
ATKZ-KJMH-MHCH-QPCB
第二行是用户输入的注册码
随意输入: AAAA-BBBB-CCCC-DDDD
然后用你的Mouse点击“确认”
5.Bingo!断点有效!开工啦(虽然是在新年开工,但是没有利钱的,休想········)
指针中断在 User32!GetDlgItemTextA
0167:BFF51743 B1A1 MOV CL,A1
;此时EIP指针在这里
XXXX:XXXX1745 55 PUSH EBP
·
·<F10>单步运行,按N次
·
XXXX:XXXX1764 E8E76B0000 CALL KERNEL32!SUnMapLs_IP_EBP
XXXX:XXXX1769 C9 LEAVE
XXXX:XXXX176A C21000 RET 10
;返回调用子程序的上一级程序中
·
·<F10>单步运行,按N次
·
016F:00492AB3 FF154C264B00 CALL USER32!GetItemTextA
;返回来就指针在这里,也就是说:是这段代码调用
用子程序向用户要求输入注册码的
XXXX:XXXX2AB9 ???????????? JMP SHOTR 00492ACB
;返回后程序无条件跳至 cs:00492ACB
·
;?????????是我忘记抄下的机器码,在下实在是粗心
·<F10>单步运行,按N次
·
·
XXXX:XXXX2ACB 5D POP EBP
XXXX:XXXX2ACC 20 0C 00 RET
;再一次返回上一级的程序 0167:0041FA45 那里。
·
·<F10>单步运行,按N次
·
0167:0041FA45 E853300700 CALL 00492A90
;从上面子程序返回在这里。
XXXX:XXXXFA4A 85C0 TEST EAX,EAX
;这时大家看看寄存器EAX=? 13吧?这就是我说为什么
XXXX:XXXXFA4C 0F8486000000 JZ NEAR 0041FAD8
;要输入13(十六进制)=19(十进制)个字母的原因。
·
;这时我已输入了AAAA-BBBB-CCCC-DDDD加上减号共是
·
;19个字节即是13(十六进制),所以程序没有跳转。
·<F10>单步运行,按N次
·
XXXX:XXXXFA52 68CCEB4D00 PUSH DWORD 0041FAD8
XXXX:XXXXFA57 8D4C240C LEA ECX,[ESP+0C]
;大家记得D命令吗?不妨看看ESP+0C存放着什么东东啊
·
;不看不知道,一看吓一跳!看见了!
·
;刚才我输入假注册码:AAAA-BBBB-CCCC-DDDD
·
·<F10>单步运行,按N次
·
·
XXXX:XXXXFA5E 8D9348020000 LEA EDX,[EBX+0248]
;那这个有必要要看吗?当然要啦,这个还有人问?
·
;看见什么了?看见用户码:ATKZ-KJMH-MHCH-QPCB
·
·
·<F10>单步运行,按N次
·
·
0167:0041FA67 E8F4ECFFFF CALL 0041E760
;这是多番跟踪得出的——这是核心!即算出正确注册
·
;的主程序,有性趣的朋友不妨追踪到里面研究研究啊
·
;在这我就不得出来了,让有性趣的朋友算算(其实是
·
;我不会算,反正知道是算注册码的主程序)。
·
;现场听众起哄了····开始有人扔臭鸡蛋了···
·
别再打我了,说就说吧。
在0167:0041FA67 E8F4ECFFFF CALL 0041E760
;这里同上面的一样按<F10>带过。
·
;然后把你的机器代码段窗口拉宽几行,上下看看。
·
;大家看见什么了?(听众,怒视望我)
·
;好了,上面存着如下字节串
·
;字节串一:ATKZKJMHMHCHQPCB
·
;字节串二:AAAABBBBCCCCDDDD
·
;字节串三:NLEKSCUEOHTPRXHL
·
;字节串四:AAAA-BBBB-CCCC-DDDD
·
;
·
;以上的字节串是用<F8>跟踪,
·
;进入 “CALL 0041E760 ”再用D命令查看ESP寄存器所得
听众们,猜注册码是什么?
听众甲曰:是ATKZKJMHMHCHQPCB
听众乙曰:是AAAABBBBCCCCDDDD
听众丙曰:是NLEKSCUEOHTPRXHL
听众丁曰:是AAAA-BBBB-CCCC-DDDD
全错!来人给我打!
整理:
破解历时30分钟
设过两个断点:
其一 Bpx GetWindowTextA
其二 Bpx GetDlgItemTextA
随便输入:AAAA-BBBB-CCCC-DDDD = AAAABBBBCCCCDDDD
取用户码:ATKZKJMHMHCHQPCB = ATKZ-KJMH-MHCH-QPCB
正确密码:NLEKSCUEOHTPRXHL = NLEK-SCUE-OHTP-RXHL
- 标 题:SuperCapture 3.04 破解历程---半小时 (5千字)
- 作 者:Banhouse
- 时 间:2002-2-14 19:49:56
- 链 接:http://bbs.pediy.com