-
-
[原创]Hook方法过代理检测
-
2021-1-21 10:41
9105
-
Hook方法过代理检测
但是遇到了一个小问题,只能修改app 重打包过代理检测。
事件
某次测试中遇到一个app有代理检测。提示请关闭代理
。自用的xposed模块过代理没有生效,于是采用hook方法绕过代理。

分析
先将app pull
到电脑上分析代理检测逻辑。app的包名可以通过Apk Helper 获得。

app文件一般存放在/data/app/com.xxx.xxx/
下。
1 2 | cp / data / app / com.xxx.xxx / base.apk / storage / emulated / 0 /
adb pull / storage / emulated / 0 / base.apk D:\Desktop\
|
使用工具jadx-gui
打开apk。搜索关键字请关闭代理

这里知道了为什么我自己的xposed模块没有生效,因为defpackage
(没有包名的类)的问题,我猜测可能没有被xposed hook到。
这里百度了下,发现可以直接hook 对应的方法。那么一切都变得简单了。
跟进第一个节点。

if条件判断,那么只要Appconfig.a()
返回值为false 就可以绕过代理检测。跟进Appconfig.a()

到这里就简单了,把返回值置为false即可。
解决
这里推荐使用objection 来实现hook方法修改返回值,有代码提示,操作难度小,让你快速上手。
手机: 运行的frida-sever端
1 2 3 | adb shell
cd / data / local / tmp
. / fs121114arm64
|
电脑:
1 2 3 | objection - g com.xxx.xxx explore
android hooking set return_value com.xxx.xxx.methodName false
|
凸(艹皿艹 ) 失败了 完全没用。defpackage 引用限制了hook
没办法了 改代码吧。改代码专用androidkiller
改代码 if eqz 变为nez

打包编译 ,依旧提示请关闭代理。
修改第二处提示

跟进NetworkUtils.b(),修改if中的判断,改等于为不等于即可。

对应的smali代码

然后重新打包编译。发现绕过代理检测。

看雪招聘平台创建简历并且简历完整度达到90%及以上可获得500看雪币~