首页
论坛
课程
招聘
[原创]抱歉来晚了.看到的时候刚好过了一天.哎~
2008-10-5 06:42 1501

[原创]抱歉来晚了.看到的时候刚好过了一天.哎~

2008-10-5 06:42
1501
看到的时候居然都已经过时了(比赛过时了)...还是发出来的
Email:Anskya@Gmail.com


[1].确定数据位置
1.四个区段.就那两句代码.四个区段.空闲出来的空间足够我们使用的了

2.导入表:RVA:00002014,Size:0000003C
kernel32:2
user32:1
查看原始数据
0x600:8A200000       7E200000       00000000  64200000    00000000
      GetProcessHeap RtlAllocateHeap 结尾     MessageBoxA 结尾
很不幸~空隙不够用.1.往后移动导入表 2.重建导入表.为了得高分.采用第一种做法

3.导出表:无(需要自己重建)

4.重定位表:需要自己添加...不难不难

[2].修改导入表
1.将导入表向后移动到空闲空间...
2.将kernel32和user32一直往后移动4字节...
3.将原有的导入表数组就是SizeOf(TImageImportDescriptor)*3-移动到文件偏移:0x700
4.其他的看修改后的文件

[3].添加数据
1.编写代码决定使用WinExec--因为使用Shell32:ShellExecuteA比较浪费代码
2.不计算数据的话..13字节可完成-----添加地址:0x4CA
[code]
6A 05         push    5                                ; /ShowState = SW_SHOW
68 80308D00   push    008D3080                         ; |CmdLine = "iexplore.exe 

http://bbs.pediy.com"
FF15 08208D00 call    dword ptr [<&KERNEL32.WinExec>]  ; \WinExec
C3            retn


[4].添加导出表
把USER32往后移动...
自己看PE结构吧...

[5].修改重定位表
添加两次重定位表(关键中的关键...重定位表的大小一定要和SizeOfBlock一致否则load出错)
push 008D3080--------RAV:10D3
call [WinExec]-------RAV:10CD
[/code]

第五届安全开发者峰会(SDC 2021)议题征集正式开启!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 201
活跃值: 活跃值 (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
kangaroo 活跃值 6 2008-10-14 21:31
2
0
RVA:10CA
OpenUrlA函数大小=14 字节
附件提交次数=1
得分=min[1.0,(13/14)]×100-(1-1)×5=92.9

加5分
最终得分97.9
---------时间过期了,抱歉同事打错了:)
---分数作废--by aker
游客
登录 | 注册 方可回帖
返回