好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 stwhome58 于 2024-11-13 15:44 编辑
前言
大家好,我是石头娃,一名Android逆向作者,今天给大家带来一篇Android软件某萌新逆向教程。
准备工具
教程开始
-
抓激活码接口,发现http接口并直接返回字符串。尝试修改为【激活成功!】,居然直接通过验证。
-
找到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 < stackElements.length; i++) {
StackTraceElement element = stackElements[i];
XposedBridge.log("at " + element.getClassName() + "." + element.getMethodName() + "(" + element.getFileName() + ":" + element.getLineNumber() + ")");
}
}
-
根据堆栈日志找到对应的代码
-
使用jadx反编译
-
使用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] = "激活成功!";
}
}
});
}
-
成功进入,效果图
-
某萌新还需要单独安装下配置器(鸡肋,不清楚为嘛),分析后好像就新建了一个文件目录(支持.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卡权限,需要开启一下!!!
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|