前言:
第一次来到看雪大家庭,也不知道什么样的文章才算好文章,也自认水品堪忧,只希望能在接下来的时间向诸位大佬学习。
意外得到了一个安卓远控软件,感觉很好用的样子,正欣喜若狂,才发现是个体验版的,只能生成固定内网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语法:http://www.manongjc.com/detail/25-iskhhheegxpglgf.html
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本地上线测试
上线成功!这款远控能用的功能还是可以的,也不枉我一番折腾。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2022-3-6 22:07
被Get01d编辑
,原因: