安卓逆向篇&LSP模块&HOOK添加技术&绕过检测&算法解密&逻辑验证
前置解释:
0、Magisk:
是当前Android社区用来获取root权限的主流方式开源工具
1、LSP框架:
XPosed框架因只支持安卓8及以下,故高版本应使用Magisk+LSPosed
2、HOOK技术:
钩子技术,本质就是劫持调用,将自身的代码“融入”被勾住(Hook)的程序的进程中
3、算法助手:
LSPosed下的模块,集成常见功能外加自定义HOOK方便逆向调试
安装使用:见上次(88-1天内容环境安装搭建录像)
#APK逆向-反编译&LSP&HOOK-绕检测
private final void K() {
LogUtils.b("niming", "===AppUtils.isAppRoot():" + com.blankj.utilcode.util.c.r() + " DeviceUtils.isDeviceRooted() " + w.q());
if (!A() && !m.a(this.activity)) {
if (a((Context) this)) {
h("检测到您使用了代理软件,不允许继续使用");
return;
}
h.a().a(com.niming.weipa.b.a.n, "");
x();
return;
}
h("检测到您使用的是模拟器或者设备已经root,不允许继续使用");
}
1、模拟器:goto :end end
2、mg+lsp+算法组手 自带屏蔽hook
3、代理检测:postern
HOOK
1、com.blankj.utilcode.util.c
r -> 0
2、com.blankj.utilcode.util.w
q -> false
#APK逆向-反编译&LSP&HOOK-逻辑验证
屏蔽掉/api/mv/watching接口调用
让user.getIs_vip 永远返回true
getIsvip - >1 const/4 v0, 0x1
getVip_level ->4 const/4 v0, 4
if (userBean.getIs_vip() == 1) {
String format = String.format("到期時間:%s", c.d.a.f.i.a(userBean.getExpired_str()));
if (userBean.getVip_level() == 4) {
format = "永久無限觀看";
} else {
this.v.setVisibility(0);
HOOK
1、com.blmvl.blvl.bean.UserBean
getIsvip ->1
2、com.blmvl.blvl.bean.UserBean
getVip_level ->4
#APK逆向-反编译&LSP&HOOK-加密算法
HOOK:mg+lsp+算法组手 算法+逆向=找解密