首页
社区
课程
招聘
[原创][原创]<<0day安全>>3.6节调试
发表于: 2020-2-3 18:58 4104

[原创][原创]<<0day安全>>3.6节调试

2020-2-3 18:58
4104


stosd           ; write function addr to [edi] and increment edi 这一句写入出错, 

             Access violation when writing to [0040B59B] - Shift+Run/Step to pass exception to the program


仔细观察可以看到EAX处并非是我们想要的kernel32.LoadLibrary.

仔细阅读书上内容

     我们将搜索相关库函数的导出表,查找导出表中的函数名,最终确定函数入口地址。在搜

索操作中将采用比较 hash 摘要的方法,而不是直接比较函数名。其中,选择合适的 hash 算法

将是这种方法的关键,也是缩短 shellcode 代码的关键。

在选择这种算法时所考虑的因素:

所需的每个库文件(dll)内所有导出函数的函数名经过 hash 后的摘要不能有“碰撞”

其实这个因素在一些情况下可以适当放宽。例如,当被搜索的函数排在碰撞函数名的第一

个时,即使存在 hash 碰撞,我们仍然知道最先搜到的就是所需要的函数,故这种碰撞是可以

容忍的。


这就明了了, eax存储的hash值处”没有成立,导致指向的内存错误.



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

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 2510
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢分享,学习了
2020-2-3 21:21
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
请问一下有办法解决吗?
2022-10-23 20:56
0
游客
登录 | 注册 方可回帖
返回
//