本文所有操作均在Mac OS X EI Capitan下进行
先上结果
链接: http://pan.baidu.com/s/1o64C1ku 密码: q9av
前提: 首先版本得是Charles 3.11.1,理论说3.11也是可以的,3.10以下的不用试了
将jar包下载下来后,将名字改成charles.jar
打开应用程序文件夹,找到Charles - 显示包内容 - Contents - Java
找到charles.jar,替换之即可
过程
本来用的3.9.3好好的,但是系统升级10.11后,出现了一些这样的情况
每次滚动代码时就变成这样,
忍受了一个多月后,终于决定要升级
去官网下了目前的最新版,3.11.1
然后天真的想去下个序列号或者什么注册机破解就ok了,
于是我百度了一下
然后是这样的
大概了解到的情况是需要替换charles.jar
这个jar包就可以破解,
然后我一个个下下来,一个个试
好吧,结果中没有一个是3.11.1可用的
只能google一下,
找到一篇3.10.1的破解教程,Charles Web Debugging Proxy Hacking
作者破解的过程大概就是把charles.jar反编译后找到Licence.java,然后把验证函数上返回true,然后编译成License.class重新打包进charles.jar里,
文中作者提供了已经hack过的Licence.java,于是我按照步骤试了一下,
果然,,,,失败了,
文中作者有说他的操作都是在3.10.1版本才可以
于是我重新下了3.10.1,再次尝试,
成功了!!!
但是,3.10.1版本依旧存在滚屏文字错乱的问题
所以我折腾了这一圈并没有什么乱用
既然破解的原理都辣么简单通俗易懂,我自己来hack一下License不就行了,
于是,
先要反编译一下charles,多年没摸过java,反编译工具都没有,
下一个,下载地址:https://github.com/skylot/jadx
解压,进入jadx-0.6.0目录中,
(ps. 为了方便我把3.11.1的charles.jar考到jadx目录中,特么3.11.1中charles.jar所在目录变成了Contents/Java/charles.jar,之前的版本一直都是Contents/Resources/Java/charles.jar)
执行命令 bin/jadx-gui charles.jar
我需要找到com.xk72.charles.gui.License.java
然而
并没有!
所以刚刚之所以用那个破解好的License.java去替换并没有用的原因就是charles升级后修改这块的验证策略,连Licence.java都没有那什么来替换,
会不会只是改了个类名,License.java 肯定是有的,不过它不叫这个名字而已,
一般来说如果真的只换个类名应该就还在com.xk72.charles.gui
这个工作空间下
于是我看到了它,
和License.java内容几乎一样,居然叫个P,
好吧,接下来的工作就是参照3.10.1被hack的License.java来修改代码中验证部分
用文件对比工具来改简单一些
然后把P.java拷贝到charles的包中,和Contents/Java/charles.jar
同一级目录
然后
编译:javac -source 1.6 -target 1.6 -d . P.java
打包:jar -uvf charles.jar com/xk72/charles/gui/P*
最后执行打开Charles命令:open /Applications/Charles.app
(直接双击打开也是可以的)
没错,
成功了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。