-
-
[求助]【静态感染ELF加载SO】感染静态感染SO文件技术.DT_NEEDED 感染后启动报错
-
发表于:
2017-11-25 16:49
5857
-
[求助]【静态感染ELF加载SO】感染静态感染SO文件技术.DT_NEEDED 感染后启动报错
首选 感谢文章 :Android平台感染ELF文件实现模块注入 ab3K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6K6L8r3q4T1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0V1x3e0j5K6i4K6u0V1x3g2)9J5k6h3S2@1L8h3H3`.
这个文章启发了我。我比它做的更好,又简单。现在遇到了问题 希望大家 支招。。。。
目前自己写了一个 普通so 被加载成功后会输出打印出一段文字, 然后我想把这个so 感染 到 某APK lib 目录下的 xxxx.SO 文件。
目的是让 APK启动的时候自动加载我的SO。
在技术实现上用了 给 目标SO添加 自动动态链接加载SO的特殊属性项 DT_NEEDED ,然后 自动加载 我的SO.
APK 在 eclipse自带的模拟器上跑没问题。确实把我的SO也加载起来了,成功输出一段打印文字,用IDA看这个APK 模块确实也被加载起来了。
但是在天天模拟器 和逍遥模拟器 上 测试 就 不行了,感染后的APK启动后直接报错奔溃。调试信息输出 APK原有的SO打开失败(没提到我插入SO名字。。。。)
具体情况:我是把目标SO的DT_NULL 修改为了
DT_NEEDED ,然后 像其 写入 "my.so" 字符串所在的地址。(注意我这里的my.so 不是决定路径)
不过 再重新打包Apk的时候,my.so 是和 Apk原有的so文件放在同一个目录下。
在百度上查了资料发现有的安卓系统 的动态链接器 加载SO寻找SO路径的时候 有如下情况:
动态链接器 找SO路径 先 在安卓系统的 /usr/lib 目录下找 , 然后再 到 /lib 目录下找。如果都找不到 就报错!
[培训]科锐逆向工程师培训第53期2025年7月8日开班!