NewsJai 发表于 2019-8-12 21:39

【原创】明日方舟 修改教学 (HOOK)

本帖最后由 NewsJai 于 2019-8-12 21:46 编辑




https://img.taplb.com/md5/2e/a1/2ea1a63c45fe294d36e29e348d441ea3?TapTapIcon





【语       言】- 中文
【软体名称】- 明日方舟
【版本资讯】- v0.7.31
【更新日期】- 2019-07-08
【使用权限】- 免费,已修改,全程需连网
【系统支持】- 支持Android 4.0.3 以上版本 <不能100%保证所有手机装置设备都可以完美运行游戏>http://chuantu.biz/t6/136/1510357807x1039116168.jpg









【前言】我怕我再不發帖會被清理而且看一下能不能混個精華~.~所以就發個帖希望各位高抬貴手多多指教









【修改内容】2倍功擊力
3倍防禦力









【准备工具】
7-zip : http://www.7-zip.org/Android-Hooking-Template-master : https://github.com/joeyjurjens/Android-Hooking-Template解压缩工具 : https://pan.baidu.com/s/1bqGe9yf下载安装JAVA JDK : http://www.oracle.com/technetwor ... nloads-2133151.htmlAndroid NDK : https://developer.android.com/ndk/downloads/older_releasesVisual Studio : https://visualstudio.microsoft.com/zh-hant/?rr=https%3A%2F%2Fwww.google.com%2FIl2CppDumper : https://github.com/Perfare/Il2CppDumper/releases
【注意事項】1.設定compile.bat您的Android NDKndk-build 在哪裡就設定在那裡2.修改Android-Hooking-Template-master\Smali Files\libLoader$1圖中    const-string/jumbo v0, "NewsJai""NewsJai"為新成的.so,可隨意更改









【修改教学】
1.解压缩后开启明日方舟
2.打開\lib\armeabi-v7a
libil2cpp.so 是重點libil2cpp.so ,相關的遊戲修改教學論壇上很多大家可以去了解一下3.打開\assets\bin\Data\Managed\Metadata

4.把global-metadata及libil2cpp提取到\Il2CppDumper

5.使用Il2CppDumper得出dump.cs
6.打開dump.cs
7.搜索 public abstract class Entity : BObject, IHotfixable public public float get_atk相信大家已經看到很多有用的函數但不建議大家改太誇張8.修改get_atk這樣修改可逹致秒殺但敵方亦有相同效果9.解決辨法搜索public class BObject : VisualObject, IReusableObjectpublic SideType get_side此處是代表敵人,那我們要調用此處的數以便分別友方及敵人10.修改打開Hook\Android-Hooking-Template-master\jni\hook.cpp修改hook.cpp 如下:
11.解釋int(*orig_get_side)(void* _this);
int hook_get_side(void* _this)
{
      return orig_get_side(_this);
}

hook get_side 作用是為了讓hook.cpp能夠識別以進行下一步修改float(*orig_get_atk)(void *_this);
float hook_get_atk(void *_this)
{
      int newsjai = orig_get_side(_this);
      if (newsjai == 1)
      {
                return 2 * orig_get_atk(_this);
      }
      return orig_get_atk(_this) / 3;
}
hook get_atk 進行修改
int newsjai = orig_get_side(_this);
      if (newsjai == 1)此處是調用get_side以便分別友方及敵人
{
                return 2 * orig_get_atk(_this);
      }
      return orig_get_atk(_this) / 3;
}第一個return是友方第二個return是敵人13.生成libhook.so运行/b]compile.bat
14.MSHookFunction    }   
MSHookFunction((void *)getRealOffset(0x1A30C10), (void *)&hook_get_side, (void **)&orig_get_side);
      MSHookFunction((void *)getRealOffset(0x18FFF24), (void *)&hook_get_atk, (void **)&orig_get_atk);
}1A30C10及18FFF24為get_side及get_atk偏移量如改版則需修改此處
15.注入libhook.so生成後的libhook.so位於Android-Hooking-Template-master\libs\armeabi-v7a把libhook.so放於com.hypergryph.arknights-20190802144905\lib\armeabi-v7a
提取Android-Hooking-Template-master\Smali Files把Smali Files放於com.hypergryph.arknights-20190802144905\smali\com並改名為loadLib
打開com.hypergryph.arknights-20190802144905\smali\com\unity3d\player\UnityPlayerActivity搜索.method protected onCreate(Landroid/os/Bundle;)V 加入invoke-static {}, Lcom/loadLib/libLoader;->loadLib()Vinvoke-static 為調用com/loadLib/libLoader


16.必须签名后才能运行否则请使用已ROOT的手机
明日方舟官网:https://ak.hypergryph.com/index







Ymy 发表于 2019-8-23 11:31

大佬好   之前拆包过大佬发的0728版本   受益良多    由于不太会hook只能修改so来实现简单的修改   

不过我在修改0731版时   意外发现了安卓层有一些检测代码   不过好像检测并不会使修改后的包崩溃   只是上报信息   可能是作为封号依据吧

a3860135 发表于 2019-12-11 09:03

希望能出个64位的框架

incubus 发表于 2019-8-15 19:40

我运行compile.bat闪退

hill_king 发表于 2019-8-12 21:50

好深奥,只能支持一下

泛轻舟 发表于 2019-8-12 21:51

哇    很厉害   虽然我不玩
另外七夕节快乐!

Readmy 发表于 2019-8-12 21:59

哎,脑子一片浆糊,看不懂啊

hpmk1234 发表于 2019-8-12 22:09

学习了,谢谢

a109416 发表于 2019-8-12 22:16

学习到了,谢谢

gaosld 发表于 2019-8-12 22:29

这个厉害,能说说原理就更好了

永疯 发表于 2019-8-12 22:35

我玩明日方舟。。但是完全看不懂这是在干嘛。。。

Abraham511 发表于 2019-8-12 22:37

终于学会怎么修改明日方舟了!

lionshine 发表于 2019-8-12 22:37

留名关注
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【原创】明日方舟 修改教学 (HOOK)