关闭

Themida/WinLicense V1.8.2.0 +脱壳 FOR PcShare远程控制会员版本20070826

标签: cvc++脚本浏览器破解db2
7448人阅读 评论(2) 收藏 举报
分类:
【文章作者】: 冰橙子

【详细过程】
今天拿到PcShare远程控制会员版本20070826,看看说明

一、加了插默认浏览器的功能

二、重新修改了文件下载,一目了然,肉机不上线也可以管理。

三、加了窗口管理的功能、

四、加了群发消息的功能

五、加了强制肉机访问网页的功能

六、增加代理(不完善测试阶段)

七、增加了记录系统登录密码功能
看着看着 就想破解,说干就干,不管是不是菜鸟,还是先查壳把,
  
用PEID查壳:
 Themida/WinLicense V1.8.2.0 +  -> Oreans Technologies   * Sign.By.fly *
如果你的查不到,可以下载最新的特征库

由于是Themida壳,1.9版本的后反OD的插件,只能用工具隐藏,PEID分辨不是很好,所以干脆就用HideToolz.exe 把OD隐藏起来

在HideToolz.exe里添加上你的OD的目录,在隐藏选项里选上:
Hide process
Protect process
Hide windows
Protect form windows

Anti-anti debug
Auto Start

设置好后打开OD,

1、设置OllyDBG忽略所有异常选项。
2、用HideOD插件:
勾选Auto Run HideOD、HideNtdebugBit。
勾选ZwQueryInformationProcess-->method2。

OD载入后,到这里:

00556014 P>  B8 00000000                       mov eax,0
00556019     60                                pushad
0055601A     0BC0                              or eax,eax
0055601C     74 68                             je short 00556086                     ; PcShare.00556086
0055601E     E8 00000000                       call 00556023                         ; PcShare.00556023
00556023     58                                pop eax                               ; kernel32.7C816FD7
00556024     05 53000000                       add eax,53
00556029     8038 E9                           cmp byte ptr ds:[eax],0E9
0055602C     75 13                             jnz short 00556041                    ; PcShare.00556041
0055602E     61                                popad
0055602F     EB 45                             jmp short 00556076                    ; PcShare.00556076
00556031     DB2D 37605500                     fld tbyte ptr ds:[556037]
00556037     FFFF                              ???                                   ; Unknown command
00556039     FFFF                              ???                                   ; Unknown command
0055603B     FFFF                              ???                                   ; Unknown command
0055603D     FFFF                              ???                                   ; Unknown command
0055603F     3D 40E80000                       cmp eax,0E840
00556044     0000                              add byte ptr ds:[eax],al
00556046     58                                pop eax                               ; kernel32.7C816FD7
00556047     25 00F0FFFF                       and eax,FFFFF000
0055604C     33FF                              xor edi,edi                           ; ntdll.7C930738

接着运行okdodo大侠的Themida脚本后:

运行完成后有提示:
脚本执行完毕,请注意OEP是否被偷代码!

点确定,来到这里:

00422C05     50                                push eax
00422C06     64:8925 00000000                  mov dword ptr fs:[0],esp
00422C0D     83EC 68                           sub esp,68
00422C10     53                                push ebx
00422C11     56                                push esi                              ; PcShare.0067B539
00422C12     57                                push edi
00422C13     8965 E8                           mov dword ptr ss:[ebp-18],esp
00422C16     33DB                              xor ebx,ebx
00422C18     895D FC                           mov dword ptr ss:[ebp-4],ebx
00422C1B     6A 02                             push 2
00422C1D     FF15 4C0D4800                     call dword ptr ds:[480D4C]            ; msvcrt.__set_app_type
00422C23     59                                pop ecx                               ; PcShare.00422D5A
00422C24     830D 34EA4900 FF                  or dword ptr ds:[49EA34],FFFFFFFF

被偷了OEP。

拿一个VC++的程序来参考下:

00401F10 D>  55                                push ebp
00401F11     8BEC                              mov ebp,esp
00401F13     6A FF                             push -1
00401F15     68 E8394000                       push 4039E8
00401F1A     68 96204000                       push 402096
00401F1F     64:A1 00000000                    mov eax,dword ptr fs:[0]
00401F25     50                                push eax
00401F26     64:8925 00000000                  mov dword ptr fs:[0],esp
00401F2D     83EC 68                           sub esp,68
00401F30     53                                push ebx
00401F31     56                                push esi
00401F32     57                                push edi                              ; ntdll.7C930738
00401F33     8965 E8                           mov dword ptr ss:[ebp-18],esp
00401F36     33DB                              xor ebx,ebx
00401F38     895D FC                           mov dword ptr ss:[ebp-4],ebx
00401F3B     6A 02                             push 2
00401F3D     FF15 4C334000                     call dword ptr ds:[40334C]            ; msvcrt.__set_app_type
00401F43     59                                pop ecx                               ; kernel32.7C816FD7
00401F44     830D 6C514000 FF                  or dword ptr ds:[40516C],FFFFFFFF
00401F4B     830D 70514000 FF                  or dword ptr ds:[405170],FFFFFFFF
00401F52     FF15 48334000                     call dword ptr ds:[403348]            ; msvcrt.__p__fmode


