-
-
[未解决,已结帖] [求助] like短视频,so层加密,不返回加密后的数据, 500.00雪花
-
发表于: 2020-12-16 11:17 2407
-
最近在研究一款,like短视频软件,现在遇到一个问题,就是 like短视频,调用so层,执行加解密的时候,返回的还是我 传进去的数据..
看java代码..
这是java层代码,我直接拿过来,so文件进行调用,其他软件 比如 pdd 抖音等等软件,都是直接 调用就能够返回结果,
而我自己调用so却不能返回结果, 尝试着去逆向so,而so的逻辑,却又找不到地方 .
加密解密so
System.loadLibrary("exchangekey");
因为传进去的是 byte数组,我尝试在libart.so 关键函数下断,并且能够成功断下来,尝试着返回到调用这个关键函数的位置,却死活也返回不了,不知道这个so 是做了什么处理 ,是不是在编译的时候 ,就隐藏了这个so,但是就算他隐藏了,这个加解密,代码始终存在于内存里面,而我却找不到实现逻辑的地方,
而我们自己编写的so,模仿这个方法,调用,传入byte数组,直接返回上一层就能找到调用的位置. 从而很好的定位.而这个却不行.
中途尝试了很多种方法,始终都不行,我最终祭出了我认为的大招,我们假设这个so有签名校验,如果我自己调用自己,那不是就没有检测了,
我经过了不断尝试,采取反射主动调用它这个加密方法,代码如下..
而通过反射的结果,依然不能正确调用,返回的是 我传进去的,
1 | 到这里,对我来说这个 so调用加密对我来说,以我的水平搞不定这个so了, |
这是我调用so
我传进去什么数据,依然是这个...
希望大神能给与,解答,我心里有个疑问,就是我既然都反射调用他的方法了,照理说相当于程序自身在调用,不应该存在签名校验的问题
资料,
链接: https://pan.baidu.com/s/1Ep42a0Vl-r18GXzDodisTw 提取码: yvkg 复制这段内容后打开百度网盘手机App,操作更方便哦
反射 主动调用,也是一样的结果
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)