键盘记录器 7.1 简单分析
软件大小:142KB软件类别:国产软件/系统监视
下载次数: 软件授权:共享版
软件语言:简体中文
运行环境:Win9x/Me/NT/2000/XP/2003
更新时间:2007-9-3 16:53:56
联 系 人:pass_killer163.com
华军下载:http://nmas.onlinedown.net/soft/50911.htm
下载测试了一下 杀软果然不杀, 但我QQ的密码也没被他记录下来呀 /:017莫非放到其他地方了? 还好我的防火墙没有任何提示~~
monitor.exe 这个就是验证是否注册的程序 OD附加 找到如下记录点:
00402E96 6A FF push -1
00402E98 68 D0824200 push 004282D0
00402E9D 50 push eax
00402E9E 64:8925 0000000>mov dword ptr fs:, esp
00402EA5 83EC 08 sub esp, 8
00402EA8 55 push ebp
00402EA9 56 push esi
00402EAA 57 push edi
00402EAB 8BE9 mov ebp, ecx
00402EAD E8 1E110000 call 00403FD0
00402EB2 8BF8 mov edi, eax
00402EB4 85FF test edi, edi
00402EB6 0F84 DC000000 je 00402F98
00402EBC E8 9F0B0000 call 00403A60
00402EC1 8BF0 mov esi, eax
00402EC3 85F6 test esi, esi
00402EC5 0F84 CD000000 je 00402F98
00402ECB A1 90454300 mov eax, dword ptr
00402ED0 894424 10 mov dword ptr , eax
00402ED4 C74424 1C 00000>mov dword ptr , 0
00402EDC 894424 0C mov dword ptr , eax
00402EE0 8D4424 10 lea eax, dword ptr
00402EE4 8D8D 98000000 lea ecx, dword ptr
00402EEA 50 push eax
00402EEB C64424 20 01 mov byte ptr , 1
00402EF0 E8 68AD0100 call 0041DC5D
00402EF5 8D4C24 0C lea ecx, dword ptr
00402EF9 51 push ecx
00402EFA 8D4D 5C lea ecx, dword ptr
00402EFD E8 5BAD0100 call 0041DC5D ; 在这里
00402F02 8B4424 10 mov eax, dword ptr
00402F06 8B16 mov edx, dword ptr
00402F08 50 push eax
00402F09 56 push esi
00402F0A FF52 10 call dword ptr
00402F0D 8B5424 0C mov edx, dword ptr
00402F11 8B0E mov ecx, dword ptr
00402F13 52 push edx
00402F14 56 push esi
00402F15 FF51 14 call dword ptr
00402F18 8B06 mov eax, dword ptr
00402F1A 56 push esi
00402F1B FF50 18 call dword ptr // 跟进该CALL
00402F1E 84C0 test al, al ; 标志位比较
00402F20 6A 00 push 0
00402F22 75 13 jnz short 00402F37 ; 不跳则挂
00402F24 68 98384300 push 00433898 ; ASCII "Warning"
00402F29 68 84384300 push 00433884
00402F2E 8BCD mov ecx, ebp
00402F30 E8 DEB80100 call 0041E813
00402F35 EB 3C jmp short 00402F73
00402F37 68 78384300 push 00433878 ; ASCII "Infomation"
00402F3C 68 6C384300 push 0043386C
00402F41 8BCD mov ecx, ebp
00402F43 E8 CBB80100 call 0041E813
00402F48 8B0F mov ecx, dword ptr
00402F4A 68 5C384300 push 0043385C ; ASCII "keyboardlog.ini"
00402F4F 57 push edi
00402F50 FF51 10 call dword ptr
00402F53 8B4424 10 mov eax, dword ptr
00402F57 8B17 mov edx, dword ptr
00402F59 50 push eax
00402F5A 68 50384300 push 00433850 ; ASCII "UserName"
00402F5F 57 push edi
00402F60 FF52 1C call dword ptr
00402F63 8B5424 0C mov edx, dword ptr
00402F67 8B0F mov ecx, dword ptr
00402F69 52 push edx
00402F6A 68 44384300 push 00433844 ; ASCII "UserCode"
00402F6F 57 push edi
00402F70 FF51 1C call dword ptr
00402F73 8B07 mov eax, dword ptr
00402F75 57 push edi
00402F76 FF50 04 call dword ptr
00402F79 8D4C24 0C lea ecx, dword ptr
00402F7D C64424 1C 00 mov byte ptr , 0
00402F82 E8 00D40100 call 00420387
00402F87 8D4C24 10 lea ecx, dword ptr
00402F8B C74424 1C FFFFF>mov dword ptr , -1
00402F93 E8 EFD30100 call 00420387
00402F98 8BCD mov ecx, ebp
00402F9A E8 DE9C0100 call 0041CC7D
00402F9F 8B4C24 14 mov ecx, dword ptr
00402FA3 5F pop edi
00402FA4 5E pop esi
00402FA5 5D pop ebp
00402FA6 64:890D 0000000>mov dword ptr fs:, ecx
00402FAD 83C4 14 add esp, 14
00402FB0 C3 retn
跟进关键CALL 00402F1B:
00403B60 E8 CB000000 call 00403C30
00403B65 8BF0 mov esi, eax
00403B67 85F6 test esi, esi ; monitor.00438448
00403B69 75 09 jnz short 00403B74
00403B6B 32C0 xor al, al
00403B6D 5E pop esi
00403B6E 83C4 0C add esp, 0C
00403B71 C2 0400 retn 4
小做修改 使AL返回数值为01:
00403B67 85F6 test esi, esi ; monitor.00438448
00403B69 32C0 xor al, al
00403B6B FEC0 inc al
00403B6D 5E pop esi
00403B6E 83C4 0C add esp, 0C
00403B71 C2 0400 retn 4
最后一步 生成破解DLL文件 放到原目录即可成为注册版
简单提示下: 作者的设计思路应该是这样的 做一个时间函数 然后每到一分钟后检测一下是否注册 若不注册则弹出注册对话框 不妨这样做一些验证思路的修改每隔1分钟,10分钟,半小时,一小时,5小时来做一次验证,/:017这样的话 就得逼迫调试者来分析算法了 时间有限 不再弄这程序了 只是好奇想测试下杀软是否杀它而已. PS: 没事别装这种程序/:017 谢谢Nisy大哥分享。 以上的是搞定不再弹出对话框 还有一处验证 由于是调用我们修改后的CALL 所以此暗桩飞走~~
004031C7 E8 040E0000 call 00403FD0
004031CC 8BF0 mov esi, eax
004031CE 85F6 test esi, esi
004031D0 74 42 je short 00403214
004031D2 8B06 mov eax, dword ptr
004031D4 68 5C384300 push 0043385C ; keyboardlog.ini
004031D9 56 push esi
004031DA FF50 10 call dword ptr
004031DD 8B0E mov ecx, dword ptr
004031DF 8D5424 04 lea edx, dword ptr
004031E3 68 80000000 push 80
004031E8 52 push edx
004031E9 6A 00 push 0
004031EB 68 50384300 push 00433850 ; UserName
004031F0 56 push esi
004031F1 FF51 18 call dword ptr
004031F4 8B06 mov eax, dword ptr
004031F6 8D8C24 84000000 lea ecx, dword ptr
004031FD 68 80000000 push 80
00403202 51 push ecx
00403203 6A 00 push 0
00403205 68 44384300 push 00433844 ; UserCode
0040320A 56 push esi
0040320B FF50 18 call dword ptr
0040320E 8B16 mov edx, dword ptr
00403210 56 push esi
00403211 FF52 04 call dword ptr
00403214 E8 47080000 call 00403A60
00403219 8BF0 mov esi, eax
0040321B 85F6 test esi, esi
0040321D 74 2B je short 0040324A
0040321F 8B06 mov eax, dword ptr
00403221 8D4C24 04 lea ecx, dword ptr
00403225 51 push ecx
00403226 56 push esi
00403227 FF50 10 call dword ptr
0040322A 8B16 mov edx, dword ptr
0040322C 8D8424 84000000 lea eax, dword ptr
00403233 50 push eax
00403234 56 push esi
00403235 FF52 14 call dword ptr
00403238 8B0E mov ecx, dword ptr
0040323A 56 push esi
0040323B FF51 18 call dword ptr ; 这里就是访问我们的修改的关键CALL
0040323E 84C0 test al, al ; 得到返回数值为AL=1
00403240 75 08 jnz short 0040324A
00403242 5E pop esi
00403243 81C4 00010000 add esp, 100
00403249 C3 retn
0040324A B0 01 mov al, 1
0040324C 5E pop esi
0040324D 81C4 00010000 add esp, 100
00403253 C3 retn
占个沙发,好好学习,感谢分享:loveliness: 好帖子哇,学习一下/:good 感谢分享 学习了一下,,很好的教程 ,,谢谢老大 谢谢分享,受用。。。 不错哦 .应该支持下下.,,
页:
[1]