首页
社区
课程
招聘
[Anti Virus专题]1.2 - 2.kernel32基地址获得
2009-4-10 15:09 67614

[Anti Virus专题]1.2 - 2.kernel32基地址获得

2009-4-10 15:09
67614
收藏
点赞7
打赏
分享
最新回复 (86)
雪    币: 431
活跃值: (259)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
yangbostar 4 2010-11-18 14:14
76
0
cmp word ptr[edx],'MZ'
这句写错了,因为Z在高地址,M在低地址,所以当以双字节读取时应写为'ZM'
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
李菱 2011-1-20 09:20
77
0
谢谢楼主的总结,正好在看这方面的资料。
雪    币: 112
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
twoseconds 2011-1-21 10:21
78
0
顶一下。学习。收藏
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
victorm 2011-2-21 11:05
79
0
学习了,谢谢xfish~
雪    币: 707
活跃值: (1301)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
qyc 4 2011-3-24 21:51
80
0
谢谢xfish,对PEB有一定了解了
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sanmaoban 2011-5-10 00:07
81
0
我是菜鸟    dec  edx  ;
  xor  dx, dx  ; 减去跨度
edx减一后不就是低位减一吗  然后又xor dx,dx又把低位清零了  那岂不是没变化  搜索比较次数还是一样多  效率怎么提高呢  很费解  望哥哥姐姐们指教
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
future 2011-5-12 15:51
82
0
假设:edx = 0x77889900

第一次:
dec edx ; edx = 0x778898ff
xor edx, edx;   edx = 0x77880000

第二次:
dec edx ; edx = 0x7787ffff
xor edx, edx;  edx = 0x77870000, 跨度正好是0x10000,64k

此处是否也有笔误(第二种方法):
GetKrnlBase2:
   mov  edx, [fs:0]
.Next:
  inc  dword [edx]
  jz  .Krnl
  dec  dword [edx]
  mov  edx,  [edx]
  jmp  .Next
.Krnl:
  dec  dword [edx]
  mov  edx, [edx+4]
.Loop:
  cmp  word [edx], 'MZ'
   jz  .IsPe
  dec  edx
  xor  dx, dx
  jmp  .Loop

.IsPe:  
   mov  eax, [edx+3ch]
   cmp  word [eax+edx], 'PE'
   jnz  .Next ;应该jnz .loop 处
   xchg  eax, edx
   ret
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
future 2011-5-12 15:51
83
0
假设:edx = 0x77889900

第一次:
dec edx ; edx = 0x778898ff
xor edx, edx;   edx = 0x77880000

第二次:
dec edx ; edx = 0x7787ffff
xor edx, edx;  edx = 0x77870000, 跨度正好是0x10000,64k

此处是否也有笔误(第二种方法):
GetKrnlBase2:
   mov  edx, [fs:0]
.Next:
  inc  dword [edx]
  jz  .Krnl
  dec  dword [edx]
  mov  edx,  [edx]
  jmp  .Next
.Krnl:
  dec  dword [edx]
  mov  edx, [edx+4]
.Loop:
  cmp  word [edx], 'MZ'
   jz  .IsPe
  dec  edx
  xor  dx, dx
  jmp  .Loop

.IsPe:  
   mov  eax, [edx+3ch]
   cmp  word [eax+edx], 'PE'
   jnz  .Next ;应该jnz .loop 处
   xchg  eax, edx
   ret
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
future 2011-5-12 15:53
84
0
不好意思,举的例子是“xor dx, dx”
雪    币: 156
活跃值: (190)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
Gall 2011-6-29 15:55
85
0

顶一下,
雪    币: 711
活跃值: (339)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tvman 2011-7-1 11:44
86
0
很好。谢谢楼主
雪    币: 42
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
莫子 2011-7-1 15:05
87
0
mark下  下次看。。!
游客
登录 | 注册 方可回帖
返回