Charles 4.2 破解for Mac and Win

鄭重聲明,本文純屬技術(shù)交流討論,請勿用于商業(yè)用途及傳播非法信息免姿!轉(zhuǎn)帖請保留原創(chuàng)地址。

jar文件鏈接:
鏈接: https://pan.baidu.com/s/1ctXQaU 密碼: cndm

charles-proxy-4.2.dmg 網(wǎng)盤鏈接:(強(qiáng)烈推薦官網(wǎng)下載i啪啤E卟病!)
鏈接: https://pan.baidu.com/s/1gfF2sSj 密碼: i4ai

一想鹰、修改

RegisterFrame里跟進(jìn)注冊的aEdk

  public RegisterFrame(Frame paramFrame)
  {
    super(paramFrame, true);
    setTitle("Register Charles");
    this.tName = new JTextField(20);
    this.tSerial = new JTextField(20);
    this.bRegister = new JButton("Register");
    this.bCancel = new JButton("Cancel");
    Container localContainer;
    (localContainer = getContentPane()).setLayout(new MigLayout("wrap,fill", "[label][fill,grow]"));
    localContainer.add(new JLabel("Registered Name:"));
    localContainer.add(this.tName);
    localContainer.add(new JLabel("License Key:"));
    localContainer.add(this.tSerial);
    localContainer.add(this.bCancel, "tag cancel,split 2,span,center");
    localContainer.add(this.bRegister, "tag ok");
    this.bCancel.addActionListener(new TkzI(this));
    this.bRegister.addActionListener(new aEdk(this));

基本的邏輯并未改變紊婉,還是從WNzU.OjEP(paramActionEvent, str)) != null判斷

final class aEdk
  implements ActionListener
{
  aEdk(RegisterFrame paramRegisterFrame) {}
  
  public final void actionPerformed(ActionEvent paramActionEvent)
  {
    paramActionEvent = RegisterFrame.OjEP(this.OjEP).getText().trim();
    String str = RegisterFrame.wfpb(this.OjEP).getText().trim();
    if ((paramActionEvent.length() > 0) && (str.length() > 0))
    {
      Object localObject;
      if ((localObject = WNzU.OjEP(paramActionEvent, str)) != null)
      {
        ExtendedJOptionPane.OjEP(this.OjEP, localObject, "Charles Registration", 2);
        return;
      }
      ExtendedJOptionPane.OjEP(this.OjEP, "Thank you for registering. Charles will now close. Please start Charles again to continue.", "Charles Registration", 1);
      (localObject = CharlesContext.getInstance()).getConfiguration().getRegistrationConfiguration().setName(paramActionEvent);
      ((CharlesContext)localObject).getConfiguration().getRegistrationConfiguration().setKey(str);
      ((CharlesContext)localObject).exit(0, true);
    }
  }
}

繼續(xù)跟進(jìn)WNzU,找到關(guān)鍵函數(shù)OjEP辑舷。雖然函數(shù)return了null喻犁,但數(shù)據(jù)被wfpb更改。

  public static String OjEP(String paramString1, String paramString2)
  {
    try
    {
      paramString1 = new WNzU(paramString1, paramString2);
    }
    catch (LicenseException localLicenseException)
    {
      return (paramString1 = localLicenseException).getMessage();
    }
    paramString1 = paramString1;
    wfpb = paramString1;
    return null;
  }

跟進(jìn)wfpb相關(guān)函數(shù)

  private static void OjEP(WNzU paramWNzU)
  {
    wfpb = paramWNzU;
  }

  public static void wfpb()
  {
    WNzU localWNzU;
    wfpb = localWNzU = new WNzU();
  }

  public static boolean OjEP()
  {
    WNzU localWNzU;
    return (localWNzU = wfpb).DZZn;
  }

  public static String DZZn()
  {
    WNzU localWNzU = wfpb;
    switch (TkzI.OjEP[localWNzU.tVok.ordinal()])
    {
    case 1: 
      return localWNzU.TVrM;
    case 2: 
      return localWNzU.TVrM + " - Site License";
    case 3: 
      return localWNzU.TVrM + " - Multi-Site License";
    }
    return localWNzU.TVrM;
  }

