该视频app的核心加密算法sig3 在libkwsgmain 中是实现,为了详细研究该算法,首先需要对so去花处理。

以libkwsgmain中JNI_OnLoad 函数为例,该函数首先调用loc_4cda0 函数,在loc_4cda0 函数又立即调用sub_b8778函数,sub_b8778函数是用来计算函数的真实地址的。此外,从0x4cda4开始,实际上是跳转表,但是被ida误以为是指令。
sub_b8778函数汇编指令如下:

在该函数中实际上是修改了PC寄存器的值,从而计算并跳转到JNI_OnLoad 真实函数地址。
实际上该so中有很多出这样的计算跳转地址,因而可以写去花脚本,实现批量去花,就能够快乐的F5了


写在最后,该app中除了该so文件,还有libcore.so 也使用了该种插花手段,去除方法相同。
更多【某手app libkwsgmain 去花】相关视频教程:www.yxfzedu.com