-
-
[原创]对某安卓远控的破解
-
发表于:
2022-3-6 21:36
10063
-
前言:
第一次来到看雪大家庭,也不知道什么样的文章才算好文章,也自认水品堪忧,只希望能在接下来的时间向诸位大佬学习。
意外得到了一个安卓远控软件,感觉很好用的样子,正欣喜若狂,才发现是个体验版的,只能生成固定内网ip的apk,本着能改就改的原则,决定对生成的apk进行修改,让其回连到我们指定的ip和端口,当然对此远控的操作纯属为了技术的实践。


准备阶段
1 2 3 4 5 | dex2jar - 2.1
frida - dexdump - 2.0 . 1
jd - gui - windows - 1.6 . 6
apktool
雷电模拟器
|
01对生成的apk马进行反编译
APK是Android Package的缩写,即Android安装包,APK文件的后缀为.apk,但是其格式是压缩文件zip的格式。直接将该文件扩展名改为.zip就可以解压该文件来了解APK文件的结构。

解压apk文件得到dex文件,然后使用dex2jar工具包中的d2j-dex2jar.bat将dex转为jar文件:
1 | d2j - dex2jar.bat classes.dex
|
将生成的classes-dex2jar.jar用jd-gui打开,并找到填写ip和端口的位置:

在这里我们获得了我们想要修改的信息的位置
但是jar文件只能辅助我们查看java代码,无法修改。想要修改的话,还是要反编译出smali文件,然后对smali文件进行修改操作
02反编译smali并修改
smali:存放Java编译成的smali代码,smali相当于Android虚拟机上运行的语言。
1 | apktool d / root / 桌面 / 192.168 . 1.199 .apk
|
从得到的smali文件中找到存放ip和端口配置的地方:

ctrl+f搜索出ip和端口的位置替换成远控所在的Ip和开放端口,
这里是因为数字特征容易搜索,最好是懂一些
安利这篇文章学习一下smali语法:5acK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2S2L8X3!0F1k6$3A6U0i4K6u0W2j5$3!0E0i4K6u0r3k6r3g2@1j5h3W2D9i4K6u0r3x3U0g2Q4x3X3c8A6M7$3E0Z5K9r3S2W2k6h3N6^5M7r3N6D9k6$3k6Q4x3X3g2Z5N6r3#2D9
03回编
1 | apktool b / root / 桌面 / 192.168 . 1.199
|
这样的之后在/root/桌面/192.168.1.199/dist/下会生成修改之后的apk
04签名
这样我们的app添加就算完成了,但是在手机是无法运行的。因为没有签名。
1 | keytool - genkey - v - keystore mykey.keystore - alias alias_name - keyalg RSA - keysize 1024 - validity 22222
|
需要输入密钥,其他的随便就好
1 | jarsigner - keystore mykey.keystore 192.168 . 1.199 .apk alias_name
|
05本地上线测试
上线成功!这款远控能用的功能还是可以的,也不枉我一番折腾。


[注意]看雪招聘,专注安全领域的专业人才平台!
最后于 2022-3-6 22:07
被Get01d编辑
,原因: