使用 Xposed Hook 迫真破解应用简单体验
2021-04-04 / 猫村 あおい 🍭

今天遇到一个加固的东西,怎么办,不会脱喵

过程

先看一遍能看的,发现欲修改的逻辑在某 so 里面,有数据解密和判断,都是调用 java crypto

简单 ida 分析然后 patch 一下,把修改好的 so 放进去

很好,崩溃了, adb logcat 一看,修改后的 so 没有被加载,看起来是做了校验

所以想到用 XPosed hook Runtime.load 换掉被加载的 so

然后发现目标的 so 并没有出现。。。

看来是加固在搞鬼

改变思路,发现有不少 java api 还是可以 hook 的

比如,获取迫真密文解密后的明文,以及修改明文

1
2
3
4
5
6
7
8
9
10
11
12
XposedHelpers.findAndHookMethod("javax.crypto.Cipher", lpparam.classLoader, "doFinal", byte[].class, new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
Log.e("nyaaaaa", String.format("doFinal=%s", format((byte[]) param.getResult()));
String a = new String((byte[]) param.getResult());
if (条件) {
// 修改明文
Log.e("nyaaaaaaaaaa", "ok" );
param.setResult("喵喵喵".getBytes());
}
}
});

还有获取密钥,可以看这个

https://github.com/P4nda0s/CryptoFucker

偷到密钥和明文之后就可以光明正大的使用 VIP 服务了。。。

启示

不要搞什么迫真 DES 加密,迟早都要被破解的。


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 许可协议。
本文链接:
https://nekoquq.github.io/posts/0004.html