美文网首页
记一次so的加密与踩的坑

记一次so的加密与踩的坑

作者: Wi1ls努力努力再努力 | 来源:发表于2020-05-21 10:58 被阅读0次
  • 原理
    • so文件到底还是ELF文件,思路在于用__attribute__((section("{name}")))这个申明将核心代码编译后的二进制放入该section中,同时指定__attribute__((constructor))作为so加载进来的第一段代码,在这个代码中对section进行解密。
    • 加密的过程是将打包出来的so文件,进行二进制分析后,将核心代码的section段的二进制进行加密编码,在编写cpp文件时,在初始化函数中进行解密。
    • 还可以根据这个原理,参照网上的方法进行二次加工。比如加密解密的方法等。
    • 如果用__attribute__((section("{name}")))指定的方法在申明函数处是不需要JNIExport和JNICall的,如果加上就会在.text段保存一份,在IDA还是一览无余。
    • 不要想着因为代码在编译后都在.text段所以就想着把.text段加密,既然方法代码都在.text当然也包括你的解密方法了,就发生了“死锁”。

参考资料:
加密脱壳
如果按网上的方法修改了shoff引起的坑
偷so的控件

相关文章

  • 记一次so的加密与踩的坑

    原理so文件到底还是ELF文件,思路在于用__attribute__((section("{name}")))这个...

  • [ANR Warning]onMeasure time too

    ConstraintLayout 踩坑记一次封装组合控件时的坑,我才用了集成 ConstraintLayout 来...

  • 编译 SO 踩坑

    JNI DETECTED ERROR IN APPLICATION: jarray was NULL' 详细错误信...

  • springboot集成swagger2深坑

    记录一次swagger2踩坑记,网上资料杂乱而不完整,自己踩的坑还算比较多,记录下自己的解决历程 一、首次来看看遇...

  • 移动端的头尾固定问题

    新起了个移动端项目,在头位固定问题上又踩了一次踩过的坑。爬起来之后弹弹土,乖乖的坐下来码字,把踩坑换来的经验教训记...

  • Android、Java RSA加密踩坑记

    最近公司在做一个新产品,后台是另一批人,然后通讯加密方法也换了-_-。。。 没办法,在他们那Copy了加解密的Ut...

  • Android Material Design 踩坑记(2)

    Android Material Design 踩坑记(1) CoordinatorLayout Behav...

  • ijk编译so踩坑

    ijk人家提供了一系列的版本,可以直接导入 但是呢,不支持https的视频链接,就是这么神奇不过,人家提供了源码让...

  • 原生App植入React Native 踩坑记

    原生App植入React Native 踩坑记 为什么我踩坑了有一个需求要去可以在当前工程的feature/RN ...

  • 记一次踩坑

    下面这张图有什么交互问题吗(右边的“人员分类”部分最多有20项)? 嗯,好像并没有太大问题。然而... 当开发完毕...

网友评论

      本文标题:记一次so的加密与踩的坑

      本文链接:https://www.haomeiwen.com/subject/dtczohtx.html