飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 16485|回复: 99

[脱壳破解] 脱壳Tmd1950 参阅a__p 大侠 笨虫虫动画

[复制链接]

该用户从未签到

发表于 2008-4-4 22:45:27 | 显示全部楼层 |阅读模式
脱壳Tmd1950  参阅a__p 大侠 笨虫虫动画
          Tmd1950 unpackme 新anti
          http://www.unpack.cn/viewthread.php?tid=18423&extra=page%3D2
         
          OD隐藏插件
          http://www.unpack.cn/viewthread.php?tid=19109&extra=page%3D1
         
          PhantOm plugin V1.20.by Hellsp@wn & Archer
          http://hellspawn.nm.ru/works/PhantOm.plugin.1.20.zip
手脱Tmd1950 unpackme (已更新)
      【文章标题】: 手脱Tmd1950 unpackme
      【文章作者】: a__p [CUG]
      【作者邮箱】: a__p@163.com
      【作者主页】: http://www.unpack.cn
      【作者QQ号】: xxxxxxx
      【软件名称】: test.exe
      【软件大小】: 641 KB
      【下载地址】:  http://www.unpack.cn/viewthread.php?tid=18423&extra=page%3D2
      【保护方式】: Themida/WinLicense V1.9.5.0
      【使用工具】: OD修改版,LoadPE,ImportREC
      【操作平台】: WINXP,WIN2003
      【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
      --------------------------------------------------------------------------------
      【详细过程】
          脱壳大致流程:
         
          1、代码段内存写入断点。
          2、搜索代码:3985??????0?0F,改成JMP。
          3、搜索代码:FFD3,上面4个JE改成NOP。
          4、在ZwFreeVirtualMemory末尾下断。
          5、在代码段下断就可以到OEP
         
          废话不多说,配置好OD和插件,推荐用okdodo大侠的新版插件或者PhantOm plugin V1.20来隐

藏。
ollydbg修改无bug版 可调试tmd 1.950 pyg下载https://www.chinapyg.com/viewthread.php?

tid=29336&extra=page%3D1
Alt+M在代码段下内存写入断点,Shift+F9运行,遇到 rep 代码时F7+F8步过         
0054351A    F3:A4           REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>  ?
0054351C    C685 3D204607 5>MOV BYTE PTR SS:[EBP+746203D],56
00543523    68 396D1FD4     PUSH D41F6D39
00543528    FFB5 C1234607   PUSH DWORD PTR SS:[EBP+74623C1]

00556B88    8F00            POP DWORD PTR DS:[EAX]
00556B8A    51              PUSH ECX
00556B8B    B9 00000000     MOV ECX,0
00556B90    01C1            ADD ECX,EAX
00556B92    8131 60585F23   XOR DWORD PTR DS:[ECX],235F5860

搜索代码:3985??????0?0F,改成JMP。

00554087    3985 752B4607   CMP DWORD PTR SS:[EBP+7462B75],EAX
0055408D    0F84 80000000   JE test.00554113                    ?
00554093    E9 10000000     JMP test.005540A8
00554098    8F              ???                                      ; 未知命令
00554099    EE              OUT DX,AL                                ; I/O 命令
0055409A    0B1C38          OR EBX,DWORD PTR DS:[EAX+EDI]
搜索代码:FFD3,上面4个JE改成NOP。
005549AA    F4              HLT                                      ; 特权命令
005549AB  ^ 79 F5           JNS SHORT test.005549A2
005549AD    FFD3            CALL EBX
005549AF    F9              STC


0055498F    2BD9            SUB EBX,ECX
00554991    0F84 4D000000   JE test.005549E4                ?
00554997    F9              STC
00554998    8D9D D9FD5007   LEA EBX,DWORD PTR SS:[EBP+750FDD9]

00554955   /0F84 89000000   JE test.005549E4                 ?
0055495B   |E9 11000000     JMP test.00554971
00554960   |46              INC ESI
00554961   |7B A3           JPO SHORT test.00554906
00554963   |F6447A 4F 1E    TEST BYTE PTR DS:[EDX+EDI*2+4F],1E

0055492A    2BD9            SUB EBX,ECX
0055492C    0F84 B2000000   JE test.005549E4                   ?
00554932    FC              CLD
00554933    8B9D 55274607   MOV EBX,DWORD PTR SS:[EBP+7462755]
00554939    E9 10000000     JMP test.0055494E

