关键代码在上一篇文章 锁链战记资源提取

运行方法

需要.Net 4.0
双击运行,会解密所在文件夹下的所有“.bdl”,“.scr”文件(包括子文件夹)
bdl解密后为 原文件名_decode.bdl
scr解密后为 原文件名.jpg

后续操作

bdl文件是Unity3D的资源文件,解密以后直接上disunity就行,其中会解出一种.ktx文件,用PVRTexTool可以转换成png
scr解密后就是640×960的大图,scr文件可以在这里下载
http://dl.sega-pc.com/chruser/Resource/Card/cha_2d_card_*****.scr
后面5个*是卡片ID,比如00001

下载地址

百度盘

如果有BUG欢迎在评论里提出~

Il2CppDumper v6.1.0

距离上次在博客发布都要快一年了,这次因为又添加了一个新功能,所以在博客介绍一下。 ida脚本现在分为“ida.py”和“ida_with_struct.py”两个,使用“ida_with_s...

阅读全文

双生视界Live2D提取

总算是回到家了,差点就要把这篇文章咕掉了。 在github上有人提双生视界Live2D解出来的文件载入显示有问题时,UnityLive2DExtractor的代码还没写完,所以先用...

阅读全文

UnityLive2DExtractor

摸了好久终于是把这玩意摸完了。 程序在原本AzurLaneLive2DExtract基础上,除了一些bug修复和细节完善,最主要的是实现了physics3.json的还原,这样其他游戏...

阅读全文

