《Candy Crush Saga》破解

1、准备工具
硕思Flash反编译工具5.5,用于粗略查看反编译的代码,梳理程序逻辑。网上有很多这个工具的下载点,这里就不再提供下载页的地址了。
字节码修改软件Yogda,用于修改关键逻辑。
2、准备文件
完整地玩一关游戏,用Fiddler记录请求,找到所有的目标swf,Save Sessions。
3、开始动手
首先,从之前破解Bubble Witch Saga的经验推断出,King.com旗下的这些游戏无一例外的都有GameConsole这个东西。所以破解的第一步是从preloader里把GameConsole还原出来。
GameConsole初始化时的构造参数里,有一个debugMode字段,其为true的话在游戏中按Esc就可以调出控制台了。
用硕思找到PreloaderMain.as文件,找到粗略还原出来的代码:
不难看出,开发者的意图是要在没有URL,或者URL中包含dev.midasplayer或candycrushqa.midasplayer.com时才启用控制台。
如何令其在facebook上也可以使用呢?方法多种多样,对源代码改动最小的方法或许就是稍稍修改一下判断条件,把“包含”改为“不包含”。
目标明确之后,直接用Yogda打开preloader.swf,定位至PreloaderMain类的init函数,把greaterthan改为equals,将新的swf文件保存。
用Fiddler替换一下preloader,再次进入游戏后按ESC,果然弹出了控制台的界面。
话说回来,这个“控制台”又是什么东西呢?
通过分析反编译出来的代码可知,它是提供给开发人员或者客服进行调试用的工具。理所当然的,它也会在游戏中提供一些很好的功能帮助我们过关。
进入游戏,按ESC调出控制台,发现游戏模块多注册了几个命令。
其中:
add_moves 给自己增加步数,增加数量是自己指定的
spawnitem 预生成强力糖果
hammer 启用一次糖果锤
win 直接胜利
为了增强成就感,让我们再看一下相应道具的价格吧…
直接”spawnitem color”就可以生成的color类型的糖果折合人民币要1.91元….一个肉包的钱呀!!!
这个价格更是触目惊心,用一次“spawnitem fish”命令就可以生成的jellyfish,折合人民币居然要4.03元…一个肉夹馍的钱啊!!!
糖果锤对游戏的帮助也是相当大的,使用一次折合人民币也要4.03元…这种虚拟物品卖到这样的价格,会令肉夹馍会很伤心的…
4、事后总结
控制台这种东西可以有,但是在release版本中最好不要带控制关键逻辑的功能,仅提供调试数据的查看就可以了,不然会极大的降低破解门槛。游戏一旦被破解,那些游戏道具瞬间就变得毫无价值了…
5、相关下载
点此可以下载破解过的Preloader (Last updated on 2012/12/25)
只需拿Fiddler将facebook上的preloader本地替换掉即可调出控制台了。
  1. 那swf 要抓哪個我不知道我有沒有抓錯
    yogda要怎麼用可以詳細說明嗎 感謝

  2. 我已經過完一關
    可是搜尋 都找不到swf
    我是想直接用那個結果檔來替代 可是卡在這 找不到prelaoder

    • 先打开Fiddler,完整地进一遍游戏。Fiddler会显示一系列的网络请求列表,在其中找到对preloader.swf的请求,拖进AutoResponder里选择本地文件进行替换就可以了。

  3. 弱问博主,怎么用fiddler替换preloader啊。我下了fiddler,在autoresponder 的rule editor 直接导入你破解过的preloader,为啥网页上ESC 都没反应。。。— 想玩游戏却不懂技术的搜到你的文进来求教的。。谢谢博主,请明示。。

    • 首先确认一下是不是真的替换成功了,直接拖请求到Request Builder里然后选择破解过的preloader进行替换;其次,按ESC时要确保Flash有焦点,比较简单的办法是用鼠标点一下Flash,然后再按ESC键;如果还是无效,则很有可能是他们发现了这个漏洞并把它补上了,由于我破解这个仅仅是出于兴趣,因此并没有继续维护下去的打算,抱歉喔

  4. 我也是看不懂”直接拖请求到Request Builder里然后选择破解过的preloader进行替换”, 在哪可以替換, 可再說詳細些嗎?

  5. 完整地玩一关游戏,用Fiddler记录请求,找到所有的目标swf,Save Sessions。連這個我也做不到 preloader怎麼找-,-? 菜鳥求教

  6. 請問我玩了一場遊戲之後, 用fiddler 找不到proloader
    我用fiddler 內的clear cache 也找不到PROLOADER
    我應該用什麼方法去找呢?
    求大大指教

  7. 請問是這方法是修改下載到電腦的版本嗎? 可以修改手機中的遊戲版本嗎?

  8. 您好 那個破解過的preloader載點是不是壞了
    點了沒反應呢!?
    謝謝版主!!

  9. 请问如何用fiddler抓ccpreloader.swf下来好让我可以用yogda修改enable那个游戏的console??

  10. ** CCMain: onGameInit
    CCModel : CCModel onError Error #1009 TypeError Something went wrong after a saga api call: http://candycrush.king.com/api/gameInit with params: %5Fsession=17%2EdjXUuliR9SmYrYbCu

    修改好了, 一直卡在30%, 按ESC看, 最後出現以上訊息, 看來這次改版真的封住了, 可以叫出“控制台”, 但有錯誤

  11. 別人沒義務回答你的問題
    自己有能力請自己嘗試自行破解
    沒能力就請放棄別一天到晚只會撿現成的來用搞破解