对于刚入逆向的朋友建议看完,或许对你有很多帮助
是什么原因接触到逆向的呢?
原因就是自己经常用破解后的APP,也包括一些免费软件。无意中听到了mt管理器,然后就进入到了mt论坛,还花了168入手了永久
接触逆向到至今有多久了呢?
半年多吧,从开始逆向软件是从去年12月份开始的,刚开始接触的时候先看了"情非得已"大佬的小白入门教程视频
现在,说说自己的心得吧
刚开始的时候,是不会的,看见论坛各位大佬的教程==然后跟着修改,完全是一脸懵逼
在这里,推荐刚入坑逆向的朋友多看一些精华帖子,情非得已大佬的入门教程也很不错。看了以后有很多收获
既然入坑了逆向那么最基本的smali语法还是要懂的。具体请移步网盘自行下载学习https://www.123pan.com/s/1uGKVv-QTsI3.html(smali语法)
既然基本的smali语法学了,那么就开始逆向吧
常用工具:mt管理器,np管理器,虚拟机,黑盒,算法助手,开发助手以及其他的脱壳和hook公具,论坛已有大佬总结,自己动手找一下
首先要了解软件的结构。基本结构有assets,lib,META-ING,res,xml,dex,arsc这几个文件。详情介绍请移步情非得已大佬专属帖子https://bbs.binmt.cc/forum.php?mod=viewthread&tid=6209正己大佬https://bbs.binmt.cc/forum.php?mod=viewthread&tid=93331
接着,我们还要清楚自己要逆向软件的什么功能。当拿到软件以后,先看下软件是需要去除广告,还是解锁会员,还是需要修改布局
当我们知道要修改软件的什么功能以后,这个时候就需要用到mt(np)管理器了,提取安装包,去签,安装是否闪退(有签名检验的会闪退。同时在提取安装包的时候,还要看下软件是否有加固,有加固的需要脱壳,无加固的可以直接去签安装打开不闪退就可以修改了,至于如何脱壳修复,论坛有很多相关的教程)然后进入dex常量过滤软件的关键词(比如:会员,VIP,高级,普通,过期等)如果这里有搜到关键词,那就进入smali代码进行分析修改
当dex中找不到关键词的时候,还可以到arsc中去搜关键词(会员,VIP等),搜到以后,复制id到dex中去进行搜索
当arsc中无法找到关键词时,可以通过右上角三点进行搜索关键词(VIP等),搜到图标等跟会员相关的关键信息然后复制ID进入dex中进行搜索修改
当以上方法都用了,还是没办法找到关键词,这个时候可以借助开发助手来进行定位软件布局的关键词ID进行搜索,如果这样也找不到,那还可以通过软件的活动入口进行搜索(dex中选择类名),进入后分析是否有相关的关键信息
如果以上方法都用了,还是没有找到关键信息,那么这个时候,我们就需要看一下软件是什么编写的了。如果是js和flutter那就直接放弃吧(大佬们可无视)
当我们通过以上方法找到软件的需要修改的相关信息以后,那么就进入代码中进行分析。不懂Java的可以就看smali。通常修改功能都是通过判断语句来实现的。那么就去我们就看一下,需要修改哪个方法名的赋值来实现功能呢?通常情况是赋值const v0,0x1,但不是绝对的。需要通过分析才知道,也有赋值2,4,8的,也有赋值字符串的,因情况而定(往期帖子也有相关分析以及介绍)
当这些都修改完了,那么就可以保存签名安装看一下是否是修改成功了,如果没有。那么再重新去分析修改(没有谁是一次就可以完全修改正确的,都是需要无数次的失败,才能修改成功)
以上是修改会员功能,那么有的软件没有会员功能,但是广告非常多。那怎么办呢?
那就去除广告,论坛也有许多相关的去处广告的教程
有的软件已经修改了会员功能,但是使用的过程中。会提示更新,那怎么办呢?
方法一:修改版本号,看下是否成功
方法二:dex中搜提示更新的相关信息(比如更新),看是否有
方法三,通过算法助手进行定位弹窗抓取。然后找到对应的类名方法名后进去在该方法开头加return video,或者找到show这段代码之类删除或者注释掉。如果这样闪退了,那就需要查找调用进行方法赋值修改了(往期帖子有介绍)
同时,我们还可以给软件修改图标,名字,内置头像,用户名,ID和添加本地弹窗。往期帖子也有介绍,论坛也有许多相关教程。这就不一一细说了
当有的软件有些功能用不到,那么我们还可以通过开发助手来精简布局,直到自己满意为止(往期帖子也有介绍),论坛也有许多相关教程
说了那么多废话,到最后我也不知道说了些什么。如果想要逆向得心应手,那么还是需要自己多动手操作