Charles 4.2.5 破解原理

写了个小工具方便在线处理,在线破解

https://github.com/8enet/Charles-Crack

2018/4/8 Charles 4.2.5
替换类名和方法名
com.xk72.charles.Dheu
PpPw
WPsu

Charles 4.2.1
替换类名和方法名
com.xk72.charles.oFTR
Yuaz
lktV

Charles 4.2
替换类名和方法名
com.xk72.charles.WNzU
OjEP
DZZn

Charles 4.1.4
替换类名和方法名
com.xk72.charles.gIbD
xUFT
PcqR

Charles 4.1.3
替换类名和方法名
com.xk72.charles.psPJ
qIvM
tCiz

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就好了。

猜你喜欢

转载自blog.csdn.net/Alvin_Lam/article/details/80760229