Charles已经有一段时间没更新了,因为工作关系几乎每天都要用到它来抓包。Charles很人性,它虽然是收费软件,但即使不购买也能长期使用,并且功能上不会缺斤短两。唯一要付出的代价是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。秉着研究目的来学习它的注册逻辑。首先,根据界面的点击事件,跟踪到RegisterFrame类,很明显继承了JDialog:
[Java]
纯文本查看
复制代码
然后,我们在这里看到了bRegister按钮的监听事件,继续跟进oNCJ类:
[Java]
纯文本查看
复制代码
注意这里有一个明显的关键性判断:Dheu.PpPw(var4, var2)) != null,在之前的文章分析过,如果直接删掉这个判断的话会导致异常,所以需要进一步跟进Dheu类。这个类代码较多,就不全贴了,只挑重点的代码进行分析。
[Java]
纯文本查看
复制代码
接下来,根据前面的调用来到这个方法,虽然最终返回了null,但是很明显在中途被wAkp这个家伙给动过什么手脚。在搜索下wAkp相关的调用:
[Java]
纯文本查看
复制代码
还是挑重点的方法来看,这里有个布尔型的值PpPw(),我们直接让它返回true就可了。然后下面的String类型WPsu()方法,根据一个值来判断License的类型。我们不管那么多,直接了当的将方法返回值改成我们自己的string。
[Java]
纯文本查看
复制代码
再往下一点点,有一个几乎一模一样的函数,为了安全,同样把它的返回值也一并改掉。篡改完成后大概就是这样:
[Java]
纯文本查看
复制代码
接下来就是重新编译一下java文件,这是如果直接编译会发现报了一堆的错误,例如找不到LicenseType、乱码、LicenseException异常捕获错误等等,
[Shell]
纯文本查看
复制代码
全部修改好之后,就可以顺便的编译了。需要注意的是我们的目标文件是在com.xk72.charles包下,直接编译会提示找不到符号。解决方法也很简单,用-cp命令指定目录就可以了。
[Shell]
纯文本查看
复制代码
最后一步就是将编译好的class文件重新打到jar包中去。同样因为package目录的原因,我们需要创建一个同名的目录等级/com/xk72/charles/来存放修改好后的class文件。
[Shell]
纯文本查看
复制代码
覆盖掉原始的jar文件,重新运行Charles,测试成功!分别测试了Mac和Win7 64位 破解文件链接: https://pan.baidu.com/s/1wl2m9a2hhJwTUJ7sCiKyVg 密码: znpg
[XML]
纯文本查看
复制代码
|
Charles 4.2.5 Mac and Win通用破解文件
最新推荐文章于 2019-07-09 18:44:34 发布