首页
社区
课程
招聘
刚刚读懂了win32汇编书中的增加pe功能部分,增加功能后的程序却不能调试了
发表于: 2007-4-19 01:42 4332

刚刚读懂了win32汇编书中的增加pe功能部分,增加功能后的程序却不能调试了

2007-4-19 01:42
4332
终于读懂了win32汇编一书中关于增加pe功能的那部门,书中提供的增加pe功能的程序每行都自己加了注释。

先建立了一个简单的hello.exe,就是只弹出一个对话框,点确定,退出程序。
使用书中提供的程序,给hello.exe增加一个功能,首先弹出二选对话框,点是,执行原hello.exe的功能。点否退出程序。增加功能大概流程如下
1、新增了一个节表(所有关于节的有关数据正确设置)
2、所有PeHeader正确设置
3、文件末尾新增节数据,并正确作了FileAlign
4、修改PeHeader中的入口点为新增代码入口点。新增代码末尾使用 0e9h 构造的 jmp near指令跳转到原入口点
至此,功能添加完毕。新程序名为hello_new.exe,也可以正常实现目标功能。

但是用od却无法调试了,打开hello_new.exe,提示用模块'hello'入口点超出代码范围。字符串参考查不出任何字符。F9也无法运行程序。

既然程序可以正常运行,说明各个有关PE文件描述的结构正确,某则应该报不是有效的win32程序才对。而且代码也正确,否则不可能实现需要的功能。同时也说明程序的入口点也正常,否则还是程序不可能执行,但为什么不能调试,还说没有入口点呢?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
2
安装Advanced Olly Plugin
2007-4-19 02:21
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
我怎么,可以啊,
2007-4-19 11:51
0
游客
登录 | 注册 方可回帖
返回
//