首页
社区
课程
招聘
[求助]关于elf文件段加密
发表于: 2016-11-28 15:33 5038

[求助]关于elf文件段加密

2016-11-28 15:33
5038
对elf文件中.text段进行加密处理,arm平台没有问题,但是在x86平台上,如果对.text段全部内容进行加密,在运行时load就会有问题。经过测试发现,如果.text段开始的一小部分不加密则没有问题,而不加密部分的长度对于不同的elf文件则不是固定的。x86加载时是否要对text段进行校验?

请大家多多指教,谢谢!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主你好,我也碰到这个问题,不知道你解决了没
2017-11-11 09:26
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你找一个有.init_array和.fini_array的so,然后用readelf  libXXX.so  -x  (.init_array的索引)    查看里面的二进制内容,你会发现他们是.text段的起始地址,所以当动态连接器执行Initarray的函数时,此时.text还没有解密,所以会有问题。
2017-11-13 20:35
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
wx_常鑫 你找一个有.init_array和.fini_array的so,然后用readelf libXXX.so -x (.init_array的索引) 查看里面的二进制内容,你会发现他们是.text段的起 ...
readelf    libXXX.so    -x    .init_array
readelf    libXXX.so    -x    .text
没有看到他们有重叠的部分?
2017-11-16 11:25
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
wx_新的起点 readelf libXXX.so -x .init_array readelf libXXX.so -x .text 没有看到他们有重叠的部分?
具体解释在这个文件里面,你看看,不清楚的话欢迎在提问。
上传的附件:
2017-11-23 16:11
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
wx_常鑫 具体解释在这个文件里面,你看看,不清楚的话欢迎在提问。
谢谢你的解答,有个不太明白,为什么地址9d1d0000  b91d0000变成十六进制的0x1d9d  0x1db9.另外这样是否没办法对.text加密
2017-11-24 16:20
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
wx_新的起点 谢谢你的解答,有个不太明白,为什么地址9d1d0000 b91d0000变成十六进制的0x1d9d 0x1db9.另外这样是否没办法对.text加密
1.关于地址为什么是这样,是因为数据存储在内存中是以小端存储的(低位在地址,高位在高地址,对应的还有一个大端,你可以百度看看,这个很容易理解)。
2.直接对text段加密,遇到这样的问题后,我也没有在深入了解,不过用加壳的方法是不会有这个问题的。(关于so加壳你百度下,有很多文章的,可以看看)
2017-11-27 14:22
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
wx_常鑫 1.关于地址为什么是这样,是因为数据存储在内存中是以小端存储的(低位在地址,高位在高地址,对应的还有一个大端,你可以百度看看,这个很容易理解)。 2.直接对text段加密,遇到这样的问题后,我也没有 ...
好的,非常感谢。如果对.txt加密,哪只要我们在.init前完成解密是不是可以?想通过改变linker来实现不知道可以不?
2017-11-27 16:41
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
wx_新的起点 好的,非常感谢。如果对.txt加密,哪只要我们在.init前完成解密是不是可以?想通过改变linker来实现不知道可以不?
可以的,可以自己实现一个链接器,这也是网上说的so加壳的方法。
2017-11-28 16:03
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
直接去看UPX的实现就好了。
2017-11-28 16:07
0
游客
登录 | 注册 方可回帖
返回
//