破解某CAD看图软件的高级功能
本帖最后由 风绕柳絮轻敲雪 于 2019-10-8 12:33 编辑1.首先我们看看高级功能有哪些,哦豁,看到一个去广告https://static.52pojie.cn/static/image/smiley/laohu/laohu33.gif,就以这个为切入点了
https://attach.52pojie.cn//forum/201910/06/173150z3dwlniaupxnbx6r.png?l
为啥呢?因为我在启动页看到了这个东西,一般看到这个会员去广告这几个字就代表会员和启动页的广告有关联(就是根据是否有会员来显示或者载入广告的
https://attach.52pojie.cn//forum/201910/06/173410p33qtqztq77ym5qy.png?l
2.找到该启动界面的活动类,并在其onCreate方法中发现了以下代码,主要看else if那段代码, || 左边就不用说了,断网了啥都没了,自然就没广告了,看看右边,向checkFunctionPointUseable这个方法传入了MCV_AD_CLOSE这个字符串,根据返回的布尔值来进行下一步是否载入广告
if (FileUtils.openActivityByDeepLink(this, this.strSchemeDeepLink)) {
closeActivity();
} else if (!NetworkUtils.isNetworkAvailable(ApplicationStone.getInstance()) || AppSharedPreferences.getInstance().checkFunctionPointUseable(FunctionPoint.MCV_AD_CLOSE) {
delayLoaded();
} else {
loadAD();
}
3.根据上一步的分析我们跳转到checkFunctionPointUseable这个参数为String,返回值为布尔的方法,代码的大概意思就是根据传入的字符串(也就是功能)和它请求的数据做比对,看看你是否拥有这个功能,拥有这个功能然后判断什么时候到期,也就是说你使用的每个功能都会在这里进行判断
public boolean checkFunctionPointUseable(String str) {
List<AppFunctionPoint> userFunctionPoint = getInstance().getUserFunctionPoint();
if (userFunctionPoint != null && userFunctionPoint.size() > 0) {
for (AppFunctionPoint appFunctionPoint : userFunctionPoint) {
if (appFunctionPoint.getCodes().equalsIgnoreCase(str)) {
if (getFunctionPointExpireTimes(appFunctionPoint) >= 0) {
return true;
}
}
}
}
return false;
}
4.花里胡哨的,直接返回true不就完事了https://static.52pojie.cn/static/image/smiley/laohu/laohu23.gif,代码如下
public boolean checkFunctionPointUseable(String str) {
return true;
}
本地的高级功能就这样完事了,至于VIP的图标显示方法和这个类似,就不说了,好久没发帖了,随便发个凑凑数
部分软件你都可用这种方法破解,涉及视图的改变之类,顺藤摸瓜就完事了
提供原版App,你们可以去试试,不懂的可以问我
链接:https://www.lanzouj.com/i6lx03i 风绕柳絮轻敲雪 发表于 2019-10-10 12:34
提供破解版我这帖就没了 有说这句话的时间建议多看看版规
请问app你是用什么软件对包进行处理反编译的 大佬,反应个问题,你发的滴答清单单文件版,https://www.52pojie.cn/thread-1254648-1-1.html
使用过程中发现,电脑重启之后,软件正常自动启动,显示也正常,但是不能点开软件,一点就闪退,然后再打开就又正常了 谢谢共享。。。。。。。。。 一炮命中 哇塞 可以可以
哇塞 可以可以 CAD快--速看图 还会远吗? 花里胡哨的 这句话有点好笑 哈哈:Dweeqw {:301_1001:}PC版本的也来一个吧嘻嘻 楼主太幽默了;www