APP攻防--安卓逆向&数据修改&逻辑修改&视图修改

APP攻防–安卓逆向&数据修改&逻辑修改&视图修改

目录标题

  • APP攻防--安卓逆向&数据修改&逻辑修改&视图修改
    • 工具集
    • apk目录意义
    • 逆向数据修改
    • 逆向逻辑修改
    • 逆向视图修改
    • 某小说升级vip
    • 某兔去除广告
    • 某壁纸升级vip

工具集

MT管理器
NP管理器
APK查壳工具PKID
开发助手专业版破解版 v6.8.4
开发者助手
Smail语法查询
HttpCanary(小黄鸟)
吾爱破解demo(密码52pj)
以上工具均可在吾爱破解论坛视频《安卓逆向这档事》中找到
视频地址《安卓逆向这档事》

apk目录意义

APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第1张图片

逆向数据修改

在吾爱论坛大佬写的练习逆向app中,第一关完成对app中得图片与文字替换
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第2张图片
使用MT管理器对目标APP进行安装包提取定位
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第3张图片

APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第4张图片

提取之后查看APK中得代码
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第5张图片
图中得文件夹中就是APK未进行反编译得代码
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第6张图片

使用开发者助手抓取APP上的文字内容进行复制
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第7张图片
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第8张图片
使用MT管理器中的搜索功能对关键字进行搜索
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第9张图片
搜索出只有JF.xml文件中包含关键字
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第10张图片
将文件进行反编译之后使用搜索功能对文件中关键字进行搜索,找到关键字位置进行修改即可完成对关键字的替换,更换完成保存并对文件更新即可。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第11张图片

下面继续对其他关键字进行搜索,发现结果在resources.arsc文件中存在。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第12张图片

通过搜索资源值进行搜索
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第13张图片
通过搜索找到关键字所在的位置,按照搜索结果路径即可顺利找到字符所在位置进行修改。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第14张图片
同样通过查看id值也可以实现定位。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第15张图片
通过id定位的结果也一样。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第16张图片

通过各种方式的查找找到了关键字的位置,即可对关键字进行修改
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第17张图片

第三个关键字在dex文件中,这个文件写的是APP的运行逻辑程序。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第18张图片
通过dex编辑器++方式打开classes.dex文件对关键字进行查找,根据查找字符串或者查找代码、类名等方式找到了关键字所在位置。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第19张图片

对关键字进行修改保存即可
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第20张图片

最后将apk进行签名覆盖安装即可
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第21张图片APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第22张图片
签名之后会启动生成一个apk文件,覆盖安装即可
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第23张图片
重新启动运行后即可发现,我们所要修改的关键字成功呗修改成我们想要的语句。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第24张图片

逆向逻辑修改

在吾爱破解demo第二关中,在进行一键三连时,需要首先获取10个硬币,我们需要绕过此项验证。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第25张图片

通过对关键提示字进行搜索,定位到了以下smail代码,使用其他工具NP管理器、jadx等进行搜索转为java代码之后,发现是一个if语句进行控制
image.png
image.png
通过smail语法查询即可获取执行逻辑,将执行逻辑改变即可。如下通过查询smail语法得知,原smail代码通过判断p0和v0的关系来得知是否具备10个硬币,我们只需要将其取反,将if语句由if-ge改为if-le即可修改运行逻辑,在没有10个硬币的情况下也可以进行下一步操作。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第26张图片
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第27张图片
修改保存,对apk进行签名后安装即可。再次对修改后的APP启动后发现成功绕过硬币检测。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第28张图片

逆向视图修改

在demo第三关中,发现会弹出广告,要想将他绕过,就需要监视模拟器上视图的跳转情况。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第29张图片
使用MT管理器的Activity记录来监视视图跳转情况
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第30张图片

APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第31张图片
由于广告弹窗是在第三关界面中停留若干秒才弹出来,因此我们需要进行排查,首先从第三关界面的类中去排查。通过搜索关键字类名进行搜索。搜索结果如下
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第32张图片
对第一个类进行查看
通过loadAd这个方法名大致意思为加载Activyity的意思,这里的0x3e9是1001 的十进制表示,而 0xbb8则是3000 的十进制表示 ,这里代码的意思是1秒到3秒的时间间隔,尝试将这两个值修改为0。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第33张图片
从转换后的java代码也可以大致猜出什么意思。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第34张图片
将apk进行保存签名后重新安装,打开后发现广告弹窗成功绕过。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第35张图片

某小说升级vip

在vip处找到关键字开通,通过MT管理器进行反编译,然后搜索开通关键字
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第36张图片
搜索结果如下,由于dex文件所写的为APP运行逻辑,开通vip的这件事情是逻辑修改,因此优先查看dex文件
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第37张图片

在dex文件中搜索结果中几乎全部都是显示的字符串,跟逻辑几乎没有什么关系。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第38张图片
在资源id对应文件中搜索结果如下,其中有一项已开通,另外两个方法在命名中的HK和TW应该是其他地区的逻辑。我们尝试将此方法对应的id值长摁复制,拿去dex文件中去搜索。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第39张图片
在dex文件中搜索结果如下,其中第一个结果为初始化函数,因此第一个一般不会去修改
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第40张图片
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第41张图片
经过对smail语法分析,其中决定vip是否开通的关键在与y5函数的执行结果,通过对y5函数的追踪,对y5函数的返回结果v0强制赋值为true,0x0变为0x1。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第42张图片
在对目标apk进行签名重打包过后重新安装,再次查看界面,发现成功绕过vip开通检测,成功开通vip。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第43张图片

某兔去除广告

在打开目标APP后,发现界面上加载有广告,想办法去除掉。由于这个广告并没有进行跳转,因此不能使用监控Activity的方式来获取广告的视图。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第44张图片
使用开发助手的布局查看功能查看广告所在的视图
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第45张图片
打开布局查看功能后选中广告所在位置即可
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第46张图片
选中后会出先两个视图,第一个视图才是广告视图,第二个选中后红框圈中的范围并不是我们想要的范围,因此第一个视图才是我们想要查看的视图。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第47张图片
选中后上面记录着视图实现的类名,根据类名进行查找实现代码。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第48张图片
搜索结果如下,视图设置一般在xml中。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第49张图片尝试将视图的高度和宽度设置为0。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第50张图片
将目标apk编译重打包加入签名后重新安装并启动,成功将广告去除。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第51张图片

某壁纸升级vip

目标APP开通vip的方式类似于Web中的前端校验绕过,这里实现的方法是固定返回数据包,将身份证明的数据包进行修改,并通过抓包工具将APP每次请求服务器的数据包都进行修改。这个方法的前提是要知道身份伪造的数据包的具体参数。
数据响应包应修改如下

{
  "code": 200,
  "data": {
    "id": 2220156,
    "userId": "8kMP5il1",
    "phoneNum": "手机号",
    "username": null,
    "avatarUrl": null,
    "coverUrl": null,
    "gender": 0,
    "vipType": 256,
    "vipPastDueTime": 0,
    "vipLabelLevel": 3,
    "vipLabel": "元老用户",
    "createTime": 1693635001297,
    "updateTime": 1693635001297,
    "vitalityVipPastDueTime":253392455349 ,
    "accountSign": null,
    "webBackground": null,
    "unionId": null,
    "age": 0,
    "category": null,
    "isVirtual": 0,
    "qqUnionId": null,
    "pcVipType": 256,
    "pcVipPastDueTime": 253392455349,
    "vitalityPcVipPastDueTime": 253392455349,
    "token": "账号token"
  },
  "error_msg": null
}

APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第52张图片

使用小黄鸟开启抓包
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第53张图片
关键请求数据包如下,使用过滤功能过滤关键字token即可定位。
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第54张图片
对目标数据包进行重写
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第55张图片
将数据包的数据载荷部分进行修改保存
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第56张图片
选择在线编辑,将要固定的数据修改保存即可

APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第57张图片
在插件管理器中开启插件,同时开启抓包即可。再次打开目标APP即可发现成功开通VIP
APP攻防--安卓逆向&数据修改&逻辑修改&视图修改_第58张图片

以上内容仅作学习记录,如有错误或瑕疵,欢迎批评指正,感谢阅读。

你可能感兴趣的:(APP安全,android,安全,web安全)