首页
社区
课程
招聘
关于David那个早期Asprotect壳(chap708.exe)我们这样来od它
发表于: 2004-11-14 02:24 12209

关于David那个早期Asprotect壳(chap708.exe)我们这样来od它

2004-11-14 02:24
12209

ollydbg load chap708.exe
bp LocalAlloc
F9 run

0012FF98   0040D2F7  /CALL to LocalAlloc
0012FF9C   00000000  |Flags = LMEM_FIXED
0012FFA0   0000A091  \Size = A091 (41105.)
F9 run

0012FF94   0040D429  /CALL to LocalAlloc
0012FF98   00000000  |Flags = LMEM_FIXED
0012FF9C   00023000  \Size = 23000 (143360.)
F9 run

0012FF94   0040D620  /CALL to LocalAlloc
0012FF98   00000000  |Flags = LMEM_FIXED
0012FF9C   00023000  \Size = 23000 (143360.)

change this in stack : 0012FF98   00000040  |Flags = LPTR

bc LocalAlloc
F9 run
... ...


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (17)
雪    币: 411
活跃值: (1160)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
2
:)

果然是超人

LocalAlloc

是什么api,我的api手册没有相关资料

为什么修改堆栈后就正常了,还请指点.
2004-11-14 04:03
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
3
超人居然主动发贴...天下大乱了
2004-11-14 10:42
0
雪    币: 159
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有没有原文件
2004-11-14 11:25
0
雪    币: 411
活跃值: (1160)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
5
最初由 lihai3330 发布
有没有原文件


http://bbs.pediy.com/showthread.php?s=&threadid=402
2004-11-14 11:42
0
雪    币: 5
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
超人哪!你那个EncryptPE脱壳机做得怎么样了?我们等得好苦哇!
2004-11-14 11:56
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
7
最初由 David 发布
:)


果然是超人

........

    The LocalAlloc function allocates the specified number of bytes
from the heap. In the linear Win32 API environment, there is no
difference between the local heap and the global heap. 

HLOCAL LocalAlloc(

                    UINT uFlags,	// allocation attributes 
                    UINT uBytes 	// number of bytes to allocate  
                   );	
 

Parameters

uFlags

    Specifies how to allocate memory. If zero is specified, the
default is the LMEM_FIXED flag. Except for the incompatible
combinations that are specifically noted, any combination of the
following flags can be specified. To indicate whether the function
allocates fixed or movable memory, specify one of the first six
flags: 

Flag	Meaning

LMEM_FIXED	
    Allocates fixed memory. This flag cannot be combined with the
LMEM_MOVEABLE or LMEM_DISCARDABLE flag.The return value is a pointer
to the memory block. To access the memory, the calling process simply
casts the return value to a pointer.

LMEM_MOVEABLE	
     Allocates movable memory. This flag cannot be combined with the
LMEM_FIXED flag.The return value is the handle of the memory object.
The handle is a 32-bit quantity that is private to the calling
process. To translate the handle into a pointer, use the LocalLock
function.

LPTR	
    Combines the LMEM_FIXED and LMEM_ZEROINIT flags.

LHND	
    Combines the LMEM_MOVEABLE and LMEM_ZEROINIT flags.

NONZEROLHND	
    Same as the LMEM_MOVEABLE flag.

NONZEROLPTR	
    Same as the LMEM_FIXED flag.

LMEM_DISCARDABLE	
    Allocates discardable memory. This flag cannot be combined with
the LMEM_FIXED flag. Some Win32-based applications may ignore this
flag.

LMEM_NOCOMPACT	
    Does not compact or discard memory to satisfy the allocation request.

LMEM_NODISCARD	
    Does not discard memory to satisfy the allocation request.

LMEM_ZEROINIT	
    Initializes memory contents to zero.
 

uBytes

    Specifies the number of bytes to allocate. If this parameter is
zero and the uFlags parameter specifies the LMEM_MOVEABLE flag, the
function returns a handle to a memory object that is marked as
discarded.
2004-11-14 12:15
0
雪    币: 411
活跃值: (1160)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
8


看不明白e
2004-11-14 12:46
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
LMEM_FIXED                           equ 0h
LMEM_MOVEABLE                        equ 2h
LMEM_NOCOMPACT                       equ 10h
LMEM_NODISCARD                       equ 20h
LMEM_ZEROINIT                        equ 40h
LMEM_MODIFY                          equ 80h
LMEM_DISCARDABLE                     equ 0F00h
LMEM_VALID_FLAGS                     equ 0F72h
LMEM_INVALID_HANDLE                  equ 8000h
LHND                                 equ LMEM_MOVEABLE + LMEM_ZEROINIT
LPTR                                 equ LMEM_FIXED + LMEM_ZEROINIT
NONZEROLHND                          equ LMEM_MOVEABLE
NONZEROLPTR                          equ LMEM_FIXED
LMEM_DISCARDED                       equ 4000h
LMEM_LOCKCOUNT                       equ 0FFh

这里起作用的是这个:LMEM_ZEROINIT
2004-11-14 12:46
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
10
那应该是aspr的bug
2004-11-14 12:50
0
雪    币: 266
活跃值: (269)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
11
不是bug,应该作为...

天下人都知道了:D
2004-11-14 14:05
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
强啊~我调试这个壳的时候发现按了一下F9以后就什么代码都没有,按了n次(n》50)以后就运行了~真不知道应该怎么脱,heXer真厉害!佩服,佩服~
2004-11-14 17:23
0
雪    币: 253
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
13
向高手学习。
2004-11-14 20:01
0
雪    币: 258
活跃值: (230)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
14
BT~
2004-11-15 15:59
0
雪    币: 221
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
好文章!
不过还是不解:为什么不用Ring 3的调试器载入就没事?只要用Ring 3的调试器载入就会出现无法通过的异常?
2004-11-15 16:37
0
雪    币: 411
活跃值: (1160)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
16
   不懂原理,英文Api真是心烦
2004-11-19 00:02
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这个早期的Asprotect为何这么厉害?!
2004-11-21 16:51
0
雪    币: 215
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习啊!
2005-9-27 18:49
0
游客
登录 | 注册 方可回帖
返回
//