首页
社区
课程
招聘
[求助]so中添加一个新的section
发表于: 2015-1-19 15:10 13427

[求助]so中添加一个新的section

2015-1-19 15:10
13427
最近因为在做毕设,想实现往so中插入自己的代码,这样的功能。在网上可以搜到一些关于elf文件感染的代码,但是基本上都是通过向elf的text段的空闲空间写入代码,这种方式对代码体积限制太大
目前,在想如果能够像elf中添加一个新的section那就再好不过了。在google上搜到了一些信息:可以通过linux下的objcopy这个工具,通过它的--add-section指令来完成向elf添加section。找到objcopy的源码之后发现,代码量略大,因为objcopy可以完成很多的功能,要从里面挑出添加section的代码有点麻烦。
所以在此向各位前辈们请教下,有没有啥更简单的方法来完成这个功能?

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 183
活跃值: (1284)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
记得论坛有人发过这种工具。
2015-1-19 17:32
0
雪    币: 204
活跃值: (2033)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
貌似 飘云阁有一个 现成的工具 而且已开源
http://bbs.chinapyg.com/forum.php?mod=viewthread&tid=74777&page=1&extra=#pid636863
2015-1-19 17:40
0
雪    币: 275
活跃值: (259)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
你不会是空道吧?anyway,3q!!
2015-1-19 18:06
0
雪    币: 188
活跃值: (167)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
多多研究elf文件格式,添加一个section需要处理好节表头、节名、bss节、第二个段的修改,就基本可以了
2015-1-20 15:00
0
雪    币: 275
活跃值: (259)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
我在想一个问题,就是有两个段的情况下,前面的段是可读可运行的,而后面的这个段是可读可写的,这样要添加新的代码就得往前面的段的段尾加,这样所加代码的体积不能过大,否则就会超过后面这个段的虚拟地址。。这样说来,所加代码的体积还是受到限制了?前辈,不知道我说的有没有道理。
2015-1-25 22:49
0
雪    币: 188
活跃值: (167)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=wule;1349281]我在想一个问题,就是有两个段的情况下,前面的段是可读可运行的,而后面的这个段是可读可写的,这样要添加新的代码就得往前面的段的段尾加,这样所加代码的体积不能过大,否则就会超过后面这个段的虚拟地址。。这样说来,所加代码的体积还是受到限制了?前辈,不知道我说的有没有道理。[/QUOT

可以扩充后面的段啊,只不过改一下属性不就得了
2015-1-26 10:28
0
雪    币: 275
活跃值: (259)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
8
自己添加个可读可运行的segment可否?
2015-1-28 13:10
0
游客
登录 | 注册 方可回帖
返回
//