日常手撸Charles4.1.3

  • 2017-06-26
  • 681


工具:jd-gui(这货是开源的方便自己拿来魔改)

环境:jdk

首先去官网https://www.charlesproxy.com/吧charles下载下来安装好
然后把Charles\lib\charles.jar这玩意拷出来备份一个

正式开工吧jar丢进jd-gui就完事了然后

我们采用关键字入手+UI入手

而UI的类都在 com.xk72.charles.gui下

所以打开这个目录 然后搜索 regisiter lincene 等关键字

_[Y4M_7U6ZP6[]1U@WMGH96 N%WCWJT}})__5UF4P3KRCHQ

charles就regisiter 搜出了到了注册那个菜单的类

this.bRegister.addActionListener(new NvMh(this));
仔细看这一局就是注册按钮的监听事件 搓进去NvMh这个类
4`6{N1Q}2_}3XMZEE}FVOJX

只要让框框的  psPJ.qIvM返回null就行

好了戳进去发现psPJ这个类又很多qIvM的重载 别方 看到调用是2个参数的那么我们也找个2个参数的就行

通过同样的办法多次寻找确定了实际上有用的至于3个方法

于是乎抠出原形来然后自己实现先新建一个psPJ.java然后把代码撸进去

package com.xk72.charles;

import java.io.UnsupportedEncodingException;

public final class psPJ
{

public static String tCiz()
{

return "dlnn.net";
}

public static String qIvM(String paramString1, String paramString2)
{
return null;
}
public static boolean qIvM()
{
return true;
}
}

接下来就把他编译成class再塞会包里了
打开cmd 输入
javac -encoding UTF-8 psPJ.java -d .&& jar -uvf ./charles.jar com/xk72/charles/psPJ.class
好了 生成了一个新的charles.jar 我们把它复制回去
QQ图片20170626214820

QQ图片20170626214834
OK 注册完毕GG