大家好,我是石头娃,一名Android逆向作者,今天给大家带来一篇Android软件某萌新逆向教程。
17314687456662.jpg (18.11 KB, 下载次数: 1)
下载附件
2024-11-13 15:43 上传
准备工具
教程开始
[ol]
抓激活码接口,发现http接口并直接返回字符串。尝试修改为【激活成功!】,居然直接通过验证。
17314740449909.jpg (17.98 KB, 下载次数: 1)
下载附件
2024-11-13 15:43 上传
找到hook的对应接口,使用lspatch修改返回数据。
通过查找TextView的文本找到校验激活码的接口代码。
private void textViewLog() {
XposedHelpers.findAndHookMethod("android.widget.TextView", getApplicationClassLoader(), "setText", CharSequence.class,
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
if (param.args != null && param.args.length > 0 && param.args[0] != null) {
String text = param.args[0].toString();
if (text.contains("激活码错误或冻结")) {
XposedBridge.log(text);
printStackTrace();
}
}
}
});
}
private void printStackTrace() {
Throwable ex = new Throwable();
StackTraceElement[] stackElements = ex.getStackTrace();
for (int i = 0; i
根据堆栈日志找到对应的代码
17314736662380.jpg (49.12 KB, 下载次数: 1)
下载附件
2024-11-13 15:43 上传
使用jadx反编译
17314737634778.jpg (63.99 KB, 下载次数: 0)
下载附件
2024-11-13 15:43 上传
使用lspatch修改接口返回值
private void successHook() {
XposedHelpers.findAndHookMethod("i.Api.100000007.100000006", getApplicationClassLoader(),
"Result", String.class,
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
if (param.args != null && param.args.length == 1 && param.args[0] != null) {
param.args[0] = "激活成功!";
}
}
});
}
成功进入,效果图
17314783686311.jpg (37.75 KB, 下载次数: 0)
下载附件
2024-11-13 15:43 上传
某萌新还需要单独安装下配置器(鸡肋,不清楚为嘛),分析后好像就新建了一个文件目录(支持.txt)。hook掉!
private void newTargetFile() {
try {
// 在 SD 卡目录下创建一个名为 "支持.txt" 的目录
File sdcard = Environment.getExternalStorageDirectory();
File supportDir = new File(sdcard, targetFileName);
if (!supportDir.exists()) {
boolean dirCreated = supportDir.mkdirs();
if (dirCreated) {
XposedBridge.log("targetFile created");
} else {
XposedBridge.log("targetFile Failed to create directory");
}
} else {
XposedBridge.log("targetFile Directory already exists");
}
} catch (Exception e) {
XposedBridge.log(e);
}
}
测试功能需要SD卡权限,需要开启一下!!!
17314800064698.jpg (74.26 KB, 下载次数: 0)
下载附件
2024-11-13 15:43 上传
[/ol]