39 条评论

  1. 大佬,请问这个工具能解密真锁链战记(原罪战记)吗,同样是bdl文件,我用这个加disunity试了下好像不行,想解包下内容做wiki

  2. P大您好:

    自從上次問您台版網址後,我已經找到方法了,再次感謝您的回答。

    這次要詢問的是,日版3.0.0之後的bdl已經不能使用這個小工具去decode,請問會有新的小工具嗎?
    P.S. scr還是可以的。

    1. 最近有些動蕩,昨晚才有時間又搞了搞。。。

      按照大佬說的做了,但是還是閃退。。。進步是用幸運破解後,確實不用簽名也可以安裝。

      然後忽然想起,大佬上次搞鎖鏈是很久之前了吧,有可能是版本升級問題。
      所以我找了個老版本下載,2.1.2,改了DLL 後,按大佬說的做了,確實好使,可以運行到主界面。

      能請大佬有空看看鎖鏈的新版本2.7.1 怎麼搞才能改嗎?謝謝了。

    2. 非常感謝大佬耐心指導,就是來匯報下簡單成果。

      聽了大佬說的回去又測了好多種組合,下載了同版本不同平台的包來測試。

      最後發現失敗就在一點上,幸運破解,破解安卓,不能打第一個補丁,簽名檢測永遠為成功。

      只能單獨打第二項,安裝忽略簽名。嗯,下載至少是可以帶改過的DLL 運行了。。。

      慢慢試著改吧,看能改成什麼樣子~ :mrgreen:

      非常感謝!!

    1. 我現在知道怎麼修改 DLL, 問題是APK 打包啊。。。

      APK Tool 解包後,什麽都不改重新打包就運行閃退。
      把APK 當ZIP 替換那個DLL 後,重新簽名,用了各種簽名工具都是運行閃退。

      簽名應該都沒問題,因為都可以安裝,就是運行閃退。

    2. 用压缩软件打开APK,直接把修改后的DLL拖进去,锁链战记有签名验证,用幸运破解器绕过

    3. 能麻煩大佬寫下幸運破解器的流程嗎?

      我下了6.2.2,最新版本的幸運破解器。鎖鏈哪裡說是有23(記得)處有License Validation。
      但是我試驗了所有的Remove License Validation 的Patch, 幾乎全部都 Patch Failed。
      Auto Patch 第一選項,全部Fail 。後面幾個選項不同組合可以使 N1 patch Success,但是還是啟動就強退。
      Manual Patch 那裡一個一個選全部 Fail,全部都選的話,可以使 N7 patch Success,但是還是啟動就強退。

      選工具哪裡patch LVL emulator 什麽的,我不知道這個是什麼,但是也是Patch fail。啟動就強退。

      :cry: 完全都不能啟動啊。求大佬幫忙寫下改的流程啊。

      這裡再寫下,DLL 修改。以免使DLL 修改有誤。

      看了大佬所有的文章,知道可以用ILSpy 和 Reflector 修改,所以我兩種都試過了,結果一樣。
      現在沒有改任何邏輯,怕萬一這裡出錯,所以就找了裡面的按鍵文字,是 和 不是,改成 YES 和 NO 了。其他都沒動。
      DLL 哪裡鼠標右鍵後選 Reflexi 的 Save As。就這樣了。其他都沒動。
      把包改成ZIP,把DLL改回原名,用WINRAR 拖到包裡覆蓋原來的DLL,可以看到文件改動時間變了。
      把包改回APK。

    4. 加一些信息。

      我改的時候找到了這個幸運破解的用法文章。 http://tieba.baidu.com/p/4414398354

      按照安裝裡面的第2步來Patch Android,這個是成功的。:
      ******QUOTE*************
      2.安卓核心破解
      在最下面的[工具箱]里找到[android 核心破解]。
      ①假如我要安装美化版的QQ,但是QQ安装包有签名验证(apk可以当作是有签名zip压缩包)我就[禁用zip签名验证],选择前两个绿色的打勾应用。
      **********END*********

      按照第三步來移除APP的授權驗證,這裡是全部失敗的。:
      ******QUOTE*************
      3.移除授权验证
      ①有些软件需要有装应用商店才能用,不然连进都进不去,卡在软件启动图然后就闪退了。
      ②所以我会在幸运破解器的列表里找到这个软件,上面写着[发现授权验证],然后点开它,打开[破解菜单],[移除授权验证],[自动模式],一般直接应用就行,然后出现什么结果别管它,直接开软件试试才知道有没有成功。不行的话换其它模式(绿字的)。
      ③也有的软件可以用[自定义破解],这个自定义补丁在幸运破解器的菜单里能找到下载。
      **********END*********

    5. 最後加點信息。

      這次用幸運破解,簽名是用一個叫 Sign.jar 的工具簽的,自動的。
      不知道這個有沒有影響。

      我以前用過其他幾個簽名工具,也都是啟動強退,但是沒有用幸運破解。

  3. 博主大大可知道锁链的数据库,像卡牌数据什么的,是什么类型的?是不是也加密了?翻了几次源码也没找出头绪.博主如果有线索,可以提示下么? 谢谢~~

    1. 后缀名为data5的文件,解密函数是libChronicleNUtils.so的loadFile函数,你可以去逆向算法,或者直接修改Assembly-CSharp.dll,在他解密后在本地写入解密后的文件

    2. 新手問題
      請問 libChronicleNUtils.so 是什麽? loadFile 函數是Function 吗?他在哪個DLL裡能找到?
      如果需要直接改 Assembly-CSharp.dll 的話,請問應該在哪裡改?

      “在他解密后在本地写入解密后的文件”
      安卓和win系統不一樣,請問本地路徑是什麼樣子的格式?能寫在不用ROOT就能看到的地址嗎?

      不好意思,第一次弄,好多問題。謝謝了。

    3. 謝謝回复。
      昨晚做了些功課。。。
      現在知道Assembly-CSharp.dll 在Lib 文件夾裡,知道那個是主程序,知道SO 是種加密方法。
      現在問題是怎樣找到loadFile 如果不在DLL 裡?
      還有就是如果直接改Assembly-CSharp.dll,在讀取數據的地方,例如讀卡片數據,讀戰鬥數據 時在本地寫入解密後的文件?知道 .NET 的怎麼寫,不知道怎樣能轉換成安卓的。 有什麼不同嗎?最擔心的就是路徑往那裡寫?
      謝謝了。

    4. 不太理解你的问题,什么叫“知道 .NET 的怎麼寫,不知道怎樣能轉換成安卓的”?
      只是路径的话,写入Application.persistentDataPath里就可以了

    5. 謝謝回复,我是說 Win 系統的路徑,合法格式都知道,.NET 寫程序就調用System.IO 就好了。。。
      因為完全沒弄過安卓的東東,所以問題是不知道安卓系統的路徑,連合法格式都不知道。。。

      剛上網找了下你說的Application.persistentDataPath,現在路徑和合法格式都知道了。謝謝哈。
      也找到了util.SO 文件,聽說需要用IDA,回去再研究下。

    6. 再麻煩一下,搞幾天了。。。有點走投無路了。

      先問最嚴重的一個問題。請問你用的什麼工具解包和重新打包CC?現在的版本2.7.1,我用APK Tool 2.1.1,解包後什麽都不改,build 就失敗,網上找說是要升級Framework。。。換了好幾個Framework 後終於能 build 了。但是BS 安裝後直接跳出,什麽畫面都沒有。原版就可以玩。試了好多個所謂的Sign 工具,結果都一樣。請給個指點,先謝謝了。

      之後的問題,看看能不能拿到遊戲數據的 csv文件?應該是CSV 格式的吧。
      還是回到之前說的那些data5 文件。disunity 已經不能解包了,好像用你的工具可以解出到 asset bundle 的文件格式(用 Hex viewer 看文件頭是什麽 unity web5 什麽什麼的。。。。)
      IDA學了一下,搞了那個util.so 的文件,然後發現load file 好像也是要先解unity 的bundle。(這裡不是很確定,畢竟IDA才學着用。) 要是連unity 的也一起解好像實在是太麻煩了,就先放着了。

      之後試著改Assembly 的那個DLL。學了一下ILSpy和 Reflexis 。看起來好像能改,就是感覺好麻煩,不知道要寫大段的輸出代碼寫不寫的出來。

      能請指點下那種方法可行些? 謝謝了。

  4. 一直很想解包国服的卡牌数据,这几天才刚刚开始接触Disunity,作为小白只解包出最为初级的sharedassets里的东西,其余资源如何解包还是一头雾水,不知道博主能不能赐教一下呢 :oops:

  5. 正常能解包的模型文件就没什么特别的提示, 不能解包出obj文件只有tga和shader的就会提示这个:

    [warning] FieldTypeMap: Unprecise match for ClassID 142 (required: 4.5.1f3
    1, available: 4.3.1f1)
    [info] Writing Texture2D char01017_tex_v_s.ktx
    [warning] AssetExtractor: Can’t extract Object #4 (ClassID: 43, Class: Mesh), ca
    used by java.io.EOFException
    at info.ata4.io.buffer.ByteBufferDataInput.readFloat(ByteBufferDataInput
    .java:134)
    at info.ata4.io.DataInputBridge.readFloat(DataInputBridge.java:108)
    at info.ata4.unity.engine.struct.Vector2f.read(Vector2f.java:42)
    at info.ata4.unity.cli.extract.mesh.MeshData.readVertexBuffer(MeshData.j
    ava:253)
    at info.ata4.unity.cli.extract.mesh.MeshData.(MeshData.java:66)
    at info.ata4.unity.cli.extract.mesh.MeshHandler.extract(MeshHandler.java
    :40)
    at info.ata4.unity.cli.extract.AssetExtractor.extract(AssetExtractor.jav
    a:168)
    at info.ata4.unity.cli.cmd.ExtractCmd.processAsset(ExtractCmd.java:43)
    at info.ata4.unity.cli.cmd.AssetCommand.processAssetBundleFile(AssetComm
    and.java:146)
    at info.ata4.unity.cli.cmd.AssetCommand.processFile(AssetCommand.java:86
    )
    at info.ata4.unity.cli.cmd.FileCommand.processPath(FileCommand.java:58)
    at info.ata4.unity.cli.cmd.FileCommand.run(FileCommand.java:76)
    at info.ata4.unity.cli.DisUnityCli.run(DisUnityCli.java:110)
    at info.ata4.unity.cli.DisUnityCli.main(DisUnityCli.java:123)

    这是什么意思呀,java的版本不对吗

    1. 报错是无法提取Mesh文件
      你可以看下disunity下的SUPPORT.md文件,里面说了disunity支持的文件
      其中Mesh文件只支持
      Unity 4 only, one UV layer only, no weights or vertex colors
      现在这个错就是不支持的缘故了

  6. :!: 我是一键下载后在bundle文件夹里看的,因为都是一个文件夹下我以为和模型、贴图、音乐等是一样的呢。用disunity list命令可以看见里面有animation文件但却无法解包
    那么有什么办法能解开这些文件吗?
    还有,我在试着解开character文件夹里的人物模型文件时,发现大部分bdl文件解密后用disunity都能正常解包出obj模型、shader、tga贴图
    但有一部分人物的bdl解包后唯独缺少obj文件, 这是为什么呢? 人物模型文件还不一样吗?
    我非常想完整的收集齐cc里的所有粘土人,可以帮忙看看嘛?非常感谢!!

  7. :oops: 谢谢分享
    大部分BDL都破解成功了,
    但是,用disunity0.3.4 解包锁链战记的motion文件夹里那些动作文件bdl时,提示:
    [warning] FieldTypeMap: Unprecise match for ClassID 142 (required: 4.5.1f31, available: 4.3.1f1)
    无法解包,是因为disunity的数据库不够新吗? 已经是最新版本的… 怎么办呢?

欢迎留言

5 + 3 =