1.通过Jni_load 找到函数偏移
定位到jni_load 函数,跟踪函数sub_A654。如图

其中sub_2e1f4 是对app的签名进行验证,直接nop,sub_736B0 是通过jni调用java的okhttp类的一些方法。sub_7306 是动态注册的函数。

找到地址off_8E0D0,各个函数地址如图所示。
2、分析各个函数的作用
2.1 initializeNative函数

initializeNative函数是对jni调用java方法的一些类进行初始化操作,建议对变量进行改名,类用c开头,方法用m开头便于后续分析。

本文详细介绍了小红书app的Shield逆向过程,从通过Jni_load找到函数偏移到分析各个函数作用,特别是initializeNative、initialize和intercept函数。重点解析了算法流程,包括对key的AES加密和HMACMD5算法的使用,以及如何根据特定条件选择新版或旧版算法。最后,作者通过C语言还原了部分算法,并为Python提供了接口。
最低0.47元/天 解锁文章
2万+





