能力值:
( LV2,RANK:10 )
|
-
-
2 楼
崩溃的原因大概是无法找到JNI_Onload函数,造成程序无法运行下去。在4.3以前的系统我采用am start方法当程序运行一开始就挂载。发现也是找不到JNI_Onload函数,接下来程序也发生崩溃了。也就是说SO进行解壳操作的时候会检查当前它运行的环境。可是4.4以上的环境为什么我不调试程序也崩溃了?
最后我看了android源码对比4.4和4.3系统。发现在soinfo* do_dlopen(const char* name, int flags)函数所做的操作是一样的。所以.init_array section一开始解密系统对它没有影响。最后开始怀疑是否selinux造成的影响。因为selinux在4.4默认是开启的,但是4.3默认是关闭的。可是当我把selinux关闭,程序照样是无法运行。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
不要把有限的时间用到无限的破解上。换个环境不就行了。比赛的题大多都是大部分机型能用就行了。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
本来是想搞清楚到底是什么导致了这道题目无法运行的。你那么说也对,只是个比赛没必要钻得那么深的。比赛的宗旨是要把这道题目做出来,4.4以上系统无法运行换个4.3以下的就行。
|
|
|