破解AnroidStudio插件之 Android WiFiADB插件,以及有关jar包说明
本帖最后由 lvbuqing 于 2022-1-10 15:25 编辑介绍的插件是AS插件仓库里面的连接ADB的插件
插件地址:https://plugins.jetbrains.com/plugin/13156-android-wifiadb
机翻内容:
Android Studio 插件,允许您通过 WiFi 连接 Android 设备。用法:- 请确保您的计算机已在 PATH 中配置 adb。然后通过在终端或 cmd 中键入命令“adb”来验证它。更多关于 adb -> Android 调试桥- 从导航栏 > 工具 > WiFiADB 打开 WiFiADB 工具,或使用键盘快捷键 Ctrl+Alt+2。- 通过 USB 将您的 Android 设备连接到计算 > 单击“刷新”按钮 > 选择“连接”。请记住,下次它会记住您的设备。- 如果它没有找到您的设备,您可以通过转到菜单栏工具 > 日志来检查日志。
正版是要收费的:
本帖内容仅针对 Release 2021.3版本有效,其他版本请自测
一般情况下,使用不了的。因为是收费的,需要授权
安装插件后会在C:\Users\AppData\Roaming\Google\AndroidStudio2020.3\plugins\WiFiADB\lib目录下
我们通过jd-gui打开:WiFiADB.jar查看代码发现是这段代码在起作用。
public static boolean isLicensed() {
LicensingFacade facade = LicensingFacade.getInstance();
if (facade == null)
return false;
String cstamp = facade.getConfirmationStamp("PWIFIADB");
if (cstamp == null)
return false;
if (cstamp.startsWith("key:"))
return isKeyValid(cstamp.substring("key:".length()));
if (cstamp.startsWith("stamp:"))
return isLicenseServerStampValid(cstamp.substring("stamp:".length()));
if (cstamp.startsWith("eval:"))
return isEvaluationValid(cstamp.substring("eval:".length()));
return false;
}只有让他返回true,才算是授权成功
破解说明:1.环境:java
2.压缩包管理工具(本文用到的是360压缩)
3.工具包:javassist仓库地址:https://mvnrepository.com/artifact/org.javassist/javassist
直接上核心代码: public static void hookMethod(final String classname, final String hookMethodName, ClassPool pool, String body) throws CannotCompileException, NotFoundException {
CtClass driverClass = pool.get(classname);
CtMethod[] declaredMethods = driverClass.getDeclaredMethods();
CtMethod hookMethod = null;
for (CtMethod declaredMethod : declaredMethods) {
String name = declaredMethod.getName();
if (name.equals(hookMethodName)) {
hookMethod = declaredMethod;
break;
}
}
if (hookMethod != null) {
System.out.println(hookMethod.getDeclaringClass());
hookMethod.setBody(body);
}
try {
driverClass.writeFile("writeFile");
} catch (CannotCompileException | IOException e) {
e.printStackTrace();
}
}
调用:
hookMethod("com.dengzii.plugin.adb.tools.CheckLicense",
"isLicensed", pool, "return true;");
会在工程目录生成处理好的字节码
修改后的代码:
进行代码覆盖:
打包插件:需要将这么文件重新压缩一遍
有三层目录,不会的话就把官方的插件下下来自己对比看,压缩目录一定要对齐,不然插件识别不了。
删除之前的授权文件,目录:C:\Users\AppData\Roaming\Google\AndroidStudio2020.3\eval
然后手动安装插件到AS,重启勾选,勾选启用
然后重启AS 即可!选择restart
可以看到插件已经加载进来了。连接手机
填写ip即可
可以看到,已经连接上了
可以完美调试了
提一嘴,不止用不如此哦,任何jar包都能这样搞,混淆加密找到对应的包与类都行
结束!!!!!!!!!!
截图不易,给个双击,么么哒{:301_1003:}
附上修改好了的插件:https://lvbuqing.lanzouj.com/iVfvAylkrif密码:fmub 本帖最后由 thatCbin 于 2022-1-10 17:06 编辑
Android Studio 自己的ADB 就能调试WIFI 设备 在控制台输入adb connect [被调试设备ip] 连接 然后你的设备栏目就有这个设备了
#ADB [package] 为app包名
安装/强制安装
adb install [文件路径]
adb install -r -d [文件路径]
卸载
adb uninstall
清理
adb shell pm clear
连接
adb connect
断开
adb disconnect
启动
adb shell am start +
关闭
adb shell am force-stop
thatCbin 发表于 2022-1-10 15:36
Android Studio 自己的ADB 就能调试WIFI 设备 在控制台输入adb connect [被调试设备ip] 连接 然后你的设 ...
那都不是重点,重点是去掉Licensed过程{:1_918:} 感谢分享,学到了!!!!{:301_986:} sensMe 发表于 2022-1-10 15:23
感谢分享,学到了!!!!
谢谢谢谢 谢谢分享经验,随便用不到{:1_937:} 感谢分享 只要不000OOO混淆的代码就是贼爽啊 收藏了,之前就想过,怎么修改一个jar,原来是有现成工具的,感谢感谢。只要在jar中找到判断的方法,再通过这工具修改,替换,就能移除或者增加功能了,感谢分享,思路很好。{:1_918:}