首页
社区
课程
招聘
[旧帖] ASProtect 1.2x-1.3x脱壳方法 0.00雪花
发表于: 2009-5-20 10:07 63735

[旧帖] ASProtect 1.2x-1.3x脱壳方法 0.00雪花

2009-5-20 10:07
63735
花了一天时间脱这壳没脱成功。。。郁闷之于网上搜搜,发现可以用脚本脱,小菜把这思路整理了下发上。。。文章原创,思路网上找的。
脱壳目标文件名:test.exe
加的壳:ASProtect 1.2x - 1.3x [Registered] -> Alexey Solodovnikov [Overlay]
操作步骤:
1。升级OD脚本版本-> 1.53脚本
   把此OllyScript.dll复制到OD的Plugin目录下并覆盖原先的OllyScript.dll
2。Asprotect1.2x-1.3x.osc可以放置任一目录。
3。OD载入加壳程序
   插件->OllyScript->运行脚本->打开  找到Asprotect1.2x-1.3x.osc
4。此时OD自行运行。运行完毕后将在加壳程序同目录生成de_test.exe
5。OD 中执行->查看->记录
           IAT 的地址 = 004F1190
           IAT 的相对地址 = 000F1190
           IAT 的大小 = 0000078C
00B90079   中断在 00B90079
           OEP 的地址 = 004EA024
           OEP 的相对地址 = 000EA024
这些数据是关键,下一步要用到。
6。ImportREC修复。
   找到test.exe进程  
   按此数据填入:
   OEP=000EA024(上面的OEP 的相对地址)
   RVA=000F1190(IAT 的相对地址)
   大小=0000078C( IAT 的大小)
填写完毕。此时直接点“获取输入表” 。为保险起见点“显示无效的”,一般情况这样

子操作后全为有效,最后一步“修复转储文件”
大功告成。。。

此方法有点走小聪明了,真的没学到真正的技术,只是多了一种思路,最关键的脚本
是别人的----

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (67)
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习了,谢谢楼主,现在最想做的就是找个文件练习一下
2009-5-20 10:50
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我也是碰到了这款壳,2个多月了,一直没能脱下来,真的很苦恼!楼主提到的OSC脚本可否发给兄弟?万分感谢!
2009-5-20 17:49
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
希望请楼主能给个连接,谢谢!
2009-5-20 17:53
0
雪    币: 131
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
都是网上载的,已经上传。需要请下载
2009-5-20 18:04
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
哎…… 仍然搞不定,有急事出门一趟,回来详述吧。

非常感谢楼主上传附件!
2009-5-20 18:57
0
雪    币: 131
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
嗯。把软件发给我试试。。panlimin767#126.com
2009-5-20 20:31
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
已经发了,请兄弟查收,谢谢!
2009-5-20 22:33
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
用od载入,运行中显示有偷窃代码是怎么回事
2009-5-25 15:52
0
雪    币: 270
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
真有精神,顶一下
2009-5-26 13:29
0
雪    币: 107
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
顶,继续努力。
2009-5-26 13:38
0
雪    币: 476
活跃值: (307)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
顶一下!~~~
2009-5-26 14:46
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
按照楼主的方法试了 脱了脱了 可是不知道能不能用  用PEID查  UPolyX v0.5 *  郁闷中
2009-6-7 17:06
0
雪    币: 158
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
子操作后全为有效,

什么是子操作啊?我有一堆无效指针啊
怎么修复啊
直接剪切后抓取运行不了啊
2009-7-4 21:47
0
雪    币: 157
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
15
- -楼主我也用的这种方法。。问题是ImportRCE点显示无效函数后,有5个函数是无效的。。。
2009-7-4 22:41
0
雪    币: 210
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
提示错误啊,郁闷死了
2009-7-10 15:20
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
好用,谢谢!
2009-7-12 11:42
0
雪    币: 49
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
修复不了的 我都是直接剪切掉.
2009-12-2 12:59
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
可惜没钱下载
2010-6-7 22:05
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
额,这个壳确实是很难搞的,多谢楼主的思路~~!
2010-6-8 10:12
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
哪位大哥大姐能给我个邀请码啊?谢谢。
我很早就知道这个论坛了,但是以前因为水平问题,看不到这些代码,而且学了也不知道自己用不用得上,所以一直没有注册,最近写.net程序,碰到一些问题,需要破解几个dll文件,用reflector打开它,提示:Invalid number of data directories in NT header.
用CFF打开,改NumberOfRvaAndSizes的值,把它由:0000000F改成:00000010,再用reflector打开,提示:Module 'C:\*.dll' contains zero or multiple module definitions.

