首页
社区
课程
招聘
[求助]exe增加一个区段后,如何jmp入新段的领空?
发表于: 2015-5-17 03:08 5576

[求助]exe增加一个区段后,如何jmp入新段的领空?

2015-5-17 03:08
5576
我用LordPE增加一个段后,在OD里怎么把代码写入此段,然后保存文件呢。用了jmp指令,跳不进此段的内存地址里哦 ,应该怎么做呢,有没有其他方法?万分感谢!!!

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (17)
雪    币: 1904
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主早啊
2015-5-17 07:37
0
雪    币: 11396
活跃值: (4289)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
首先你必须让那个地址有效。
2015-5-17 08:18
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
跳不进去估计地址没填对,写代码,可以直接在该段内写,也可以用 UE 等编辑器写好,然后用插件填入
2015-5-17 08:31
0
雪    币: 4854
活跃值: (1863)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不是有装载进内存 会对齐吗
计算下就可以 jmp 实际是目标地址和当前地址运算出来的  其实就是偏移
2015-5-17 08:48
0
雪    币: 13221
活跃值: (5923)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
偶也遇到介个问题鸟,同求解
2015-5-17 09:10
0
雪    币: 239
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
跳转的内存地址错了吧
2015-5-17 09:53
0
雪    币: 11396
活跃值: (4289)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
还有就是空间要可读。
2015-5-17 10:18
0
雪    币: 42
活跃值: (231)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
添加了一个新的区段,你在用LordPE查看这个段的RVA 相对偏移地址,这个段的位置地址 就是基址+RVA。基址有可能是变化的,如果想每次都能运行,那就得用到重定位表了
2015-5-17 10:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
各位早阿。我用od的alt+m查看的地址是对的,我的新的段叫new,基址imagebase为400000,V offset为6c5000,OD里也显示为AC5000,我在OD里入口地址改语句为jmp AC5000,现实为未知的标识符。
2015-5-17 10:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
是不是用LorePE增加了一个区段后要用winhex等编辑器在文件末尾处增加相应大小的0段呢?
2015-5-17 10:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
还有,我用zeroadd添加区段后,文件大小是变了的,但是用lordpe增加了区段,文件大小是没变的。
2015-5-17 10:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
还有个奇怪的问题,我用peid查看是没有加壳的,显示为borland delph 6.0-7.0,但我用pe explorer修改区段大小的时候,显示“该文件已经可能被压缩”,我可以确定文件是没有被加壳的。因为我用od加载后,是可以在文件末尾的0段添加代码,而且可以保存,现在要增加一个区段是因为,文件末尾的0段不够我用。
2015-5-17 10:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
区段的属性设了可读、可写、可执行。与code段的属性一样。
2015-5-17 10:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
有大神吗?
2015-5-17 11:30
0
雪    币: 160
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
我也刚学,希望能帮到你,远程吧 q:9301462  额,不知道算不算违规,只是远程帮助一下,这样最直接,只讨论技术,如果违规了,请论坛管理大神轻轻拍砖。。
2015-5-17 14:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
感谢各位的热心帮助,问题已经解决了,原来在OD出现非法标识符的原因是因为没有把地址写完整,比如:内存地址为00400000,少了前面的两个00,写为400000OD就认为是非法的,现在写完整了,就可以跳了,呵呵 。
2015-5-17 22:45
0
雪    币: 160
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
不是,401000 肯定是有效地址,假如程序有A01000 ,那么写指令的时候应该前面补0或者0x

eg:   jmp 0A01000       mov  [0xA01000],eax
2015-5-17 23:36
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册