工具:52下的OD;
软件:通达信缠论版.exe;
来源:网络;
理由:和谐过程中的一点心得;
操作系统:虚拟机winxp;
要达到目的:解决软件的各种防护。
这个软件的防护有点意思。
防护一:正常显示不到30秒,界面消失,程序自毁(自动删除)
软件启动界面
图片1.png
正常显示不到30秒,界面消失,程序自毁(自动删除)。
防护二、检测到OD,重启系统
图片2.png
防护三、屏蔽任务管理器
图片3.png
针对上面的3道防护,来一一化解。
OD加载 通达信缠论版.exe
智能搜素,找到
图片4.png
下F2断点,F9,
[Asm] 纯文本查看 复制代码
00424FDD 68 4C425500 push 通达信缠.0055424C ; \x.bat00424FE2 FF75 FC push dword ptr ss:[ebp-0x4]00424FE5 B9 02000000 mov ecx,0x200424FEA E8 E2D5FDFF call 通达信缠.004025D100424FEF 83C4 08 add esp,0x800424FF2 8945 F8 mov dword ptr ss:[ebp-0x8],eax00424FF5 8B5D FC mov ebx,dword ptr ss:[ebp-0x4]00424FF8 85DB test ebx,ebx ; 通达信缠.0046956000424FFA 74 09 je short 通达信缠.0042500500424FFC 53 push ebx ; 通达信缠.0046956000424FFD E8 4D3E0400 call 通达信缠.00468E4F00425002 83C4 04 add esp,0x400425005 68 00000000 push 0x00042500A BB 80954600 mov ebx,通达信缠.00469580 ; j0042500F E8 4D3E0400 call 通达信缠.00468E6100425014 83C4 04 add esp,0x400425017 8945 F4 mov dword ptr ss:[ebp-0xC],eax0042501A 68 00000000 push 0x00042501F BB 80954600 mov ebx,通达信缠.00469580 ; j00425024 E8 383E0400 call 通达信缠.00468E6100425029 83C4 04 add esp,0x40042502C 8945 F0 mov dword ptr ss:[ebp-0x10],eax0042502F 68 53425500 push 通达信缠.00554253 ; \r\nDel %0\r\nExit00425034 FF75 F0 push dword ptr ss:[ebp-0x10]00425037 68 62425500 push 通达信缠.00554262 ; \r\nDel0042503C FF75 F4 push dword ptr ss:[ebp-0xC]0042503F 68 69425500 push 通达信缠.00554269 ; @echo off\r\nTaskkill /f /im00425044 B9 05000000 mov ecx,0x500425049 E8 83D5FDFF call 通达信缠.004025D1
一路F8下来,到
图片5.png
看[eax],
@echo off
Taskkill /f /im 通达信缠论版.exe
Del 通达信缠论版.exe
Del %0
Exit
生成x.bat文件
到
[Asm] 纯文本查看 复制代码
004693EA 83E8 05 sub eax,0x5004693ED F7D8 neg eax004693EF 1BC0 sbb eax,eax004693F1 83E0 02 and eax,0x2004693F4 83C0 04 add eax,0x4004693F7 66:894424 48 mov word ptr ss:[esp+0x48],ax004693FC 8D4424 08 lea eax,dword ptr ss:[esp+0x8]00469400 8B16 mov edx,dword ptr ds:[esi] ; 通达信缠.0055428500469402 8D4C24 18 lea ecx,dword ptr ss:[esp+0x18]00469406 50 push eax00469407 51 push ecx00469408 6A 00 push 0x00046940A 6A 00 push 0x00046940C 6A 00 push 0x00046940E 6A 00 push 0x000469410 6A 00 push 0x000469412 6A 00 push 0x000469414 52 push edx ; 通达信缠.0055428500469415 6A 00 push 0x000469417 FF15 68045400 call dword ptr ds:[<&KERNEL32.CreateProc>; kernel32.CreateProcessA
运行x.bat,界面消失,程序自毁(自动删除),取消x.bat的创建就可以破掉防护一。
OD重新加载 通达信缠论版.exe,查找所有模块间的调用,
图片6.png
查找到api 00516118 . FF15 78055400 call dword ptr ds:[<&USER32.ExitWindowsEx>] ; \ExitWindowsEx
查找到所有调用USER32.ExitWindowsEx创建的线程
图片7.png
把线程KILL掉,防护二、检测到OD,重启系统就破掉了。
利用gpedit.msc先恢复任务管理器功能
图片9.png
OD重新加载 通达信缠论版.exe,智能搜素,找到 “软件维护中”
图片10.png
[Asm] 纯文本查看 复制代码
下F2断点004075E3 . /0F85 32000000 jnz 通达信缠.0040761B ; //jump,跳过屏蔽系统任务管理器 004075E9 . |B8 4FD15400 mov eax,通达信缠.0054D14F ; 软件维护中004075EE . |50 push eax004075EF . |8B5D 20 mov ebx,dword ptr ss:[ebp+0x20] ; 通达信缠.006B2280004075F2 . |8B1B mov ebx,dword ptr ds:[ebx]004075F4 . |85DB test ebx,ebx ; 通达信缠.006B2280004075F6 . |74 09 je short 通达信缠.00407601004075F8 . |53 push ebx ; 通达信缠.006B2280004075F9 . |E8 51180600 call 通达信缠.00468E4F004075FE . |83C4 04 add esp,0x400407601 > |58 pop eax ; 01E73DF800407602 . |8B5D 20 mov ebx,dword ptr ss:[ebp+0x20] ; 通达信缠.006B228000407605 . |8903 mov dword ptr ds:[ebx],eax00407607 . |E8 CF090000 call 通达信缠.00407FDB ; //屏蔽系统任务管理器0040760C . |E8 210F0000 call 通达信缠.0040853200407611 . |B8 00000000 mov eax,0x000407616 . |E9 ED040000 jmp 通达信缠.00407B0800407607 . |E8 CF090000 call 通达信缠.00407FDB是屏蔽系统任务管理器
图片11.png
004075E3 . /0F85 32000000 jnz 通达信缠.0040761B改jmp 通达信缠.0040761B
破解掉防护三、屏蔽任务管理器 。
这个软件看起来防护蛮多,理清了思路也就好办了。看看最终效果:
图片12.png