swag-wp
安卓逆向
打开lib里面的so文件拖进IDA看JNI_OnLoad
找到B2函数地址
中间经过三个变换,但是大佬的wp里面只有矩阵乘法这个变换sub_1090
(队长说,前面的函数转换是为了存dword长度的数据)
sub_DB0 把数据转换成6*6矩阵
sub_F10 矩阵的逆
sub_1090 矩阵相乘
加密的是求逆,解密的时候是专置矩阵(很难受,我数学也就这样了)
这张图可能告诉了我们数组
应该是这样的
win下的numpy好麻烦,在Ubuntu16.04里弄了,写成py文件直接运行比在命令行里打不容易报错。
v8的数组因为是指针有-1,-2,-3,-4,-5这样的,所以要考虑数组开始的位置往前移20个。也要注意小端序。
1. 当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加2. 当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积