Perfare's Blog > 留言板

 

 

这里就是一个留言板啦=A=
友情提醒:任何伸手类问题我都不会回复,另外其他游戏的修改问题我也不会回复,除非刚好在玩~

 

 

369 条评论

  1. P大 你好 又来麻烦你了 前几次问题可能问的有点蠢 !!!!
    最近在玩的一个 游戏 前面版本 LIB里面没加密 CSsharp 可以修改
    之后新版本更新 之后 LIB 加密了 修改CSsharp之后游戏会闪退 我根据你以前发的教学尝试了 用旧版本LIB里面替换新版本的 可喜可贺 可以修改 可以运行 但是运行一会 游戏会无限提示网络问题 返回界面
    我又尝试了 找到 LIB里面的加了密的SO
    请问 大大 有没有可以比较 SO文件的 工具 或者 大大给个 在IDA 里面查找这类 提示

  2. 大佬有没有兴趣研究一下kirara的通信加密?新版改了il2cpp,找到了个疑似AES key的东西但是解出来乱码。。

    1. 动态调试也试过。。下好断点运行的时候丢出了几个SIGXCPU和SIGPWR,然后没动静了(。

  3. 大大你好,国服1.17.1 安卓 dump Assembly-CSharp 之后,出现Invalid number of data directories in NT header.

    能否指点一下 如何修复? :neutral:

  4. P大您好
    23日陸服FGO更新終章 同時更新了1.17.1版本
    做了加密 有反調試
    和煉金的so檔一樣 libNetTProtect.so和加密過的libmono.so檔
    如果您有時間的話希望能做一些指點

      1. 感謝
        昨天我嘗試修了一些東西 reflector打不開。。 但是ilspy可以打開了
        然後我直接拷貝了NetworkManager CryptData 還有 ResponseData三個類的IL
        還原到1.17.0的版本上發現也能用。。
        還是感謝了

      2. 大大你好,国服1.17.1 安卓 dump Assembly-CSharp 之后,出现Invalid number of data directories in NT header.

        能否指点一下 如何修复?

      3. 我试了一下把1170的mono替换进1171,并不能打开。难道我版本不对,求一份apk对比一下。

      4. 看了一下上个版本的mono,里面是没有解密的算法的。所以还是要先去掉反调试,然后dump出来Assembly,再打包上个版本的mono。
        去不掉反调试的我,只能写了个py在内存里面乱逛找出Funnykey然后替换回上个版本了。居然也能跑起来。

  5. 大佬你好> <
    最近在想辦法提取まいにちコンパイルハート的LIVD 2D的檔案
    在數據包提取後發現他是加密過的neptune_costume01.zip
    數據包內有一個libcocos2dcpp.so
    請問有沒有教學可以獲取解密的KEY QAQ

  6. 大神不知道有没有bypass appguard(游戏)相关知识/网站指点一下小弟呢(在网络上很难找到相关知识/网站, 国外的又要成为modder才教授….)
    感谢

  7. 尴尬。。另一种情况更简单了。。我又发了。。求大佬加上导出动作的功能。。

    1. emmm,模型方面的我什么都不懂哦。。。只能等别人来做,或者我更推荐你去向UABE的作者提这个

  8. 請問Unity Studio如何在VM中運行? 安裝後發現開不了
    另外Unity Studio會有CLI指令嗎? 還是一定要GUI介面? 將來會有麼

    1. 補充
      >>請問Unity Studio如何在VM中運行? 安裝後發現開不了
      已安裝C++相關套件也不行

      1. Unity Studio为什么打不开我也不知道哦,Unity Studio应该不会再更新了,推荐使用UABE或者UnityEx

  9. 能否问一下kirara如何修改无视属性克制?虽然的确可以随便改攻击倍数但是总觉得不安全,所以不想在攻击力之类的东西上去下太大功夫

  10. P大 请教下
    ldarg.0
    ldarg.0
    ldfld class Star.CharacterHandler Star.CharacterBattleParam::m_Owner
    callvirt instance class Star.CharacterParam Star.CharacterHandler::get_CharaParam()
    callvirt instance int32 Star.CharacterParam::get_Atk()
    stfld int32 Star.CharacterBattleParam::m_FixedBaseAtk
    这样的情况改怎么改NET.Reflector和WINhex改了以后 直接导致游戏卡住

    1. 用IDA显示出这一句ldfld int32 Star.CharacterParam::k__BackingField
      是不是说明数值被固定了? 这段可否删掉?

      1. 你贴的这点代码我完全不懂你想要做什么,另外改dll的话推荐使用dnspy直接改c#代码,而不是看il

        1. 感谢大大能回复我
          上面那段是我没找对
          我想修改的是攻击 最早是看了大大的锁链战记修改 勉强会修改一些简易的。

          这个DLL 按照您说的用Dnspy 可是 无法读取
          在NET。reflecto上面可以读取 但是修改之后确实无法进入游戏
          能请大大 指点下吗
          method public hidebysig specialname instance int32 get_Atk() cil managed
          {
          .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
          .maxstack 8
          L_0000: ldarg.0
          L_0001: ldfld int32 Star.CharacterParam::k__BackingField
          L_0006: ret
          (这段我还是不知道是不是找对了 但是 和攻击有关的好像就只有这个了)
          这个我是按照 大大你的锁链战记修改方式修改的
          身为菜鸟的我如果有说错话 请见谅

  11. 大佬您好.
    我在您持续维护的UnityStudio的基础上增加了提取Sprite的功能,可以方便的提取由Default方法打包的SpriteAtlas.
    我的Gitgub: https://github.com/cnSchwarzer/UnityStudio
    请问我是否能在您的版本号上继续或是自己另开?

    疑难:
    用Tight方法打包的Atlas需要考虑Vertices才能不在用矩形截图的时候把其他Sprite截进来,有没有什么好的思路?

    1. 大佬,有方法可以知道包里面的绝对路径吗(例如图片什么的,在Asset的“UIRoot/???”的什么位置),最近在研究NGUI游戏的汉化,不知道绝对位置就不能用代码来替换成本地文件的路径。

  12. 第一步:
    请教一下 Unity_Studio 解出AssetBundle 其他的一张Texture2D纹理贴图(ASTC_RGBA_8x8格式)
    等到图片数据 m_Texture2D.image_data

    第二步:
    var texture2d = new UnityEngine.Texture2D(width, height, UnityEngine.TextureFormat.ASTC_RGBA_8x8,false);
    texture2d.LoadRawTextureData(m_Texture2D.image_data);
    GameObject.Find(“RawImage”).GetComponent().texture = texture2d;

    发现无法正常加载显示

    —————————-
    在编辑器中实验以下代码
    var texture = Resources.Load(“21011”);// 已经压缩好的纹理图片 TextureFormat.ASTC_RGBA_8x8
    texture.LoadRawTextureData(texture.GetRawTextureData());

    正常显示!

    —————————-
    发现的问题:
    texture.GetRawTextureData()的数据与AssetBundle的数据不一样

    但是通过UnityStudio 中的Texture2D
    955| bitmap = PVRToBitmap(ConvertToPVR()); –显示正常

    希望perfare可以看到我的留言! 看到QQ回复我谢谢364035886@qq.com

  13. P大你好
    我在使用il2cppdumper dump某手游的iOS版本的時候 得到了這個
    private static extern IntPtr GetFunnyKey(); // 0x******
    游戲在Android上是mono的 所以從DLL檔可以看見這個
    [DllImport(“funnykey”)]
    private static extern IntPtr GetFunnyKey();

    下面是.arm檔的
    __text:00****** MOV R0, #(aFunnykey – 0x******) ; “funnykey”
    __text:00****** MOV R1, #(aGetfunnykey – 0x******) ; “GetFunnyKey”
    __text:00****** ADD R0, PC ; “funnykey”
    __text:00****** ADD R1, PC ; “GetFunnyKey”

    這個函數的返回在Android和iOS上應該是不同的 所以我現在衹能分析iOS程式
    函數是p/invoke封裝的。。 拜托大佬指教下下面該怎麽分析

      1. ; CODE XREF: s_Il2CppCodegenRegistration(void)+18j
        .plt:00C7C534 ADRL R12, 0x218953C
        .plt:00C7C53C LDR PC, [R12,#(_ZN6il2cpp2vm13MetadataCache8RegisterEPK22Il2CppCodeRegistrationPK26Il2CppMetadataRegis…….
        ZEN ME KAN A

      2. ; .got:_Z27s_Il2CppCodegenRegistrationv_ptro
        LDR R0, =(g_CodeRegistration_ptr – 0x1CD83B4)
        LDR R1, =(g_MetadataRegistration_ptr – 0x1CD83B8)
        LDR R2, =(unk_1E58336 – 0x1CD83BC)
        LDR R0, [PC,R0] ; g_CodeRegistration
        LDR R1, [PC,R1] ; g_MetadataRegistration
        ADD R2, PC, R2 ; unk_1E58336
        B j__ZN6il2cpp2vm13Metada

        这种怎么计算ro r1偏移

  14. 0 0你好,少女前线的新版本疑似加密了,目前本人对加密方面的知识较少,暂无头绪。。。有兴趣通过邮箱了解情况吗?

  15. Hi perfare, in case you didn’t already know, 1.28.2 fgojp is totally unencrypted (including libs) if you want to take a look :mrgreen:

  16. 你好,我想對coco2dx遊戲的圖片資源進行解密,但我不知道該怎麼做…

    ====以下是IDA Pro執行F5 cocos2d::ZipUtils::setPvrEncryptionKey 的代碼===

    然而並沒有看到想要的key

      1. 請問大概要怎麼做,因為我用searh text的方式去找cocos2d::ZipUtils::setPvrEncryptionKeyPart沒找到有出現什麼
        v? = cocos2d::ZipUtils::setPvrEncryptionKeyPart(xxx,xxx,xxx,xxx)

        1. 你不用帖这么长的代码给我,是TexturePacker加密的就去找setPvrEncryptionKey的调用,不是的就自己解决,我不可能帮你看

  17. 想请问大佬会不会做网络封包一类的科技?这边有个需求可以的话望回复下邮箱或者其他联系方式具体详谈(可支付费用)
    顺便还有点其它关于修改u3d类游戏的小问题想一起解决下

    谢谢

  18. P大, 小的初學IL2CPP的SO修改, 參考BANG DREAM的全P想改下面這個遊戲.

    SCHOOLGIRL STRIKERS ~光輝旋律~
    https://play.google.com/store/apps/details?id=com.square_enix.android_googleplay.TwinkleMelodiesct

    這個有中文版, 而且人設是我的茶, 就想改個全P解放一下.

    之前改DLL的完全就是容易, 現在的都是libil2cpp.so, 完全不懂.

    爬了些教學, 找得到NoteJudgeData -> get_TimingResult(); // 1132d64
    裡面是LDR R0, [R0,#8]

    到這裡就沒法走下去, 怎樣可以改成PERFECT = 5?

    還是應該改這個set_TimingResult(TimingResultType value); // 1132d6c?

    參考P大的 MOV R0, #0x4 改成MOV R0, #0x5, 可是SO放回去就打不開遊戲了

    請問可以指點一下嘛?

    萬分感謝

  19. P大。最近有款Last Day On Erath这款游戏也是用U3D开发的,我不会改so,所以就从游戏存档文件入手,发现存档文件可以用BASE64解码,但是有乱码,这是怎么回事?混淆过了嘛?然后我反编译apk,从calss文件找到一个RSA的加密方式,但是用RSA加密怎么可能用BASE64解码呢?能不能出一个教程呢

  20. P大,你的ll2CPP怎么改头呀,我要D的文件有偏移,原版的会改,但是软件写不出来,而你写的的我不会改

    1. 折腾了一晚上….改了MetadataGeneric.cs里面的0xFAB11BAF为0x15FAB11BAF,然后发现…..貌似没用耶

        1. ….就是想改一下偏移,因为我要dump的global-metadata.dat是加密过的,一单用目前的版本来dump的话….会失败,一些成功dump的dalao说
          {
          V21 的adrp解析有点问题
          index都摸了
          非system nameapace的index都是ffffffff
          你得强制解析再排序
          有的乱序对不上原来的list
          就会导致出错
          classcount爱加密改了3.
          文件头8字节也被改了
          }
          反正我是一句都没懂

  21. 請問大大, public bool get_bouns()
    如果以上的語法,想如返回值是“正確”,
    ARM 的語句是否 mov R0,#1
    :?: :?:

      1. 謝謝大大。我改了返回值但沒效用,返回值有可能不是r0,而是r1或r2的嗎?另外,我想請教有沒有C+翻譯ARM的資源或網絡?

  22. 大佬你好,你还记得曾经做过的 last period 的数据库吗(lastperiodhelper.perfare.net/unit),现在数据库网站已经无法访问了,目前还在玩这个游戏的人还没有人有能力再重新建一个类似的系统,我们也没有能力获取最新的游戏数据。我尝试抓包但是技术不行也获得不了数据。能否把代码开源或者把思路告诉我们。谢谢!

    1. 先用这个吧,其他等我有空了才能弄。。。https://lastperiodhelper.perfare.net/unit

          1. 一直以來謝謝大大了 :wink: ! 那個網站也是蠻詳細的,不過還是想知道技能跟被動的數值,就得可以參考以前的,新出的就沒辦法了 :cry:

  23. p大,感谢你的ill2cppdumper的工具,很好用,也谢谢你的无私指点。
    还有个问题想请教下。tcp协议的话,有没有办法解密加密的数据,貌似都是google的protobuf。但是一般在游戏里都没有找到.proto文件,不知道如何解析?

  24. 請問P大,返回型態是Long的方法,直接用mov r0, #65535出來的結果會變成負數,請問要如何返回public Long get_baseHp()

  25. P大,返回类型是 float 的方法,用 mov r0,#9999 结果都是1。
    求教怎么才能返回指定的 float 类型,不知道该谷歌什么关键词。

  26. P大您好
    根据您的教程 我学着做了崩三的修改
    只动了libil2cpp.so 2组小数据
    其他的全部地方都一点都没动
    但是在手机中 安装后 出现了 mihoyo 的标志后就立刻闪退了
    请问这是什么原因

    1. libil2cpp.so里面 差不多就是 闪避/武器/技能 这3个地方 的CD时间
      我将 10 1A 10 EE 改成了
      FE 15 A0 E3 其他的APK中的所有东西 我都原班不动 应该就是这么简简单单的一个修改 个人认为是没有毛病的
      结果只是打开游戏 出现个mihoyo的标记后就闪退了 都不给我机会让我进如战斗然后测试有没有用 QAQ

      1. 现在才来改崩3想多了 人家现在用了商业壳加密so而且有文件验证,2也在用
        早半年前做这事估计还差不多

  27. P大您好,想跟您請教這款遊戲的修改,
    真・恋姫†夢想~天下統一伝R版﹑想自己動手試試看,謝謝。

  28. p大,用你的il2cppdumper 自动分析fate arm64的时候报错。
    调用的目标发生异常。
    在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments,
    Signature sig, Boolean constructor)
    在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Objec
    t[] parameters, Object[] arguments)
    在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke
    Attr, Binder binder, Object[] parameters, CultureInfo culture)
    在 Il2CppDumper.Il2CppGeneric.Init64(UInt64 codeRegistration, UInt64 metadata
    Registration) 位置 C:\projects\il2cppdumper\Il2CppDumper\Il2CppGeneric.cs:行号 6
    6
    在 Il2CppDumper.Macho64.Searchv16_22() 位置 C:\projects\il2cppdumper\Il2CppDu
    mper\Macho64.cs:行号 117
    在 Il2CppDumper.Program.Main(String[] args) 位置 C:\projects\il2cppdumper\Il2
    CppDumper\Program.cs:行号 67

    p大有什么办法可以解决吗?
    文件在 https://pan.baidu.com/s/1eSIhYwy

  29. P大,问一下很蠢的问题,dump.cs要怎么打开..百度找不到,你的博客 一半看过去也没看到 QAQ

  30. 大大,我通过提取内存的方法,dump出加密的dll,修改解密后的dll,但是不知道怎么恢复到APK中,因为dump出的dll不是加密的,替换bin里面的文件夹会黑屏,请问怎么解决?我是用这个方法解密的dll,请看链接:http://www.52pojie.cn/thread-623515-1-1.html
    请你教教我怎么恢复到加密状态,以及怎样恢复到APK,使它成为一个破解的游戏

  31. 大佬,你好。
    使用你的IL2cppdumper分析日服周刊少年jump时,跳出错误 “无法在流的结尾之外进行读取”,这个是什么原因呢。
    谢谢

  32. P大,现在大部分游戏都是基于socket的tcp通讯的貌似。tcp不能用charles和fiddler抓包,有没有趁手点的抓包工具推荐下呢?

  33. 请问下运行Il2CppDumper选择玩libil2cpp.so和global-metadata.dat就出现如下:
    ERROR:Metada file supplied is not valid metadata dile
    在I12CppDumper.Program,Main(String[]args)
    求解

  34. 大佬又打扰了。
    global-metadata 有定义的 byte[]怎么可以读取到值?
    有把常量unk_XXXXXX 和dump.cs 的值关联起来,或得到global-metadata 里的位置?

  35. 用ida调试 li2cpp,老是报SIGURG,然后报SIGPWR,SIGXCPU,li2cpp.so线程会重启。
    反复多次,也调试不了。 :sad:
    大佬,是否能给些提示。

  36. dalao打扰一下。
    unity studio可以直接解出apk解压后的data里面的各类文件,可是我翻找了解包出的文件后没找到想要的(崩坏2武器觉醒立绘)。
    于是就想能不能够通过软件在手机的安装目录上找到的软件安装目录来获取到这些文件。安卓手机和模拟器里的安装目录是Android/data/com.miHoYo.HSoDv2Original。但在把这个文件复制到电脑上后,发现这个文件夹只有200MB(游戏本体应该是1G+),里面也并没有能用unity studio提取的东西。所以来请教一下大佬正确的姿势应该是什么样的呢。

    1. 找到问题所在了,从安卓模拟器里找出来的文件,目录下有个com.miHoYo.HSoDv2Original\files\Resources\MenusV2\Partner\AllPartnerFigures 这些文件都在里面

  37. P大你好,這裡有一個ipa應用程式,請問你能幫我解密(脫殼)嗎?
    手邊實在是弄不出一個有jb的裝置,所以想拜託你看看
    連結https://pan.baidu.com/s/1i4M4nZZ 密碼:t5mk

    如果各路高手有辦法幫忙的話,能不能順手幫我解密?拜託各位了

欢迎留言

4 + 6 =