首页
社区
课程
招聘
看雪论坛腾讯公司2008软件安全竞赛题1
发表于: 2008-10-2 18:49 2203

看雪论坛腾讯公司2008软件安全竞赛题1

2008-10-2 18:49
2203
打开网页,就知道一个ShellExecute的API,WinExec 不知道行不行 好象不行吧我只是按照常规的思路弄了下好象有25字节,后来论坛上都说8个字节搞定,不知道怎么弄的后来又改了下6个字节了,不知道算不算犯规,如果犯规就按25那个算吧。2K的系统没找到,经过XP上测试,可以成功。
大致方法:
       1,既然要调用ShellExecute,那就在IAT给他增加一个导出函数吧,不改变
文件大小,也没增加区段,还算不错吧
       2,再增加EAT,增加导出OpenUrlA函数
       3,修改重定位表。否则新增加的函数无法成功加载
大致思路是这样的。现在给出我的代码,先说25字节那个也就是直接把ShellExecute放OpenUrlA导出函数里的,比较大。后来自己写了一个函数,然后将该函数放到OpenUrlA里了,这应该不算在导出函数里吧,只有6个字节。
25字节的

6字节的

直接CALL上面的函数。
具体修改过程(略)。

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
2
RVA:10CC
OpenUrlA函数大小=25 字节
附件提交次数=1
得分=min[1.0,(13/25)]×100-(1-1)×5=52.0
没有改变文件大小和增加新节加5分
最终得分57.0分
2008-10-2 19:33
0
雪    币: 107
活跃值: (1693)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
原来WinExec可以带参数做到,    13字节
00401068     6A 01                    push 1
0040106A     68 28204200        push pediytes.00422028                         ; ASCII "C:\Program Files\Internet Explorer\IEXPLORE www.pediy.com"
0040106F     FF15 9CA14200     call dword ptr ds:[<&KERNEL32.WinExec>]        ; kernel32.WinExec
2008-10-3 17:33
0
雪    币: 107
活跃值: (1693)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
4
没及格,再提交次!
就问了下朋友怎么打开网页,除了ShellExecute外,还有没有其他函数,他说WinExec好象可以,我说打开指定的网页,不是只执行程序,然后他叫我搜索IEXPLORER命令行参数,然后自己测试一下,真的可以。至于其他关于那个pediy方面的没有涉及。不算犯规吧

怕麻烦,直接在原来的文件上改了,IAT稍微改了下~~
上传的附件:
2008-10-3 21:24
0
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
5
函数地址为 00DE10CC
开始计算函数长度...
OpenUrlA 函数大小 = 14 字节
附件提交次数 = 2
得分 = min[1.0, 13/14]x100 - (2 -1 )x5 = 87.857143
2008-10-14 17:38
0
游客
登录 | 注册 方可回帖
返回
//