首页
社区
课程
招聘
关于so无源码加壳的一个问题!
发表于: 2016-5-8 13:48 4696

关于so无源码加壳的一个问题!

2016-5-8 13:48
4696

之前看过thomasking大大的so系列文章,手痒想实现一个so无源码加密的东西
是这样的,比如有一个游戏叫mm.apk吧,我提前把他的so文件给加密,比如libgame.so吧。然后我反编译,再得到的smali,然后修改smali汇编在他的里面插入一句,System.loadLibrary("mydemo");,这个mydemo是我用来解密的so,我把这个so跟libgame.so放到同一个目录下面,然后在编译回去形成新的apk包,,请问这样的apk可以运行吗
求求大大讲解下还需要注意什么

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 191
活跃值: (195)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
已经解决啦,可以,thomasking大大万岁
2016-5-8 15:06
0
雪    币: 18
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
thomasking大大的so系列文章  在哪里看 推荐 推荐 给我看看  最近 在努力吸收 so 文章 知识
2016-5-17 15:23
0
雪    币: 191
活跃值: (195)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
搜索thomasking这个关键词啊,在看雪,嘿嘿一起学习
2016-5-17 18:24
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
请问楼主关于so无源码加密,有没有办法可以把解密过程不编译成一个单独的so,而是只修改加密后的so文件,把解密函数加入其中吗?
2016-7-27 16:26
0
雪    币: 191
活跃值: (195)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
你的意思是在原来的so中插入一个函数吗,我个人认为应该是可以的,
第一种方式
但是要考虑到重定位问题,比如你调用libc.so里面的fopen函数,和mmap函数,,如果原来的so本身就调用过fopen函数的话,你就可以实现,但是要对rel.plt等节进行修改哦,,如果原来的函数没有调用mmap函数,那你就麻烦啦,就需要改.dynstr,.hash,等等要改的节可就多了,,所以呢建议你如果要插入函数尽量少用外部函数,可以自己实现的就自己实现,比如你要调用ptrace函数,就直接把ptrace函数的源码其实是汇编,内嵌到你的代码里面来吧,,,,,,
还有一种方式就是用hook了

以上是我个人的见解,因为自身水平不够,所以不要全部相信我自己也没有底没有做过。希望可以给你一些思路吧!!
最后还是希望把so和arm的机器码构造学好吧,学好了那些实现就不怕啦,就只缺思路啦,跟我一起来快乐挖坟,把基本功学好吧
2016-7-27 19:31
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
多谢楼主,获益匪浅!
2016-7-28 16:25
0
游客
登录 | 注册 方可回帖
返回
//