charles : Charles 破解 [TODO]

Charles 4.0.2 和之前版本的破解方式一样,直接上代码
先复制一份charles.jar出来,mac下的路径是/Applications/Charles.app/Contents/Java/charles.jar

需要使用javassist修改字节码

compile 'org.javassist:javassist:3.20.0-GA'
classPool=ClassPool.getDefault();
classPool.insertClassPath("/path/charles.jar"); //复制出来charles.jar的文件路径

CtClass ctClass = classPool.get("com.xk72.charles.License");
CtMethod ctMethod =ctClass.getDeclaredMethod("a",null);
ctMethod.setBody("{return true;}");
ctMethod = ctClass.getDeclaredMethod("b",null);
ctMethod.setBody("{return \"Regisered Name\";}"); 
ctClass.writeFile();

执行之后会生成 com/xk72/charles/License.class 文件
使用jar uvf charles.jar com/xk72/charles/License.class 命令将修改后的class打入jar包,注意jar和class的路径。

注意:为了保险起见先把原始charles.jar复制到其他目录,将破解后的charles.jar移动到对应位置,我之前为了偷懒只是修改了原始charles.jar的文件名,并没有移动到其他目录,结果一直有未注册的提示,把原charles.jar移动到其他目录后确保该目录下只有一个charles.jar就好了。

 

 

2. 方式二

先安装好Charles,不打开,然后在终端中执行下面的命令即可实现破解。
(经测试,4.1及以上版本对授权文件进行了变更,故下面的方法仅适用于4.02及以下版本)

charles=/Applications/Charles.app/Contents/Java/charles.jar
dir=charleshack
mkdir $dir
cd $dir
cat >> License.java <<EOF
package com.xk72.charles;
public final class License {
    public static boolean a() { return true; }
    public static String b() { return "http://www.gfzj.us"; }
    public static String a(String name, String key) { return null; }
}
EOF
javac -encoding UTF-8 License.java -d .&& jar -uvf $charles com/xk72/charles/License.class
cd .. && rm -rf $dir

看到评论区有人问怎么使用上面这段命令,就是全选拷贝命令,在终端里粘贴回车执行即可。这没什么好截图的,就这么简单。

 

TODO: 尝试了解下原理,自己破解一次

 

参考:

  1. http://www.jianshu.com/p/46d29e60dd1b  [详细]
  2. http://www.jianshu.com/p/1c1023036a75
  3. http://www.jianshu.com/p/89111882fa99 [使用这里的方式二破解成功]

charles : SSLHandshake: Received fatal alert: certificate_unknown

1.

换电脑,导致很多软件需要重装,之前经常使用的Charles就莫名出现了问题
不管什么版本都提示 SSLHandshake: Received fatal alert: certificate_unknown

其实这主要是IOS提高了安全设置导致的,以前只要在IOS上安装下描述文件(根证书)就行了,但是在IOS更新10.3.1(以前没注意,应该是这个版本加的)之后,只安装描述文件是无效的了。

通用-关于本机-证书信任设置里也需要信任下Charles的根证书。

证书信任设置

鼓捣了一晚上的问题终于解决了,开心

 

 

参考:

  1. http://www.jianshu.com/p/8c5df1cf24ff
  2. http://bluebiu.com/blog/packetcapture-by-charles-for-mac.html