我的破解之路——BBOY
1.Win2000破解过程(第一次成功地破解) 2000-7-15
首先用Trw2000下断点bpx getdlgitemtexta
一共会有五次,因为有五个输入框
执行完五次getdlgitemtexta后,会有一个call,跟踪进去
----------------------------------------------------
......
......
0187:0140EC66 TEST EAX,EAX
0187:0140EC68 JZ 0140EC84 ------错误的地址(使用r
eip改正地址)
----------------------------------------------------
0187:0140EC6A MOV EAX,[01428064]
0187:0140EC6F CMP EAX,EDI
0187:0140EC71 JZ 0140EC8D ------正确的地址
0187:0140EC73 MOV ECX,[0142BA18]
0187:0140EC79 CMP ECX,[EBP+18]
0187:0140EC7C JZ 0140EC8D ------正确的地址(使用r
eip改正地址)
----------------------------------------------------
执行此段的话就会跳转到错误的地址
0187:0140EC7E MOV [0142B934],EBX
0187:0140EC84 XOR EAX,EAX
0187:0140EC86 POP EDI
0187:0140EC87 POP ESI
0187:0140EC88 POP EBX
0187:0140EC89 LEAVE
0187:0140EC8A RET 14
-----------------------------------------------------
0187:0140EC8D ...... 正确的地址
后记:
Win2000的加密很有意思,它的注册码计算在一个子程序中。如果不正确,子程序就正常的退出;如果正确就跳转到正确的代码区执行程序。
2.Hex Workshop2.10破解过程 2000-7-17
首先输入注册码 87654321
用Trw2000下断点bpx getwindowtexta
中断后用指令pmodule返回
-----------------------------------------------------
0187:00441F5E CALL `USER32!GetWindowTextA`
0187:00441F64 PUSH BYTE -01
0187:00441F66 MOV ECX,EDI
0187:00441F68 CALL 00434F8B 获得注册码长度
0187:00441F6D JMP SHORT 00441F7B
不断地按F8(很长的一段时间)
-----------------------------------------------------
0187:00416367 MOV [EBP-10],EAX
0187:0041636A CMP DWORD [EBP-10],BYTE +00
跳向错误的地址:
0187:0041636E JZ NEAR 004163ED 使用r
eip改正
-----------------------------------------------------
0187:00416374 MOV ECX,[EBP+FFFFFF2C]
0187:0041637A ADD ECX,BYTE +5C
0187:0041637D CALL 00404760
0187:00416382 PUSH EAX
0187:00416383 MOV EAX,[EBP+FFFFFF2C]
0187:00416389 MOV EAX,[EAX+68]
0187:0041638C ADD EAX,BYTE +02
0187:0041638F PUSH EAX
0187:00416390 CALL 00428888
0187:00416395 ADD ESP,BYTE +08
--------------------------------------------------------
后记:
这个软件很奇怪,执行时总是跳来跳去,估计是经过加密了的。在注册后,程序所在的文件夹中生成一个HEXWORKS.REG的文件。
3.打字高手2.01破解过程 2000-7-19
首先输入注册码 87654321
用Trw2000下断点bpx hmemcpy (getwindowtexta和getdlgitemtexta无效)
中断后用指令pmodule返回
s 0030:0,ffffffff '87654321'
得到输入的注册码地址 xxxxxxxx
bpm xxxxxxxx rw
g
程序中断在:
--------------------------------------------------------
0187:00403FFD ADD EDX,EAX
0187:00403FFF PUSH EDX
0187:00404000 SHR EDX,02
0187:00404003 JZ 0040402B
--------------------------------------------------------
前四个字节比较:
0187:00404005 MOV ECX,[ESI]
0187:00404007 MOV EBX,[EDI]
0187:00404009 CMP ECX,EBX
0187:0040400B JNZ 00404065 错误的地址
--------------------------------------------------------
后四个字节比较:
0187:0040400D DEC EDX
0187:0040400E JZ 00404025
0187:00404010 MOV ECX,[ESI+04]
0187:00404013 MOV EBX,[EDI+04]
0187:00404016 CMP ECX,EBX
0187:00404018 JNZ 00404065 错误的地址
---------------------------------------------------------
只要d edi就可以看都注册码79826002了(由此可见直接比较注册码的方式十分的不可靠)
后记:这个软件是垃圾,第一次使用后我就把它给删除了
- 标 题:我的破解之路-BBOY (3千字)
- 作 者:guest(bboycool@263.net)
- 时 间:2000-7-21 1:22:31
- 链 接:http://bbs.pediy.com