于是我又用ildasm打开这个dll,导出il文件,用UltroEdit打开,里面的部分代码如下:

在这里面,发现有Xenocode字样,请问这是用Xenocode加壳了么?如果是,请问怎么样脱壳呢?(注:本人不会汇编,只会.net的编程,麻烦哪位告诉我一下,谢谢)
//  Microsoft (R) .NET Framework IL Disassembler.  Version 1.1.4322.573
//  Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

// PE Header:
// Subsystem:                      00000003
// Native entry point address:     0003b978
// Image base:                     10000000
// Section alignment:              00002000
// File alignment:                 00001000
// Stack reserve size:             00100000
// Stack commit size:              00001000
// Directories:                    00000010
// 0        [0       ] address [size] of Export Directory:         
// 3b922    [53      ] address [size] of Import Directory:         
// 40000    [360     ] address [size] of Resource Directory:        
// 0        [0       ] address [size] of Exception Directory:      
// 0        [0       ] address [size] of Security Directory:        
// 42000    [c       ] address [size] of Base Relocation Table:     
// 0        [0       ] address [size] of Debug Directory:           
// 0        [0       ] address [size] of Architecture Specific:     
// 0        [0       ] address [size] of Global Pointer:            
// 0        [0       ] address [size] of TLS Directory:            
// 0        [0       ] address [size] of Load Config Directory:     
// 0        [0       ] address [size] of Bound Import Directory:   
// 2000     [8       ] address [size] of Import Address Table:      
// 0        [0       ] address [size] of Delay Load IAT:            
// 2008     [48      ] address [size] of CLR Header:               

// Import Address Table
//     mscoree.dll
//              00002000 Import Address Table
//              0003b968 Import Name Table
//              0        time date stamp
//              0        Index of first forwarder reference
//
//                    0  

// Delay Load Import Address Table
// 没有数据。
// CLR Header:
// 72       Header Size
// 2        Major Runtime Version
// 5        Minor Runtime Version
// 1        Flags
// 0        Entrypoint Token
// eac4     [2ce5e   ] address [size] of Metadata Directory:        
// 0        [0       ] address [size] of Resources Directory:      
// 0        [0       ] address [size] of Strong Name Signature:     
// 0        [0       ] address [size] of CodeManager Table:         
// 0        [0       ] address [size] of VTableFixups Directory:   
// 0        [0       ] address [size] of Export Address Table:      
// 0        [0       ] address [size] of Precompile Header:         
// Code Manager Table:
//  default
// Export Address Table Jumps:
// 没有数据。

