破解的一款抓包工具,debug proxy,教你怎么修改so

1.这个软件可以在google play里搜到,很不错,用来抓取手机里app的网络请求,可以模拟弱网络,抓取部分http等,是一个很好用的网络调试工具。下载地址:https://pan.baidu.com/s/1i5qw6Zb


2.这个apk只有在Google play里下载安装才能正常使用,其他路径下载的不能正常使用。

这个apk只有一个so,破解还是比较容易,用ida打开so,按F5,可以看到做了校验的地方,

第一个是installerPackageName

第二个是签名,

第三个是是否开启了调试模式(因为我没有在Manifest里配置,手机是root后开启系统调试了,这里没改)。


先看第一处,


这里对installerPackageName做了校验,获取到v16如果为null, 就会失败,并且通过命令行或者某些手机安装器安装的话,会返回null,所以通过别的途径的安装后不能使用,会被标记为破解的

这个对应的指令为:



当然你也可以直接修改赋值R5一个com.android.vending的字符串,但是我没数赋值字符串的指令够不够

修改后对应的指令为



这样最后R5里就是一个jString "com.dans.apps.webd"。为什么这样修改呢?因为后面R5里还要使用转化成c的String,所以避免麻烦修改后面直接改这里,所以需要给R5一个jString。


第二修改对installerPackageName的判断



通过R5里拿到的 "com.dans.apps.webd" 会和 "com.android.vending"比较,

如果一样会到条件loc_16DC0里,很明显我们修改过上面后,到这里是不一样的,

所以我们改成CBNZ  R0, loc_16DC0, 这样就破解了对于安装器包名的校验了


第二个是对签名的校验:



因为我们重新打包后,签名会改变,所以这里签名是通不过的,这个改起来也很简单,

相等的话,会走到条件loc_16EF0里,我们可以改下面MOVS这行,改成CBNZ R0, loc_16EF0

这样,无论他是否相等,都会走到正确的条件里了

这两处是对so里的破解,java层还有对是否购买服务的判断,只要修改boolean值就行。


对于arm指令转hex的工具,这里有一个在线的很好用,推荐给大家




猜你喜欢

转载自blog.csdn.net/u010232308/article/details/78248425