005548E3    8B9D 9D074607   MOV EBX,DWORD PTR SS:[EBP+746079D]
005548E9    E9 06000000     JMP test.005548F4
005548EE    137C1F 32       ADC EDI,DWORD PTR DS:[EDI+EBX+32]
005548F2    8499 4B0F84E9   TEST BYTE PTR DS:[ECX+E9840F4B],BL

005548F4    4B              DEC EBX
005548F5    0F84 E9000000   JE test.005549E4                ?
005548FB    0F84 0E000000   JE test.0055490F
00554901    E9 09000000     JMP test.0055490F
00554906    B6 D8           MOV DH,0D8

做完上面以后,就可以Ctrl+G在ZwFreeVirtualMemory末尾下断了
         
         
          7C92DA48 >  B8 53000000         mov eax,53
          7C92DA4D    BA 0003FE7F         mov edx,7FFE0300
          7C92DA52    FF12                call dword ptr ds:[edx]
          7C92DA54    C2 1000             retn 10                           
      ;这里F2
         
         
          OK,这时候可以按F9运行了,在ZwFreeVirtualMemory末尾断下后(不要取消断点),F8单步返



00B08F2F    8BF8            MOV EDI,EAX
00B08F31    85FF            TEST EDI,EDI
00B08F33    0F8C 68C60200   JL 00B355A1
00B08F39    33C0            XOR EAX,EAX

00556B90    01C1            ADD ECX,EAX
00556B92    8131 60585F23   XOR DWORD PTR DS:[ECX],235F5860
00556B98    59              POP ECX


004B6973    FF32            PUSH DWORD PTR DS:[EDX]      F8            ; kernel32.GetVersion
004B6975  ^ E9 F092FFFF     JMP test.004AFC6A
004B697A    81EE 344B114A   SUB ESI,4A114B34
004B6980    8B3C24          MOV EDI,DWORD PTR SS:[ESP]
004B6983    83C4 04         ADD ESP,4
004B6986    81C6 02000000   ADD ESI,2

DS:[0040706C]=7C8111DA (kernel32.GetVersion) api

0040386B    C8 1805EC       ENTER 518,0EC                               这里就是OEP了
0040386F    42              INC EDX
00403870  ^ 7D EC           JGE SHORT test.0040385E
00403872    1ABC3C 0FA8DA56 SBB BH,BYTE PTR SS:[ESP+EDI+56DAA80F]
00403879    232D C4E52637   AND EBP,DWORD PTR DS:[3726E5C4]
0040387F    65:C6           ???                                      ; 未知命令
00403881    71 5B           JNO SHORT test.004038DE
00403883    B8 DCE9A093     MOV EAX,93A0E9DC
00403888    83BD 9C55A7E1 7>CMP DWORD PTR SS:[EBP+E1A7559C],7E
0040388F    B9 B74F156F     MOV ECX,6F154FB7
00403894    54              PUSH ESP
00403895    4B              DEC EBX
00403896    5B              POP EBX
00403897    33D2            XOR EDX,EDX

Microsoft Visual C++ 6.0 [Overlay] E语言

  0040389F    55                       push ebp                        这里就是OEP了
  004038A0    8BEC                     mov ebp,esp
  004038A2    6A FF                    push -1
  004038A4    68 F8724000              push 风火助理.004072F8
  004038A9    68 04554000              push 风火助理.00405504
  004038AE    64:A1 00000000           mov eax,dword ptr fs:[0]
  004038B4    50                       push eax
  004038B5    64:8925 00000000         mov dword ptr fs:[0],esp
  004038BC    83EC 58                  sub esp,58
  004038BF    53                       push ebx
  004038C0    56                       push esi
  004038C1    57                       push edi
  004038C2    8965 E8                  mov dword ptr ss:[ebp-18],esp
  004038C5    FF15 48704000            call dword ptr ds:[407048]
  004038CB    33D2                     xor edx,edx
  004038CD    8AD4                     mov dl,ah
  004038CF    8915 94BA4000            mov dword ptr ds:[40BA94],edx
  004038D5    8BC8                     mov ecx,eax
  004038D7    81E1 FF000000            and ecx,0FF
  004038DD    890D 90BA4000            mov dword ptr ds:[40BA90],ecx
  004038E3    C1E1 08                  shl ecx,8
  004038E6    03CA                     add ecx,edx
  004038E8    890D 8CBA4000            mov dword ptr ds:[40BA8C],ecx
