几维so文件加壳初步分析

这是早期分析的一点点几维中的so文件加壳,没分析完,好像也现在很少看到他们用了,也没时间看,以下是之前分析的:

一、分析篇:

首先看到核心的函数全部变成了以下这种形式:

So加壳的话,首先定位到.init_proc这个导出函数中,去分析:

通过静态分析可知道:加固完以后几个So文件的主要功能如下:

libkwscr.so:主要是程序crash记录函数;

libkwscmm.so:加载so文件提供环境以及初始化,还有几维的SDK函数,对于程序crash报告记录;

libkwslinker.so:几维的自定义linker,也是核心的So文件;

libbug.so :应用级的So被几维加固处理过的So文件;

init_proc函数的主要功能如下:

从上面可以知道接下来主要是分析:kiwisec_13141688和kiwisec_13141688这两个函数,后面会详细的介绍。

 

 

KiwiSecLoader函数如下,主要是判断是Dalvik虚拟机还是ART虚拟机,然后创建java虚拟机执行环境。

进去看kiwisec_44这个函数:

接着进去分析ikiwiInit这个函数。

接着去分析看ikiwiCrashInit这个函数

接着去分析initAttacker这个函数,以下是攻击检测的分析的具体体现。

接着去分析libkwslinker.so中的kiwisec_1314168这个函数。

接着去分析sub_6138这个函数,函数的具体功能如下:

Sub_5F90这个函数的具体功能如下:

总的来说初步的分析kiwisec_1314168这个函数的主要作用是进行符号查找的一个过程.

我们知道在加载过程即可放在加载器的init_array 中,也可放入

JNI_OnLoad中,但是在libkwslinker.so的导出函数中没有发现JNI_Onload函数,因此很有可能是在.init_array处进行的,因此可以看到如下:

通过调用去分析这几个函数,很多的回归到到这个函数:

没有看出其实质性的作用:

由于在之前执行的时候都用到了其他的So文件因此,可以看一下其它几个So文件中.init_array中的相关内容。

首先是看libkwscmm.so的相关函数

从上面的大致分析,可以看到跟去分析处理应用函数没有关系。

接着看libkwscr.so中的.init_array的相关函数

接着进行分析。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值