Charles 4.2.7 通用破解文件for Mac and Win

Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

在日常的抓包过程中可谓是必不可少的利器。同时Charles又是很人性的,虽然是收费软件,但即使不购买也能长期使用,并且功能上不会缺斤短两。唯一要付出的代价是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。秉着研究目的来学习它的注册逻辑。

一、找到注册逻辑

惯例,从注册按钮事件开始开始。

Charles 4.2.7 通用破解文件for Mac and Win_第1张图片

可以看到bRegister的监听事件,继续跟进HgWa

Charles 4.2.7 通用破解文件for Mac and Win_第2张图片

注意这里有一个明显的关键性判断: kKPk.lcJx(paramActionEvent, str)) != null,在之前的文章分析过,如果直接删掉这个判断的话会导致异常,所以需要进一步跟进kKPk类。这个类代码较多,就不全贴了,只挑重点的代码进行分析。

首先,从调用上看,该方法返回了null值,但是KcPF = paramString1又有一个赋值的操作。

Charles 4.2.7 通用破解文件for Mac and Win_第3张图片

接着,我们来整理几个重点的方法来看。例如有个布尔型的值lcJx(),我们直接让它返回true就可了。然后下面的String类型JZlU()方法,根据一个值来判断License的类型。我们不管那么多,直接了当的将方法返回值改成我们自己的string。

二、解决编译问题

修改完成后,接下来就是重新编译一下java文件,这是如果直接编译会发现报了一堆的错误,例如找不到LicenseType、乱码、LicenseException异常捕获错误等等。

举例来说:解决乱码

// 要去掉中间的,直接改为[]
paramString1.replaceAll("[�����������������������]", " ");

我们把这些错误解决后,就会得到修改后的class文件。

三、替换jar中的原始class文件

使用jar命令更新jar包,这里只需要注意package路径就好。GPSz类是在package com.xk72.charles的下面,所以需要本地创建一个一样的路径,否则不能正常更新到对应的jar目录。

四、试验

替换到原始的jar文件,打开charles,完美运行。

Charles 4.2.7 通用破解文件for Mac and Win_第4张图片

jar包下载
链接: https://pan.baidu.com/s/19QUxQkbRT-0wTdXEf-dR2A
密码: dqnb

关注获取更多

你可能感兴趣的