首页
社区
课程
招聘
[旧帖] [求助]获取DLL地址 0.00雪花
发表于: 2011-9-22 09:58 1404

[旧帖] [求助]获取DLL地址 0.00雪花

2011-9-22 09:58
1404
shellcode编写时要获取dll地址,其代码如下:

mov eax, fs:0x30              ;PEB的地址
mov eax, [eax + 0x0c]      ;Ldr的地址
mov esi, [eax + 0x1c]      
lodsd  
mov eax, [eax + 0x08]     ;eax就是kernel32.dll的地址

这里用了一个lodsd指令,为什么不将
mov esi, [eax + 0x1c]      
lodsd
两条指令用mov eax,[eax+0x1c]代替啊?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 435
活跃值: (1207)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
2
mov esi, [eax + 0x1c]      
lodsd
=
mov eax,[eax+0x1c]
mov eax,[eax]
上面的写法 少一个字节
2011-9-22 10:04
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
取字符串元素指令 LODS

格式: LODS OPRD 其中OPRD为源字符串符号地址.

功能: 把SI寻址的源串的数据字节送AL或数据字送AX中去, 并根据DF的值修改地址指针SI进行自动调整.
2011-9-22 10:09
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
agree with two opinions above.
2011-9-22 10:31
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haw
5
[QUOTE=bitt;1002711]mov esi, [eax + 0x1c]      
lodsd
=
mov eax,[eax+0x1c]
mov eax,[eax]
上面的写法 少一个字节[/QUOTE]

mov eax,[eax+0x1c]后eax已经是dll的地址了,为什么还要一个mov eax,[eax]啊?
2011-9-22 15:43
0
雪    币: 435
活跃值: (1207)
能力值: ( LV13,RANK:388 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=haw;1002822]mov eax,[eax+0x1c]后eax已经是dll的地址了,为什么还要一个mov eax,[eax]啊?[/QUOTE]

mov eax,[eax+0x1c]后 eax指向LIST_ENTRY结构体

typedef struct _LIST_ENTRY {
   struct _LIST_ENTRY *Flink;
   struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;
2011-9-22 18:14
0
游客
登录 | 注册 方可回帖
返回
//