.module extern KERNEL32.DLL /*1A000001*/
.module extern ShuzirenCms_090317.dll /*1A000002*/
.module extern ShuzirenCms_09031764.dll /*1A000003*/
.module extern kernel32.dll /*1A000004*/
.assembly extern /*23000001*/ mscorlib
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 2:0:0:0
}
.assembly extern /*23000002*/ System.Web
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )                         // .?_....:
  .ver 2:0:0:0
}
.assembly extern /*23000003*/ Shuziren.Data
{
  .ver 6:0:0:0
}
.assembly extern /*23000004*/ System
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 2:0:0:0
}
.assembly extern /*23000005*/ System.Data
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 2:0:0:0
}
.assembly extern /*23000006*/ System.Configuration
{
  .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )                         // .?_....:
  .ver 2:0:0:0
}
.assembly extern /*23000007*/ Shuziren.Ip
{
  .ver 6:0:0:0
}
.assembly extern /*23000008*/ mscorlib as mscorlib_7
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )                         // .z\V.4..
  .ver 1:0:5000:0
}
.assembly /*20000001*/ Shuziren.Qiye
{
  .custom /*0C000001:0A000007*/ instance void [mscorlib/* 23000001 */]System.Runtime.InteropServices.GuidAttribute/* 01000007 */::.ctor(string) /* 0A000007 */ = ( 01 00 24 33 64 35 39 30 30 61 65 2D 31 31 31 61   // ..$3d5900ae-111a
                                                                                                                                                                   2D 34 35 62 65 2D 39 36 62 33 2D 64 39 65 34 36   // -45be-96b3-d9e46
                                                                                                                                                                   30 36 63 61 37 39 33 00 00 )                      // 06ca793..
  .custom /*0C000002:0A000001*/ instance void [mscorlib/* 23000001 */]System.Runtime.CompilerServices.SuppressIldasmAttribute/* 01000001 */::.ctor() /* 0A000001 */ = ( 01 00 00 00 )
  .custom /*0C000003:0A000002*/ instance void [mscorlib/* 23000001 */]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute/* 01000002 */::.ctor() /* 0A000002 */ = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78   // ....T..WrapNonEx
                                                                                                                                                                              63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 )       // ceptionThrows.
  .custom /*0C000004:0A000003*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyConfigurationAttribute/* 01000003 */::.ctor(string) /* 0A000003 */ = ( 01 00 00 00 00 )
  .custom /*0C000005:0A000004*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyTitleAttribute/* 01000004 */::.ctor(string) /* 0A000004 */ = ( 01 00 0C 53 68 75 7A 69 72 65 6E 2E 4A 73 74 00   // ...Shuziren.Jst.
                                                                                                                                                               00 )
  .custom /*0C000006:0A000005*/ instance void [mscorlib/* 23000001 */]System.Runtime.CompilerServices.CompilationRelaxationsAttribute/* 01000005 */::.ctor(int32) /* 0A000005 */ = ( 01 00 08 00 00 00 00 00 )
  .custom /*0C000007:0A000006*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyCompanyAttribute/* 01000006 */::.ctor(string) /* 0A000006 */ = ( 01 00 0C 53 68 75 7A 69 72 65 6E 2E 43 6F 6D 00   // ...Shuziren.Com.
                                                                                                                                                                 00 )
  .custom /*0C000008:0A00000B*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyDescriptionAttribute/* 0100000B */::.ctor(string) /* 0A00000B */ = ( 01 00 00 00 00 )
  .custom /*0C000009:06000002*/ instance void Xenocode.Client.Attributes.AssemblyAttributes.ProcessedByXenocode/* 02000003 */::.ctor() /* 06000002 */ = ( 01 00 00 00 )
  .custom /*0C00000A:0A000009*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyProductAttribute/* 01000009 */::.ctor(string) /* 0A000009 */ = ( 01 00 0B 53 68 75 7A 69 72 65 6E 43 6D 73 00 00 ) // ...ShuzirenCms..
  .custom /*0C00000B:0A00000A*/ instance void [mscorlib/* 23000001 */]System.Runtime.InteropServices.ComVisibleAttribute/* 0100000A */::.ctor(bool) /* 0A00000A */ = ( 01 00 00 00 00 )
  .custom /*0C00000C:0A000008*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyFileVersionAttribute/* 01000008 */::.ctor(string) /* 0A000008 */ = ( 01 00 07 36 2E 30 2E 30 2E 30 00 00 )             // ...6.0.0.0..
  .custom /*0C00000D:0A00000C*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyCopyrightAttribute/* 0100000C */::.ctor(string) /* 0A00000C */ = ( 01 00 16 E7 89 88 E6 9D 83 E6 89 80 E6 9C 89 20   // ...............
                                                                                                                                                                   28 43 29 20 20 32 30 30 37 00 00 )                // (C)  2007..
  .custom /*0C00000E:0A00000D*/ instance void [mscorlib/* 23000001 */]System.Reflection.AssemblyTrademarkAttribute/* 0100000D */::.ctor(string) /* 0A00000D */ = ( 01 00 00 00 00 )
  .custom /*0C00000F:06000001*/ instance void Xenocode.Client.Attributes.AssemblyAttributes.SuppressDisassembly/* 02000002 */::.ctor() /* 06000001 */ = ( 01 00 00 00 )
  .ver 6:0:0:0
}
.module Shuziren.Qiye.dll
// MVID: {DE1D9D3F-9402-4B60-B8FA-5E6D6EE33470}
.imagebase 0x10000000
.subsystem 0x00000003
.file alignment 4096
.corflags 0x00000001
// Image base: 0x036f0000
//
// ============== CLASS STRUCTURE DECLARATION ==================
//
.namespace Xenocode.Client.Attributes.AssemblyAttributes
{
  .class /*02000002*/ private auto ansi SuppressDisassembly
         extends [mscorlib_7/* 23000008 */]System.Attribute/* 01000044 */
  {
  } // end of class SuppressDisassembly

  .class /*02000003*/ private auto ansi ProcessedByXenocode
         extends [mscorlib_7/* 23000008 */]System.Attribute/* 01000044 */
  {
  } // end of class ProcessedByXenocode

} // end of namespace Xenocode.Client.Attributes.AssemblyAttributes
2010-6-24 11:31
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
确实很有用!
2010-6-29 09:27
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
谁有aspack 2.12 的插件脚本
2010-6-29 11:59
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
0097C001 >  60              pushad                                 ; 程序入口(EP)
0097C002    E8 03000000     call    0097C00A                        ============
0097C007  - E9 EB045D45     jmp     45F4C4F7
0097C00C    55              push    ebp                                    花指令
0097C00D    C3              retn                                =============
0097C00E    E8 01000000     call    0097C014                        ; 目标地址隐藏了,单步进去
0097C013    EB 5D           jmp     short 0097C072                ; EB花指令,隐藏了上面call的目标地址

