【Android安全-ALI的sign参数分析】此文章归类为:Android安全。
ALI的sign参数分析,抓包的参数如下,返回结果BASE64解码为明文。只需要分析sign的生成过程。

众所周知,ALI的HASH参数的生成过程是在libsgmain的APK中,native函数为Java_com_taobao_wireless_security_adapter_JNICLibrary_doCommandNative
首先配置UNIDBG的运行环境,根据FRIDA HOOK获取的参数来配置UNIDBG的参数,
Libsgmain 是根据传入的参数i的值来进行不同的运算。
因为doCommandNative函数是动态注册的,直接调用callJNI_OnLoad就能打印出doCommandNative的函数地址是0x40db8。

初始化函数使用的i值是10101,其他的参数根据FRIDA HOOK来获取的。

生成Sign HASH值的i值为10401,另外还需要一个键值为INPUT的HashMap。

Sign的值就是HSAHMAP INPUT值的HASH值。
运行的结果6231e5e70398d58fd2b4daff64fc0106d9507bc8与抓包的结果一致。

日志显示Sign的结果是在0x154730处生成的。查看libsgmain.so发现这个是LR寄存器的地址,0x154730的上一步0x15472c是生成字符串的地址。在0x15472c地址下断点,发现x1的地址存储的就是结果。


对x1的地址0x12f6a000下读写断点,它的调用地址是0x14a9f4。

0x14a9f4处的函数如下

对loc_14A9B8函数进行分析,在0x14A9B8下断点。

发现x8地址的HEX值就是sign的值,所以这个函数只是将HEX值转为字符串。

最后于 2小时前
被易之生生编辑
,原因:
更多【Android安全-ALI的sign参数分析】相关视频教程:www.yxfzedu.com