首页
社区
课程
招聘
第一阶段第二题答案-aker
发表于: 2007-8-24 08:12 7927

第一阶段第二题答案-aker

2007-8-24 08:12
7927
昨晚就做出来了,但是该死的网络断了又。

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
2
昨天合并成功后本来不准备做了的.今天有人问,说很难搞,就看了下;)顺便提交

合并很简单,
先从其他文件剥下来一个pe文件头,命名为pehead.dat。然后按照下面的顺序。

rav        - name        size
0000h        - phead        1000h
1000h        - text  6000h
7000h        - rdata        1000h
8000h        - data        3000h
合并,修改每个区块的位置和大小.在text中找入口点,发现有GetCommandLine的函数的起点1527h,在stud_pe中填入。在rdata中找到import table,看看,刚好应该是这个段的起始位置应该7000h,所以就不用重建了。import table,位置为7618h,大小为30,修改IMAGE_DIRECTORY_ENTRY_IMPORT ,修改文件大小,完成重建.

菜单,由于窗口类本身有菜单.手工写一个菜单资源,rc编译为.res文件,先在stud_pe中添加一个新节rsrc,大小为1000。填充为
pediy.com MENU
{
   POPUP "&Help"
   {
      MENUITEM "&About",         1
   }
}
添加一个新节,载入该资源,okay

然后麻烦的是添加处理一个messagebox,要手工写一段代码
先在wndproc中跳出来,自己处理好下面的语句,然后在跳回去

估计我的方法比较笨,想学习牛是怎么作的.
上传的附件:
2007-8-26 20:21
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
3
验证通过~~
2007-8-27 12:56
0
游客
登录 | 注册 方可回帖
返回
//