首页
社区
课程
招聘
[原创]某壳分析学习过程
发表于: 2018-2-21 16:56 11021

[原创]某壳分析学习过程

2018-2-21 16:56
11021

一·初步分析

          看反编译java代码看是读assets下的so文件,然后加载

          再调用interface函数

          Ida加载so没有搜到interface函数,应该是动态注册。之后hook dvmUseJNIBridge可以看到

          

          发现so的section被处理过,分析dynamic段或者动态在linker下断点找到init函数,看看有没有什么反调试,然后看jnionload。

二.过反调试

           jnionload主要是一些反调试,壳反调试变化不大,网上已经给出反调试。在汇编代码的blx lr这些地方下断点,然后去分析。

          1.首先是检测rtld_db_dlactivity是否为0,主要就是映射linker.so然后遍历符号表找到rtld_db_dlactivity然后判断。这儿被下断点时值为0x10de(小头),改成0xc046(小头)就可以了。

          2. 然后是tracepid的检测,在strtol处下断点,修改返回值为0

          3.  然后是时间差检测。每次修改太麻烦,我是hook了time函数,返回值修改为一个固定值。之前还想,会不会猥琐的专门加个一秒半秒的延迟,这样修改成同一个时间也会过不了反调试。还是想多了。

          4. 端口检测,用ida跟踪时,就不要用23946端口了

三.第二个so分析

         过反调试之后会释放第二个so,第二个so是被处理过的,会进行手动加载,主要就是将linker装载和解析so的过程自己实现。Ida动态调试时直接analyze area释放出来的so也可以识别里面的函数


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 3
支持
分享
最新回复 (11)
雪    币: 7
活跃值: (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
数字的壳
2018-2-21 18:18
0
雪    币: 260
活跃值: (446)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
3
2018-2-21 18:34
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2018-2-22 23:03
0
雪    币: 139
活跃值: (235)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Mark,
2018-2-23 11:03
0
雪    币: 255
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
2018-2-26 17:06
0
雪    币: 360
活跃值: (84)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
7
元气骑士  哈哈哈哈哈哈哈  之前自己改了个无限双持的  so
2018-3-7 15:40
0
雪    币: 33
活跃值: (332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
lz是怎么hook  dvmUseJniBridge的呀..我导入Method结构体会引入一堆嵌套的结构体  怎么才能一次添加完全呀
2018-3-29 23:05
0
雪    币: 260
活跃值: (446)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
9
我之前也碰到这个问题。然后我用的ddi这个框架里的写好的头文件。bc1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6U0M7X3#2#2L8r3I4A6L8X3g2J5i4K6u0r3k6r3c8A6i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2M7%4c8W2M7W2)9J5c8X3c8S2L8s2k6A6K9$3S2G2L8$3E0Q4x3V1k6B7L8X3W2Q4x3V1k6V1k6i4S2K6N6s2g2X3k6W2)9J5k6h3S2Q4x3U0k6F1j5Y4y4H3i4K6y4n7 就这个
最后于 2018-4-2 10:31 被力霸天编辑 ,原因:
2018-4-2 10:30
0
雪    币: 260
活跃值: (446)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
10
尴尬,这个怎么对个人回复?
最后于 2018-4-2 10:43 被力霸天编辑 ,原因:
2018-4-2 10:42
0
雪    币: 33
活跃值: (332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
力霸天 我之前也碰到这个问题。然后我用的ddi这个框架里的写好的头文件。81bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6U0M7X3#2#2L8r3I4A6L8X3g2J5i4K6u0r3k6r3c8A6i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2M7%4c8W2M7W2)9J5c8X3c8S2L8s2k6A6K9$3S2G2L8$3E0Q4x3V1k6B7L8X3W2Q4x3V1k6V1k6i4S2K6N6s2g2X3 ...
谢谢lz  我删除了很多不用的结构体成员也可以了...
2018-4-2 16:27
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
真棒!!加油
2018-4-2 18:39
0
游客
登录 | 注册 方可回帖
返回