Charles破解

本文介绍了如何使用在线工具和javassist库对Charles.jar进行破解,提供了不同版本Charles的类名和方法名的替换方法,以解除软件的注册限制。操作步骤包括获取混淆后的类名和方法名,修改字节码,然后将修改后的class文件重新打包进jar。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文由 简悦 SimpRead 转码, 原文地址 blog.zzzmode.com

zzzmode 在 Github 上的个人博客

提供一个在线破解生成 charles.jar 的工具

在线破解

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

2018/9/15 Charles 4.2.7

com.xk72.charles.kKPk
lcJx
JZlU

2018/6/25 Charles 4.2.6

com.xk72.charles.GPSz
Dgmx
Wmmw

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

方法同 Charles 4.1.2,感谢@panic 提供混淆后的类名方法!

classPool=ClassPool.getDefault();
classPool.insertClassPath("/path/charles.jar"); 

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


jar uvf /path/charles.jar com/xk72/charles/psPJ.class


Charles 4.1.2

Charles 4.1.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"); 

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


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


Charles 4.0.2

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"); 

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值