工具:52下的OD;
软件:通达信缠论版.exe;
来源:网络;
理由:和谐过程中的一点心得;
操作系统:虚拟机winxp;
要达到目的:解决软件的各种防护。
这个软件的防护有点意思。
防护一:正常显示不到30秒,界面消失,程序自毁(自动删除)
软件启动界面
正常显示不到30秒,界面消失,程序自毁(自动删除)。
防护二、检测到OD,重启系统
防护三、屏蔽任务管理器
针对上面的3道防护,来一一化解。
OD加载 通达信缠论版.exe
智能搜素,找到
下F2断点,F9,
[Asm] 纯文本查看 复制代码 00424FDD 68 4C425500 push 通达信缠.0055424C ; \x.bat
00424FE2 FF75 FC push dword ptr ss:[ebp-0x4]
00424FE5 B9 02000000 mov ecx,0x2
00424FEA E8 E2D5FDFF call 通达信缠.004025D1
00424FEF 83C4 08 add esp,0x8
00424FF2 8945 F8 mov dword ptr ss:[ebp-0x8],eax
00424FF5 8B5D FC mov ebx,dword ptr ss:[ebp-0x4]
00424FF8 85DB test ebx,ebx ; 通达信缠.00469560
00424FFA 74 09 je short 通达信缠.00425005
00424FFC 53 push ebx ; 通达信缠.00469560
00424FFD E8 4D3E0400 call 通达信缠.00468E4F
00425002 83C4 04 add esp,0x4
00425005 68 00000000 push 0x0
0042500A BB 80954600 mov ebx,通达信缠.00469580 ; j
0042500F E8 4D3E0400 call 通达信缠.00468E61
00425014 83C4 04 add esp,0x4
00425017 8945 F4 mov dword ptr ss:[ebp-0xC],eax
0042501A 68 00000000 push 0x0
0042501F BB 80954600 mov ebx,通达信缠.00469580 ; j
00425024 E8 383E0400 call 通达信缠.00468E61
00425029 83C4 04 add esp,0x4
0042502C 8945 F0 mov dword ptr ss:[ebp-0x10],eax
0042502F 68 53425500 push 通达信缠.00554253 ; \r\nDel %0\r\nExit
00425034 FF75 F0 push dword ptr ss:[ebp-0x10]
00425037 68 62425500 push 通达信缠.00554262 ; \r\nDel
0042503C FF75 F4 push dword ptr ss:[ebp-0xC]
0042503F 68 69425500 push 通达信缠.00554269 ; @echo off\r\nTaskkill /f /im
00425044 B9 05000000 mov ecx,0x5
00425049 E8 83D5FDFF call 通达信缠.004025D1
一路F8下来,到
看[eax],
@echo off
Taskkill /f /im 通达信缠论版.exe
Del 通达信缠论版.exe
Del %0
Exit
生成x.bat文件
到
[Asm] 纯文本查看 复制代码 004693EA 83E8 05 sub eax,0x5
004693ED F7D8 neg eax
004693EF 1BC0 sbb eax,eax
004693F1 83E0 02 and eax,0x2
004693F4 83C0 04 add eax,0x4
004693F7 66:894424 48 mov word ptr ss:[esp+0x48],ax
004693FC 8D4424 08 lea eax,dword ptr ss:[esp+0x8]
00469400 8B16 mov edx,dword ptr ds:[esi] ; 通达信缠.00554285
00469402 8D4C24 18 lea ecx,dword ptr ss:[esp+0x18]
00469406 50 push eax
00469407 51 push ecx
00469408 6A 00 push 0x0
0046940A 6A 00 push 0x0
0046940C 6A 00 push 0x0
0046940E 6A 00 push 0x0
00469410 6A 00 push 0x0
00469412 6A 00 push 0x0
00469414 52 push edx ; 通达信缠.00554285
00469415 6A 00 push 0x0
00469417 FF15 68045400 call dword ptr ds:[<&KERNEL32.CreateProc>; kernel32.CreateProcessA
运行x.bat,界面消失,程序自毁(自动删除),取消x.bat的创建就可以破掉防护一。
OD重新加载 通达信缠论版.exe,查找所有模块间的调用,
查找到api 00516118 . FF15 78055400 call dword ptr ds:[<&USER32.ExitWindowsEx>] ; \ExitWindowsEx
查找到所有调用USER32.ExitWindowsEx创建的线程
把线程KILL掉,防护二、检测到OD,重启系统就破掉了。
利用gpedit.msc先恢复任务管理器功能
OD重新加载 通达信缠论版.exe,智能搜素,找到 “软件维护中”
[Asm] 纯文本查看 复制代码 下F2断点
004075E3 . /0F85 32000000 jnz 通达信缠.0040761B ; //jump,跳过屏蔽系统任务管理器
004075E9 . |B8 4FD15400 mov eax,通达信缠.0054D14F ; 软件维护中
004075EE . |50 push eax
004075EF . |8B5D 20 mov ebx,dword ptr ss:[ebp+0x20] ; 通达信缠.006B2280
004075F2 . |8B1B mov ebx,dword ptr ds:[ebx]
004075F4 . |85DB test ebx,ebx ; 通达信缠.006B2280
004075F6 . |74 09 je short 通达信缠.00407601
004075F8 . |53 push ebx ; 通达信缠.006B2280
004075F9 . |E8 51180600 call 通达信缠.00468E4F
004075FE . |83C4 04 add esp,0x4
00407601 > |58 pop eax ; 01E73DF8
00407602 . |8B5D 20 mov ebx,dword ptr ss:[ebp+0x20] ; 通达信缠.006B2280
00407605 . |8903 mov dword ptr ds:[ebx],eax
00407607 . |E8 CF090000 call 通达信缠.00407FDB ; //屏蔽系统任务管理器
0040760C . |E8 210F0000 call 通达信缠.00408532
00407611 . |B8 00000000 mov eax,0x0
00407616 . |E9 ED040000 jmp 通达信缠.00407B08
00407607 . |E8 CF090000 call 通达信缠.00407FDB是屏蔽系统任务管理器
004075E3 . /0F85 32000000 jnz 通达信缠.0040761B改jmp 通达信缠.0040761B
破解掉防护三、屏蔽任务管理器 。
这个软件看起来防护蛮多,理清了思路也就好办了。看看最终效果:
|