首页
社区
课程
招聘
[旧帖] [讨论]ShellCode遍历 0.00雪花
发表于: 2008-10-17 12:16 3387

[旧帖] [讨论]ShellCode遍历 0.00雪花

2008-10-17 12:16
3387
如果已经得到Kernel32.dll的Basic address
那么如何查找指定的函数所在的地址呢?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
帮你顶顶!!!!!
2008-10-17 12:30
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
用GetProcAddress函数吧
2008-10-17 14:42
0
雪    币: 261
活跃值: (32)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
GetProcAddress是行的,不过要先知道函数的名字,不知道微软有没有提供用序号查函数地址的API函数,
如果没有的话,也可以自己编代码用IAT遍历,这样就可以用序号查
2008-10-17 20:03
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
GetProcAddress既可以用名字查,也可以用序号查。
2008-10-17 21:31
0
雪    币: 175
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
哥哥姐姐
能用GetProcAddress偶就不问你们的啦
问题是我注入的是缓冲区益出。。
得先找到GetProcAddress就能找到其他函数的地址了
可是如何找GetProcAddress的地址呢?
2008-10-19 23:54
0
雪    币: 4583
活跃值: (3567)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
7
a. 通过TEB/PEB获取kernel32.dll基址

b. 在(基址+0x3c)处获取e_lfanew

c. 在(基址+e_lfanew+0x78)处获取Export Directory地址(后面为描述方便简称export)

d. 在(基址+export+0x1c)处获取AddressOfFunctions、AddressOfNames、AddressOfNameOrdinals

e. 搜索ENPT,确定"LoadLibraryA"、"GetProcAddress"所对应的index

f. index = EOT[ index ];

g. function_addr = EAT[ index ];
2008-11-1 14:09
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习了
2008-11-2 12:17
0
游客
登录 | 注册 方可回帖
返回
//