破traceboy2.0 高手勿看! (9千字)
破traceboy2.0 高手勿看!ftp://ftp.eware.com.cn/pub/system/syssafe/traceboy20.zip
traceboy.exe 708KB
我吹:
运行本软件后,程序将驻留内存,时刻记录着键盘的一举一动,同时可以定时记
录,并控制软件运行时间、启动热键和存储文件路径以及保护软件运行等多项功
能,随时可以浏览记录,并可以通互联网过将记录文件发送给您。
电脑报2001年第3期上有介绍。
怎么我老跟电脑报过不去?
怎么跟PCGHOST一样?
作者俩是亲兄弟?
但它多一关联?
象木马病毒?
你病我毒!
我ZEST!
gogo!
go!
运行traceboy.exe后,在注册处填:
姓 名:zzzzzz
注册码:1234567890
RUN trw2k103
bpx hmemcpy
按确定后中断于hmemcpy
bd
pmodule
经过若干RET后到:cs:0048A6E4
:0048A6DF E81424FAFF call 0042CAF8 //取姓名
:0048A6E4 8B45F8 mov eax, dword ptr [ebp-08] //到这里
:0048A6E7 E87496F7FF call 00403D60
:0048A6EC 83F805 cmp eax, 00000005 //name number>5
:0048A6EF 0F8EEC030000 jle 0048AAE1 //jump bye!
:0048A6F5 8D55E0 lea edx, dword ptr [ebp-20]
:0048A6F8 8B87E0020000 mov eax, dword ptr [edi+000002E0]
:0048A6FE E8F523FAFF call 0042CAF8 //注册码不能空
:0048A703 837DE000 cmp dword ptr [ebp-20], 00000000
:0048A707 0F84D4030000 je 0048AAE1 //空 bye!
:0048A70D 33F6 xor esi, esi
:0048A70F 8D45E8 lea eax, dword ptr [ebp-18]
* Possible StringData Ref from Code Obj ->"MyNamesZEDLhYScbdQfuBHXtvpqriJACjkFUVTzwxPGngR"
->"WuKXR"
|
:0048A712 BA30AB4800 mov edx, 0048AB30
:0048A717 E85C94F7FF call 00403B78
:0048A71C 8D45F0 lea eax, dword ptr [ebp-10]
:0048A71F E8BC93F7FF call 00403AE0
:0048A724 8D45F4 lea eax, dword ptr [ebp-0C]
:0048A727 E8B493F7FF call 00403AE0
:0048A72C 8D55E4 lea edx, dword ptr [ebp-1C]
:0048A72F 8B87E0020000 mov eax, dword ptr [edi+000002E0]
:0048A735 E8BE23FAFF call 0042CAF8 //取注册码
:0048A73A 8B45E4 mov eax, dword ptr [ebp-1C] //1234567890
:0048A73D E81E96F7FF call 00403D60 //无聊的重复
:0048A742 8BD8 mov ebx, eax //code number=A
:0048A744 85DB test ebx, ebx
:0048A746 7E2B jle 0048A773
:0048A748 C745FC01000000 mov [ebp-04], 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048A771(C)
|
:0048A74F 8B45E4 mov eax, dword ptr [ebp-1C] *//
:0048A752 8B55FC mov edx, dword ptr [ebp-04] *//
:0048A755 0FB64410FF movzx eax, byte ptr [eax+edx-01] *//
:0048A75A 8D55DC lea edx, dword ptr [ebp-24] *//
:0048A75D E8C6DBF7FF call 00408328 *//
:0048A762 8B55DC mov edx, dword ptr [ebp-24] *//变换后数值放入EDX
:0048A765 8D45F4 lea eax, dword ptr [ebp-0C] *//
:0048A768 E8FB95F7FF call 00403D68 *//整理成串。
:0048A76D FF45FC inc [ebp-04] *//
:0048A770 4B dec ebx *//
:0048A771 75DC jne 0048A74F *//
注:*//处很重要,是变换填入的注册码的,你可进入各CALL看看。
变换过程是这样的:取注册码的一个数值,找出其ASCII码值(十六进制),
变换为十进制。如:
1的ASCII值为31,31的十进制为49
A的ASCII值为41,31的十进制为65
a的ASCII值为61,31的十进制为97
等等等等......
然后整理成串49505152535455565748。
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048A746(C)
|
:0048A773 686CAB4800 push 0048AB6C //f5
:0048A778 FF75F4 push [ebp-0C] //49505152535455565748
:0048A77B 6878AB4800 push 0048AB78 //k6
:0048A780 8D45F4 lea eax, dword ptr [ebp-0C]
:0048A783 BA03000000 mov edx, 00000003
:0048A788 E89396F7FF call 00403E20 //整理f549505152535455565748k6
:0048A78D 8B45F8 mov eax, dword ptr [ebp-08]//zzzzzz
:0048A790 E8CB95F7FF call 00403D60
:0048A795 85C0 test eax, eax
:0048A797 7E0F jle 0048A7A8
......
......
......
后面是zzzzzz变换的过程,好大的循环,有你看一阵子的。不写了,我累?我泪!
谁有空可写个注册机出来。还是别写了,支持一下国产软件吧!
......
......
......
:0048A9A9 686CAB4800 push 0048AB6C //f5
:0048A9AE FF75F0 push [ebp-10] //变换得78501145685539055114558850
:0048A9B1 6878AB4800 push 0048AB78 //k6
:0048A9B6 8D45F0 lea eax, dword ptr [ebp-10]
:0048A9B9 BA03000000 mov edx, 00000003
:0048A9BE E85D94F7FF call 00403E20 //整理f578501145685539055114558850k6
:0048A9C3 8B45F0 mov eax, dword ptr [ebp-10]//f578501145685539055114558850k6
:0048A9C6 8B55F4 mov edx, dword ptr [ebp-0C]//f549505152535455565748k6
:0048A9C9 E8A294F7FF call 00403E70 //对比CALL可进入看
:0048A9CE 0F8504010000 jne 0048AAD8 //jump bye!
:0048A9D4 8B87D0020000 mov eax, dword ptr [edi+000002D0]//后面的很多CALL变成
:0048A9DA B201 mov dl, 01 //三口肉!
:0048A9DC E82F20FAFF call 0042CA10 //注册成功!!
:0048A9E1 8B87D8020000 mov eax, dword ptr [edi+000002D8]
:0048A9E7 33D2 xor edx, edx
:0048A9E9 E82220FAFF call 0042CA10
:0048A9EE 8B87E0020000 mov eax, dword ptr [edi+000002E0]
:0048A9F4 33D2 xor edx, edx
:0048A9F6 E81520FAFF call 0042CA10
:0048A9FB 8B87E4020000 mov eax, dword ptr [edi+000002E4]
:0048AA01 33D2 xor edx, edx
:0048AA03 E80820FAFF call 0042CA10
:0048AA08 8B87E8020000 mov eax, dword ptr [edi+000002E8]
:0048AA0E 33D2 xor edx, edx
:0048AA10 E8FB1FFAFF call 0042CA10
:0048AA15 8B87D4020000 mov eax, dword ptr [edi+000002D4]
:0048AA1B 33D2 xor edx, edx
:0048AA1D E8EE1FFAFF call 0042CA10
:0048AA22 8B87DC020000 mov eax, dword ptr [edi+000002DC]
:0048AA28 33D2 xor edx, edx
:0048AA2A E8E11FFAFF call 0042CA10
:0048AA2F A150634900 mov eax, dword ptr [00496350]
:0048AA34 8B00 mov eax, dword ptr [eax]
:0048AA36 8B807C030000 mov eax, dword ptr [eax+0000037C]
:0048AA3C 33D2 xor edx, edx
:0048AA3E E8CD1FFAFF call 0042CA10
:0048AA43 A150634900 mov eax, dword ptr [00496350]
:0048AA48 8B00 mov eax, dword ptr [eax]
:0048AA4A 8B8078030000 mov eax, dword ptr [eax+00000378]
:0048AA50 B201 mov dl, 01
:0048AA52 E8B91FFAFF call 0042CA10
:0048AA57 B201 mov dl, 01
:0048AA59 A1BCEF4500 mov eax, dword ptr [0045EFBC]
:0048AA5E E85946FDFF call 0045F0BC
:0048AA63 8BD8 mov ebx, eax
:0048AA65 BA02000080 mov edx, 80000002
:0048AA6A 8BC3 mov eax, ebx
:0048AA6C E8EB46FDFF call 0045F15C
:0048AA71 33C9 xor ecx, ecx
* Possible StringData Ref from Code Obj ->"\software\stonari\xpghostd"
|
:0048AA73 BA84AB4800 mov edx, 0048AB84
:0048AA78 8BC3 mov eax, ebx
:0048AA7A E84547FDFF call 0045F1C4
:0048AA7F 8D4D90 lea ecx, dword ptr [ebp-70]
* Possible StringData Ref from Code Obj ->"38309"
|
:0048AA82 BAA8AB4800 mov edx, 0048ABA8
* Possible StringData Ref from Code Obj ->"yesreg"
|
:0048AA87 B8B8AB4800 mov eax, 0048ABB8
:0048AA8C E8B3FAFFFF call 0048A544 //组合变换
:0048AA91 8B4D90 mov ecx, dword ptr [ebp-70] //变换后得73DF7DC306528A
//注:此值每次都变
* Possible StringData Ref from Code Obj ->"zecixy"
|
:0048AA94 BAC8AB4800 mov edx, 0048ABC8
:0048AA99 8BC3 mov eax, ebx
:0048AA9B E8C04AFDFF call 0045F560 //该值写入注册表
:0048AAA0 8BC3 mov eax, ebx
......
......
**小节**
姓名与注册码分别计算变化后对比。
关键对比:
:0048A9C3 8B45F0 mov eax, dword ptr [ebp-10] //f578501145685539055114558850k6
:0048A9C6 8B55F4 mov edx, dword ptr [ebp-0C] //f549505152535455565748k6
:0048A9C9 E8A294F7FF call 00403E70
:0048A9CE 0F8504010000 jne 0048AAD8
call马上到jne(je)是DELPHI编写通病,不不不,
是关键!对比处一般在上两行,
你也可进入此CALL看看即知。
其实此程序根本不用找注册码,只要用TRW调试到
0048A9CE处使其不跳它就乖乖注册了。
注册在H_L_M\software\stonari\xpghostd中
zecixy键值为73DF7DC306528A
你的值可能与我的不一样。
由上分析:
一个注册码:
f5 78 50 114 56 85 53 90 55 114 55 88 50 k6
N 2 r 8 U 5 Z 7 r 7 X 2
所以:
姓 名:zzzzzz
注册码:N2r8U5Z7r7X2
/\zest/\
2001.1
