一、目标
上篇文章里面,我们跑出来的结果有点不对头,多个一个 ABC。
这次我们试试用 LoadSo的方式来排查下问题。
参考: [借鸡生蛋之SandHook的使用(一)]
二、步骤
我们先用Android Studio 4.0 来编译一个so
打开AS,然后用向导创建一个 Native C++ 工程。
然后创建 /xxx/app/src/main/jniLibs/armeabi-v7a 目录,把我们要分析的 libnet_crypto.so 复制进去
调用下试试
仿照 Jadx分析的结果,把 com.ixxixx.network.NetCrypto 类创建好
package com.ixxixxx.network;
public class NetCrypto {// static {public static void loadso(){try {System.loadLibrary("net_crypto");}catch(Throwable ex){ex.printStackTrace();}native_init();}public static native byte[] decodeAES(byte[] bArr, boolean z);public static native byte[] encodeAES(byte[] bArr);public static native String generateSign(byte[] bArr);public static native String getProtocolKey();public static native void native_init();public static native boolean registerDID(byte[] bArr);public static nativ