首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
1)珠海金山2007逆向分析挑战赛
发新帖
1
0
[原创]第二阶段第二题解答
发表于: 2007-8-28 23:12
6909
[原创]第二阶段第二题解答
TeLeMan
1
2007-8-28 23:12
6909
首先确定test.txt文件前8个字节。因为52个字节长度正好覆盖到返回地址,而不破坏其他的栈数据。因此首先计算((x*0x78CC02A869948F1B)%(2^64))%0x5BE6FF82A5164785=0x0D
然后发现异或转换后,前两个字节一定是是EB 7C,正好是个跳转指令。
又发现在EXE代码中地址0x04002B8正好是JMP ESI指令,而ESI正好指向test.txt的文件内容。
因此用这个地址的值,覆盖函数返回地址,这样就保证了通用性,和windows系统无关。
因为此时EBP的内容也被破坏,为了可以重复利用,shellcode中需要恢复EBP的内容。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
#第二阶段◇第一题
上传的附件:
test.txt
(0.13kb,3次下载)
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
3
)
TeLeMan
雪 币:
99
活跃值:
(2433)
能力值:
( LV4,RANK:50 )
在线值:
发帖
14
回帖
131
粉丝
8
关注
私信
TeLeMan
1
2
楼
进一步优化,让覆盖多28个字节,最少只能也只能是28个字节。找到合适的前8个字节数据,转换后的指令不是EB 7C了,而是7B 72,是个JNP指令。
此时CPU的P标志是1,这个指令不会跳转。多出的28个字节必须用0填充,恰好VirtualAlloc分配的内存初始都是0,这样0就不需要写在文件里了。因此可以优化到最小尺寸51个字节。
上传的附件:
test.txt
(0.05kb,4次下载)
2007-8-29 06:58
0
笨笨雄
雪 币:
846
活跃值:
(221)
能力值:
(RANK:570 )
在线值:
发帖
212
回帖
3620
粉丝
23
关注
私信
笨笨雄
14
3
楼
验证通过~~
2007-8-29 07:54
0
笨笨雄
雪 币:
846
活跃值:
(221)
能力值:
(RANK:570 )
在线值:
发帖
212
回帖
3620
粉丝
23
关注
私信
笨笨雄
14
4
楼
111.65922595320097528252866723757
2007-9-2 21:07
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
TeLeMan
1
14
发帖
131
回帖
50
RANK
关注
私信
他的文章
[原创]Shellcode Helper v1.51
20066
[转帖]Oreans UnVirtualizer 1.3
15400
[转帖]VMSweeper 1.3 beta
8931
[转帖]Visual DuxDebugger 1.0 (RC)
7492
[原创]第二阶段第四题解答
15210
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
千里之外
mavermaver
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部