能力值:
( LV1,RANK:0 )
|
-
-
2 楼
学些了~
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
感谢分享~
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
替换系统so,有这样的壳吗?按照你这个说法,没root的设备这个壳还运行不掉?梆梆和爱加密的壳都见识过没看到替换so只是hook
最后于 2020-5-19 14:39
被tDasm编辑
,原因:
|
能力值:
( LV4,RANK:55 )
|
-
-
5 楼
tDasm
替换系统so,有这样的壳吗?按照你这个说法,没root的设备这个壳还运行不掉?梆梆和爱加密的壳都见识过没看到替换so只是hook
额,我没说是替换吧,so确实是被hook修改的,art那里所说的替换只是指Dalvik和Art核心so发生了改变,可能是我这边描述的不够清楚,抱歉
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
Night_elf
额,我没说是替换吧,so确实是被hook修改的,art那里所说的替换只是指Dalvik和Art核心so发生了改变,可能是我这边描述的不够清楚,抱歉
那你就自相矛盾了。(在将梆梆&爱加密脱壳之后通过AS调试APP遇到反调试挂载失败) 如果只是hook,壳脱掉了反调试的hook就不存在了。除非该程序在加壳前就存在反调试,换句话说,这个反调试与壳无关。
|
能力值:
( LV4,RANK:55 )
|
-
-
7 楼
tDasm
那你就自相矛盾了。(在将梆梆&爱加密脱壳之后通过AS调试APP遇到反调试挂载失败)
如果只是hook,壳脱掉了反调试的hook就不存在了。除非该程序在加壳前就存在反调试,换句话说,这个反调试 ...
你说的那个意思是在脱壳并修复之后调试的情况吧,我这里调试的确实是未脱壳的APP,我说的脱壳只是说将dex还原出来在本地调试,并未修复整个APP,确实是描述有问题
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
1、你文章中都是写修改libart.so、修改libdvm.so,任何人看了都以为你是替换so。你应该写hook libart.so或hook libdvm.so 2、脱壳后的dex,除非不需要修复否则都要修复才能运行的。即便不修复dex,也必须加载一个so才能hook系统so,你不至于还保留壳的so在apk里面吧?而且壳的so都是在壳的dex中加载,还没看到脱壳后dex中有加载壳的so的。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
修复个鬼呀,只是hook未脱壳之前的App,进行动态调试而已。frida native hook 用过没?
|
能力值:
( LV4,RANK:55 )
|
-
-
10 楼
tDasm
1、你文章中都是写修改libart.so、修改libdvm.so,任何人看了都以为你是替换so。你应该写hook libart.so或hook libdvm.so
2、脱壳后的dex,除非不需要修复 ...
1、你说的太对了,我准备去改改,接受批评 2、我只是hook未脱壳的APP,手机上安装的也是未脱壳的原始APP,dex脱出来之后直接反编译成samli通过AS动态调试是可行的,现在只是通过frida hook native修改被壳hook之后的libdvm&libart绕过反调试,感觉没啥毛病吧,表述的很清楚了
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
这种思路不错呀,dump内存的数据进行对比就知道改动点
|
能力值:
( LV7,RANK:100 )
|
-
-
12 楼
get 新知识
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
get 新技能
|
能力值:
( LV1,RANK:0 )
|
-
-
14 楼
有个疑问?你这AS调试遇反调试挂载失败,app进程直接杀死。 IDA挂载同样的道理啊,也会反调,app进程直接杀死,你怎么能dump出app运行时的libart.so的呢
|
能力值:
( LV5,RANK:70 )
|
-
-
15 楼
作者的思路挺不错的,利用hook 原理。指向正确的加载流程地址,反调试原理其实就是判断“全局变量gDebuggerActive”的值,这个值正是文中_Z12dvmDbgActivev函数来设置的,至于原理看一下源码就很清楚了。
|
能力值:
( LV2,RANK:15 )
|
-
-
16 楼
大佬咨询一个问题,我用IDA调试的时候没法断在DexHelper.so加载的位置,一个线程一直异常got SIGABRT signal (Abort) (exc.code 6, tid 14289)。大佬知道是啥原因嘛
|
能力值:
( LV4,RANK:55 )
|
-
-
17 楼
机械皇帝
有个疑问?你这AS调试遇反调试挂载失败,app进程直接杀死。 IDA挂载同样的道理啊,也会反调,app进程直接杀死,你怎么能dump出app运行时的libart.so的呢
ida调试和这个反调试无关,可以正常挂载
|
能力值:
( LV4,RANK:55 )
|
-
-
18 楼
ghostfevil
大佬咨询一个问题,我用IDA调试的时候没法断在DexHelper.so加载的位置,一个线程一直异常got SIGABRT signal (Abort) (exc.code 6, tid 14289)。 ...
你加载so的过程中清空那些信号,应该不会崩了
|
能力值:
( LV2,RANK:15 )
|
-
-
19 楼
大佬 jnibind1 = f.add(0x00115BC4);这个里面的数值是ZN3art3Dbg8GoActiveEv这个函数的偏移嘛
|
能力值:
( LV4,RANK:55 )
|
-
-
20 楼
ghostfevil
大佬 jnibind1 = f.add(0x00115BC4);这个里面的数值是ZN3art3Dbg8GoActiveEv这个函数的偏移嘛
对,但是也要看你手机里libart实际便宜
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
梆梆没脱壳之前frida的attach都会崩,这个咋hook - -
|
能力值:
( LV1,RANK:0 )
|
-
-
22 楼
大神,试试绕过娜迦加固的防反调。
|
能力值:
( LV3,RANK:30 )
|
-
-
23 楼
var vArray = [0x2D, 0xE9, 0xF0, 0x4F, 0x9B, 0xB0, 0xDF, 0xF8, 0xBC, 0x0D, 0xDF, 0xF8, 0xBC, 0x1D]; 被hook前的函数地址是怎么找到的? 是这样? Module.getExportByName('libart.so','_ZN3art3Dbg8GoActiveEv');
|
能力值:
( LV4,RANK:55 )
|
-
-
24 楼
lanoche
var vArray = [0x2D, 0xE9, 0xF0, 0x4F, 0x9B, 0xB0, 0xDF, 0xF8, 0xBC, 0x0D, 0xDF, 0xF8, 0xBC, 0x1D];
...
对的
|
能力值:
( LV1,RANK:0 )
|
-
-
25 楼
黑色刺客
梆梆没脱壳之前frida的attach都会崩,这个咋hook - -
3年过去了,你是怎么解决这个问题的呢
|
|
|