很明顯有個(gè)布爾型和String類型的何缓,把他們改成true和自己的String肢础。還有個(gè)String類型的DZZn,一并也修改了碌廓。

  public static String DZZn()
  {
    WNzU localWNzU = wfpb;
    switch (TkzI.OjEP[localWNzU.tVok.ordinal()])
    {
    case 1: 
      return localWNzU.TVrM;
    case 2: 
      return localWNzU.TVrM + " - Site License";
    case 3: 
      return localWNzU.TVrM + " - Multi-Site License";
    }
    return localWNzU.TVrM;
  }

下面的工作就是修復(fù)一些問題防止編譯出錯(cuò)传轰。

例如:
String str = (str = str = paramString1).replaceAll("[???????????????????????]", " ");
例如
LicenseException相關(guān)的異常

二、重新編譯

然后反編譯成class谷婆,這里需要指定目錄慨蛙,因?yàn)閃NzU是在com.xk72.charles包中辽聊。直接單獨(dú)的文件編譯時(shí)會報(bào)錯(cuò),所以得指定package包的目錄期贫。

例如:
$ javac -cp /Users/johnhao/Downloads/charles-1 /Users/johnhao/Downloads/charles/WNzU.java

將class文件更新到j(luò)ar包中跟匆。同樣要注意目錄問題,因?yàn)閃NzU class是在目錄com/xk72/charles/中通砍,所以得在當(dāng)前目錄下創(chuàng)建一樣的結(jié)構(gòu)贾铝,防止把新的class更新到根目錄下。

jar uf charles.jar com/xk72/charles/WNzU.class

三埠帕、替換原jar文件

應(yīng)用 -> 顯示包內(nèi)容 -> Contents -> Java垢揩,或者直接到目錄/Applications/Charles.app/Contents/Java/。替換掉即可用敛瓷。第二次做練習(xí)叁巨,下次就直接貼jar文件了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末呐籽,一起剝皮案震驚了整個(gè)濱河市锋勺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狡蝶,老刑警劉巖庶橱,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贪惹,居然都是意外死亡苏章,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進(jìn)店門奏瞬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枫绅,“玉大人,你說我怎么就攤上這事硼端〔⒘埽” “怎么了?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵珍昨,是天一觀的道長县耽。 經(jīng)常有香客問我,道長镣典,這世上最難降的妖魔是什么兔毙? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮骆撇,結(jié)果婚禮上瞒御,老公的妹妹穿的比我還像新娘父叙。我一直安慰自己神郊,他們只是感情好肴裙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涌乳,像睡著了一般蜻懦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夕晓,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天宛乃,我揣著相機(jī)與錄音,去河邊找鬼蒸辆。 笑死征炼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的躬贡。 我是一名探鬼主播谆奥,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拂玻!你這毒婦竟也來了酸些?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤檐蚜,失蹤者是張志新(化名)和其女友劉穎魄懂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闯第,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡市栗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咳短。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肃廓。...
    茶點(diǎn)故事閱讀 38,768評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖诲泌,靈堂內(nèi)的尸體忽然破棺而出盲赊,到底是詐尸還是另有隱情,我是刑警寧澤敷扫,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布哀蘑,位于F島的核電站,受9級特大地震影響葵第,放射性物質(zhì)發(fā)生泄漏绘迁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一卒密、第九天 我趴在偏房一處隱蔽的房頂上張望缀台。 院中可真熱鬧,春花似錦哮奇、人聲如沸膛腐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哲身。三九已至辩涝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勘天,已是汗流浹背怔揩。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脯丝,地道東北人商膊。 一個(gè)月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像宠进,于是被迫代替她去往敵國和親翘狱。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理砰苍,服務(wù)發(fā)現(xiàn)潦匈,斷路器,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語閱讀 3,636評論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法赚导,類相關(guān)的語法茬缩,內(nèi)部類的語法,繼承相關(guān)的語法吼旧,異常的語法凰锡,線程的語...
    子非魚_t_閱讀 31,602評論 18 399
  • 在人群中员串,度娘一致充當(dāng)著“知心姐姐”勇哗,百科全書的角色,能力超群寸齐、卓爾不凡欲诺。在商業(yè)里她也一直是個(gè)“白富美”,那就讓我...
    小鈴鐺ring閱讀 554評論 0 0
  • 無善無惡心之體渺鹦,有善有惡意之動扰法。 知善知惡是良知,為善去惡是格物毅厚。 疾如風(fēng)塞颁,徐如林;侵略如火,不動如山,難知如陰祠锣,...
    破七兮閱讀 153評論 0 0