-
-
[原创]记录一次非常简单的so层小逆向,适合小白入门
-
发表于:
2020-8-3 15:58
17240
-
[原创]记录一次非常简单的so层小逆向,适合小白入门
题目要求:找出flag
0x01 前景
一个经过360加固了的APK,我们先用FART脱壳
脱壳带走,分析test
Native化,准备干libso
0x02 操作
==================================开始操作===================================
首先查看init.array部分,它的运行时机真的很早。
窥探一下这里的两个内容:第一个函数.datadiv是异或解密【双击进去后分析逻辑得到】
第二个byte_8905是个被加密过的字节
我们接着看JNI_OnLoad,可以发现只动态注册了一个函数,那我们有理由猜测是test
在动态注册时,我们通过观察IDA的.data.rel.ro需要知道方法结构体信息:
结构体包含三部分分别是:方法名、方法的签名、对应的native函数地址;
那么这里我们肯定重点看第三部分,因为要找到具体的解密函数,这时候我们需要在动态注册段对应上:
我们来验证一下:
函数名
byte_1C066:0x87, 0x96, 0x80, 0x87, 0xF3, 0, 0, 0, 0, 0
长度为4
[0]=0x87 ^ 0xF3 = 0x74 = t
[1]=0x96 ^ 0xF3 = 0x65 = e
[2]=0x80 ^ 0xF3 = 0x73 = s
[3]=0x87 ^ 0xF3 = 0x74 = t
合成得:test
所以这是test函数名
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)