55 8B EC 6A FF 68 00 71 40 00 68 64 4C 40 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC

58
53 56 57 89 65 E8 FF 15 6C 70 40 00


堆栈
0012FF80   0012FF2C
0012FF84   0012FFE0  指向下一个 SEH 记录的指针
0012FF88   00404C64  SE 处理器
0012FF8C   00407100  test.00407100
0012FF90   FFFFFFFF
0012FF94   004F912F  test.004F912F
0012FF98   004001D8  ASCII "   "

02700000    8BFF            MOV EDI,EDI
02700002    60              PUSHAD
02700003    0FBFD8          MOVSX EBX,AX
02700006    B8 E5B2245A     MOV EAX,5A24B2E5

02700234    E8 F301117A     CALL kernel32.CreateRemoteThread
02700239    60              PUSHAD
0270023A    66:B8 8B16      MOV AX,168B
0270023E    9C              PUSHFD
0270023F    E9 0B000000     JMP 0270024F
02700244    67:14 BD        ADC AL,0BD                               ; 多余前缀
02700247    B2 03           MOV DL,3
02700249    80B9 FE5FAC75 6>CMP BYTE PTR DS:[ECX+75AC5FFE],66
02700250    81F0 9836E906   XOR EAX,6E93698
02700256    0000            ADD BYTE PTR DS:[EAX],AL
02700258    00D6            ADD DH,DL
0270025A    57              PUSH EDI
0270025B    44              INC ESP
0270025C    2D 62F39D61     SUB EAX,619DF362
02700261    5D              POP EBP
02700262    60              PUSHAD
02700263    66:8BD9         MOV BX,CX
02700266    50              PUSH EAX
02700267    52              PUSH EDX
02700268    0F31            RDTSC
0270026A    E8 08000000     CALL 02700277
0270026F  ^ E0 99           LOOPDNE SHORT 0270020A
02700271    5E              POP ESI
02700272    3F              AAS
02700273    0C 55           OR AL,55
02700275    6A 5B           PUSH 5B
02700277    5E              POP ESI
02700278    5A              POP EDX
02700279    58              POP EAX
0270027A    61              POPAD
0270027B    C2 1800         RETN 18
0270027E    0000            ADD BYTE PTR DS:[EAX],AL
02700280    0000            ADD BYTE PTR DS:[EAX],AL

GetVersion

VB声明
Declare Function GetVersion Lib "kernel32" Alias "GetVersion" () As Long
说明
判断当前运行的Windows和DOS版本
返回值
Long,低16位包含了windows版本;低字节包含了主版本号(3代表windows 3.10,4代表nt 4.0);高字

节包含了两个数位的辅助版本号(10代表windows 3.10,95代表windows 95)。高16位则包含了平台信息

。针对windows NT,高位设为0;针对windows for workgroups上运行的Win32s,则高位为1
注解
在win32下,最好换用GetVersionEx函数。在win32下,高字不会返回DOS版本
游客,如果您要查看本帖隐藏内容请回复


[ 本帖最后由 hxqlky 于 2008-4-4 22:47 编辑 ]

评分

参与人数 1威望 +40 飘云币 +20 收起 理由
yingfeng + 40 + 20 感谢您发布的原创作品!

查看全部评分

PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2018-5-11 19:28
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2008-4-4 22:48:05 | 显示全部楼层
    好啊 看看  /:011
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2020-2-22 19:39
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2008-4-5 10:44:55 | 显示全部楼层
    这个不错
    谢谢
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2018-10-30 19:50
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2008-4-5 11:19:43 | 显示全部楼层
    学习了!不错!/:014
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    7 天前
  • 签到天数: 113 天

    [LV.6]常住居民II

    发表于 2008-4-5 13:20:34 | 显示全部楼层
    学习脱壳最重要啊,支持
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2019-3-20 20:06
  • 签到天数: 258 天

    [LV.8]以坛为家I

    发表于 2008-4-5 15:17:30 | 显示全部楼层
    修复很重要!~~~~
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-1-6 14:28
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2008-4-5 17:14:02 | 显示全部楼层
    支持分享   下来学习!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-3-29 16:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-5 22:21:24 | 显示全部楼层
    强人做的脱壳../:001
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-2-3 06:45
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-6 16:38:16 | 显示全部楼层
    这个不错
    谢谢
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-6 18:15:32 | 显示全部楼层
    非常不错,支持兄弟!!学习了!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表