| 工具: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是屏蔽系统任务管理器
 
 [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
 逆向掉防护三、屏蔽任务管理器 。
 这个软件看起来防护蛮多,理清了思路也就好办了。看看最终效果:
 
 
 
 
 |