为了防止代码混淆,点分析代码,向上看 :

00422BEA    .  C3                              retn
00422BEB    >  E9 70010000                     jmp 00422D60                          ;  jmp to msvcrt.terminate
00422BF0       96                              db 96
00422BF1       85                              db 85
00422BF2       CB                              db CB
00422BF3       1B                              db 1B
00422BF4       1D                              db 1D
00422BF5    .  A6                              cmps byte ptr ds:[esi],byte ptr es:[e>
00422BF6    .  AD                              lods dword ptr ds:[esi]
00422BF7    .  9B                              wait
00422BF8    .  DDD0                            fst st
00422BFA    .  A9 7B8C7D46                     test eax,467D8C7B
00422BFF    .  2AF8                            sub bh,al
00422C01    .  4C                              dec esp
00422C02    .  014E 2B                         add dword ptr ds:[esi+2B],ecx
00422C05    .  50                              push eax
00422C06    .  64:8925 00000000                mov dword ptr fs:[0],esp
00422C0D    .  83EC 68                         sub esp,68
00422C10    .  53                              push ebx
00422C11    .  56                              push esi                              ;  PcShare.0067B539
00422C12    .  57                              push edi
00422C13    .  8965 E8                         mov dword ptr ss:[ebp-18],esp
00422C16    .  33DB                            xor ebx,ebx
00422C18    .  895D FC                         mov dword ptr ss:[ebp-4],ebx
00422C1B    .  6A 02                           push 2
00422C1D    .  FF15 4C0D4800                   call dword ptr ds:[480D4C]            ;  msvcrt.__set_app_type


确定OEP:00422BF0

并补上OEP:

00422BF0       55                              push ebp
00422BF1       8BEC                            mov ebp,esp
00422BF3       6A FF                           push -1
00422BF5       68 E8394000                     push 4039E8-------------------------①
00422BFA       68 96204000                     push 402096-------------------------②
00422BFF       64:A1 00000000                  mov eax,dword ptr fs:[0]
00422C05    .  50                              push eax
00422C06    .  64:8925 00000000                mov dword ptr fs:[0],esp
00422C0D    .  83EC 68                         sub esp,68
00422C10    .  53                              push ebx
00422C11    .  56                              push esi                              ;  PcShare.0067B539
00422C12    .  57                              push edi
00422C13    .  8965 E8                         mov dword ptr ss:[ebp-18],esp
00422C16    .  33DB                            xor ebx,ebx
00422C18    .  895D FC                         mov dword ptr ss:[ebp-4],ebx
00422C1B    .  6A 02                           push 2

其中①和②处的数据可以看考堆栈里的数据

在堆栈里找到:

0012FF7C    00000212
0012FF80    00422C05   PcShare.00422C05
0012FF84    00422D5A   jmp to msvcrt._except_handler3----------------------------③
0012FF88    004873E8   PcShare.004873E8------------------------------------------④
0012FF8C    FFFFFFFF
0012FF90    79ED1599
0012FF94    5300CF5B
0012FF98    006CB800   PcShare.006CB800
0012FF9C    0012FFE0
0012FFA0    006BF644   PcShare.006BF644
0012FFA4    7C930738   ntdll.7C930738
0012FFA8    FFFFFFFF
0012FFAC    0012FFF0
0012FFB0    0012FFC4
0012FFB4    7FFDC000
0012FFB8    0012FFC4
0012FFBC    0012FFB0
0012FFC0    745438A6
0012FFC4    7C816FD7   RETURN to kernel32.7C816FD7
0012FFC8    7C930738   ntdll.7C930738
0012FFCC    FFFFFFFF
0012FFD0    7FFDC000
0012FFD4    8054BB38
0012FFD8    0012FFC8
0012FFDC    FEFE6D78
0012FFE0    FFFFFFFF   End of SEH chain
0012FFE4    7C839AA8   SE handler
0012FFE8    7C816FE0   kernel32.7C816FE0
0012FFEC    00000000
0012FFF0    00000000
0012FFF4    00000000
0012FFF8    00556014   offset PcShare.<ModuleEntryPoint>
0012FFFC    00000000


④处的数据就是①,③处的数据就是②

补好OEP后 把EIP指针改到OEP处 用LordPE_fix.EXE脱壳

打开ImportREC 填上OEP后自动查找IAT,获取函数输入表 如果有无效的就剪切掉。
到此脱壳完成,
PEID 查壳:Microsoft Visual C++ 6.0  脱壳后3.85 MB 
运行程序,程序有时候提示操作系统错误,原因我不是很清楚,用OD载入 F9运行,

找到出错的地方 修改下跳转就可以了,不过后来没修改的也可以运行了。
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3658261次
    • 积分:59905
    • 等级:
    • 排名:第40名
    • 原创:1549篇
    • 转载:1252篇
    • 译文:0篇
    • 评论:459条
    最新评论