0097C014    5D              pop     ebp                          ; 代码重定位。弹出返回地址ebp=0097C013
0097C015    BB EDFFFFFF     mov     ebx, -13                        ; 偏移量为13h字节
0097C01A    03DD            add     ebx, ebp                        ; 0097C013-13=0097C000壳代码段起始位置
0097C01C    81EB 00C01000   sub     ebx, 10C000                        ;
0097C022    807D 4D 01      cmp     byte ptr [ebp+4D], 1           ; [ebp+4D]=[0097C013+4D]=00000001
0097C026    75 0C           jnz     short 0097C034                ;
0097C028    8B7424 28       mov     esi, dword ptr [esp+28]       
0097C02C    83FE 01         cmp     esi, 1                       
0097C02F    895D 4E         mov     dword ptr [ebp+4E], ebx       
0097C032    75 31           jnz     short 0097C065               
0097C034    8D45 53         lea     eax, dword ptr [ebp+53]       
0097C037    50              push    eax                               
0097C038    53              push    ebx                               
0097C039    FFB5 E50B0000   push    dword ptr [ebp+BE5]               
0097C03F    8D45 35         lea     eax, dword ptr [ebp+35]       
0097C042    50              push    eax                               
0097C043    E9 82000000     jmp     0097C0CA                       
--------------------------------------------------
0097C0CA    81D9 A6C5306E   sbb     ecx, 6E30C5A6
0097C0D0    E8 0C000000     call    0097C0E1
0097C0D5    94              xchg    eax, esp

--------------------------------------------------
0097C0E1    66:B8 D79C      mov     ax, 9CD7
0097C0E5    5A              pop     edx                             
0097C0E6    B9 732FCE4D     mov     ecx, 4DCE2F73
0097C0EB    81C2 E90A0000   add     edx, 0AE9
0097C0F1    68 2E28CB3F     push    3FCB282E
0097C0F6    66:81CF EB19    or      di, 19EB
0097C0FB    58              pop     eax
0097C0FC    2BDB            sub     ebx, ebx
0097C0FE    81D9 DEF8E708   sbb     ecx, 8E7F8DE
0097C104    FF3413          push    dword ptr [ebx+edx]
0097C107    66:8BCE         mov     cx, si
0097C10A    5E              pop     esi
0097C10B    8BFB            mov     edi, ebx
0097C10D    81F6 82084434   xor     esi, 34440882
0097C113    68 8E55F21A     push    1AF2558E
0097C118    59              pop     ecx
0097C119    81EE 936B1B12   sub     esi, 121B6B93
0097C11F    53              push    ebx
0097C120    0F84 02000000   je      0097C128
0097C126    B4 94           mov     ah, 94
0097C128    58              pop     eax
0097C129    81EE D0C72517   sub     esi, 1725C7D0
0097C12F    0F84 15000000   je      0097C14A
0097C135    E8 09000000     call    0097C143

--------------------------------------------------------------------
0097C143    81D9 C6316367   sbb     ecx, 676331C6
0097C149    59              pop     ecx
0097C14A    56              push    esi
0097C14B    8F041A          pop     dword ptr [edx+ebx]
0097C14E    E9 10000000     jmp     0097C163

---------------------------------------------------------
0097C164    B7 C7           mov     bh, 0C7
0097C166    81EB B2B3600E   sub     ebx, 0E60B3B2
0097C16C    0FBFC1          movsx   eax, cx
0097C16F    81C3 AEB3600E   add     ebx, 0E60B3AE
0097C175    BF 98FD0D2A     mov     edi, 2A0DFD98
0097C17A    81FB F8F5FFFF   cmp     ebx, -0A08
0097C180    0F85 10000000   jnz     0097C196

------------------------------------------------------------
0097C196   /E9 0B000000     jmp     0097C1A6
0097C19B   |47              inc     edi
0097C19C  ^|74 9D           je      short 0097C13B
0097C19E   |12E3            adc     ah, bl
0097C1A0  ^|E0 99           loopdne short 0097C13B
0097C1A2   |5E              pop     esi
0097C1A3   |3F              aas
0097C1A4   |0C 55           or      al, 55
0097C1A6  ^\E9 59FFFFFF     jmp     0097C104

---------------------------------------------------------
如果再往下F4就会报错误VERSION.DLL     内存断点也试了  也是报VERSION.DLL错误
2010-6-29 21:57
0
雪    币: 152
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
最怕拖壳,现在手头有一软件就是这样的壳,真的是头疼。谢谢!
2010-8-20 11:12
0
游客
登录 | 注册 方可回帖
返回
//