Android逆向之KSWEB3.9.3破解教程及成品

软件简介

Ksweb,基于安卓的一款轻量级的服务器套件。
通过Ksweb,你可以在安卓系统上搭建“php,mysql,lighttpd”环境,并包括常用的sentmail组件。使用Ksweb,可以将安卓移动设备打造成一个移动可便携的服务器(VPS),或者在任何时间和地点,通过手机调试php程序,获取ROOT权限后,可以使用80端口,方便简单。

前提准备

ksweb有签名验证,不过直接通过尼古拉斯*赵四的签名破解工具即可破解,或则直接用MT2.0的签名破解,
还有本文需要会的技术:会通过字符串查找关键信息[这一部分我接下来会略讲]

逆向分析

这个软件有个试用期的限制,会在软件启动时检查请求网络检查是否过期,经过抓包,获得了它的检查试用期的链接:http://kslabs.ru/service/24082016/checkTrial.php ,POST提交方式,传入参数为:deviceID=57a62727ea2f08a614d5443af0421814&version=v3.93,那我们直接在dex里搜索下这个链接
Android逆向之KSWEB3.9.3破解教程及成品_第1张图片
很简单一个请求,经过分析该类源码,发现在同类下这个a方法里对试用期做了判断:
Android逆向之KSWEB3.9.3破解教程及成品_第2张图片
下面那几行代码一看就是获取还剩多少天多少小时,多少分,那么retrurn “0”;表示试用期已满了,我们可以让它强制返回“0”,经实验的确是显示试用期已满,那么这里就是处理试用期的地方,我们的目的是让它走专业版的处理流程,那么肯定不能让它走这个试用期处理流程,于是再度分析,在专业版情况下它应该不会再检查试用期,也就是根本不会再执行检查试用期的代码,那么它肯定有一个地方会判断是否是专业版,经过分析发现:
Android逆向之KSWEB3.9.3破解教程及成品_第3张图片
图中A是检查试用期的代码,那么B就是当检测到时专业版时会执行代码,我们进去那个new a().b()判断方法里看看:
在这里插入图片描述
显示这个this.c就是判断是否是专业版的标志了,那么我们直接让它强制返回真不就行了,经测试可以去掉试用期限制,但是还有个地方,nginx那个地方仍然显示需要激活,显然这个激活不是通过那个this.c判断的,我们继续分析,通过字符串查找信息,发现以下关键代码:
Android逆向之KSWEB3.9.3破解教程及成品_第4张图片
图中A就是那个显示激活的布局Id,在setVisibility方法中0是设置可见,8是不可见,那么B就是激活后执行的代码,C就是未激活执行的代码,我们再看下它的判断条件new a().e(),显然跟试用期判断方式的确不同,不过仍然在这个a类中,显然这个a类就是处理注册激活的核心类了,
Android逆向之KSWEB3.9.3破解教程及成品_第5张图片
图中那个b()方法就是刚才判断试用期的,现在这个e()方法又在此基础上增加了一个条件:c()==2,我们在看下c()方法实现:
在这里插入图片描述
显然判断标志就是这个this.a了,我们让它直接返回2试试看,经测试成功破解激活。

成品下载

关注微信公众号"Codtri",回复1004即可获取破解版成品!若有机会我还会秩序更新ksweb的破解,第一时间在公众号里发布,请持续关注吆!

你可能感兴趣的:(Android逆向)