能力值:
( LV2,RANK:10 )
|
-
-
2 楼
支持...
|
能力值:
( LV7,RANK:100 )
|
-
-
3 楼
围观....
|
能力值:
( LV8,RANK:138 )
|
-
-
4 楼
膜拜………………
|
能力值:
( LV8,RANK:120 )
|
-
-
5 楼
哈哈,处女贴竟然得了个优秀,值了!
开始分析的时候还是很困难的,不过越到后面就越熟练,只要有耐心,大家都能破出来。
ps:话说,没有大牛帮忙解释下360是如何使得这个so无法进行ida分析的么?或者给个相关资料链接也行啊~
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
楼主分析的不错,分析文档后面两个问题提的很到位。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
感谢分享,学习下
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
多谢分享!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
请问一下,里面的so是用什么工具动态调试的,我用ida6.1一直断不下来
|
能力值:
( LV8,RANK:120 )
|
-
-
10 楼
我使用的ida6.1加小米2s,动态调试完全没问题。你可以参考非虫大大的《Android软件安全于逆向分析》8.5.2中的介绍来操作。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
今天下午实验了一下,发现可以动态调试,只是在ida上寻找关键断点时,因为对设置ARM指令还是Thumb指令不是很清楚,断点没设置好,这方面还得学习一下。顺便想请教一下,在程序加载so文件以后,将所需so dump回来以后,是不是还得做一些还原的工作,才能恢复正常的elf文件,用以反汇编分析,这方面您是怎么做到呢
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
赞,学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
楼主分析解决了 最后的两个问题吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
前排支持
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
看楼主这么卖力的,俺凑个热闹
先上个修复图,不明白的看下elf文件结构。
其实这个修不修复没啥影响。就未修复的来说,ida 静态加载虽然会弹错,但导出函数能正确识别,只是不能区分有些section。看jni_onload, verify就知道是被加密了,那前面肯定有个解密函数。翻翻ida能识别的代码,大概齐__gnu_armfini_26就是你想要的解密。
当然修复了更直观,直接可以看到 __gnu_armfini_26x 在.init_array section。
再说下另外一个问题,动态加载的时候根本木有还原。section header table没被破坏,所以加载器能够正确识别。
|
能力值:
( LV8,RANK:120 )
|
-
-
16 楼
感谢指点。我先消化消化~
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
高端 咱也学习学习 我竟然不知道IDA可以静态调试的~~~~~
|
能力值:
( LV8,RANK:120 )
|
-
-
18 楼
按照您的指点,成功修复了elf。也发现了so加密函数就在__gnu_armfini_26(init.array节中)。不过这部分代码过于复杂,静态分析起来难度太大,需要结合动态分析才能弄清它的加密算法。
现在问题又来了:鉴于init.array只有在so初次加载的时候执行,所以必须在so刚加载的时候就下断点,然后才能动态跟踪init.array中的函数。
大牛你看下能不能在init.array下断点。望告知方法,不胜感激!
ps:我也使用了am start -D这种方式,但IDA始终不能断在libraries load处。我的调试环境是小米2s和IDA6.1,不知是不是IDA的问题。
|
能力值:
( LV8,RANK:120 )
|
-
-
19 楼
额,我静态分析搞定部分了 ~~就是有点费时费力 ~ 不过还是跪求下断点方法 ~
|
能力值:
( LV7,RANK:100 )
|
-
-
20 楼
期待楼主脱壳!!!
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
|
能力值:
( LV8,RANK:120 )
|
-
-
22 楼
[QUOTE=lasvegas;1303851]1, 还用am start, 换个新款的ida
2, patch so (p14) 替换原来的。[/QUOTE]
新款IDA ~等我肾长出来了再说吧~
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
[QUOTE=lasvegas;1303851]1, 还用am start, 换个新款的ida
2, patch so (p14) 替换原来的。[/QUOTE]
6.4的可以断下来吗?
|
能力值:
( LV3,RANK:30 )
|
-
-
24 楼
至于最后一个问题: 节头信息和一些节名字符串是在elf文件中完全没有用的。完全可以抹掉。对于链接试图的文件中,linker是根据段进行加载的。section header是没有用处的
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
lz知道它native函数是怎么注册的吗,感觉找到了注册的地方,调用了libvm.so中的方法,但原理不太明白
|
|
|