搜尋

小說家模擬器

返回清單
切換到指定樓層
通知這文章過時或找檔案 發表主題

[作弊修改] 小說家模擬器2之il2cpp.so修改教程 【安卓遊戲修改基礎教學MOD】

[複製連結]
1
fox67823544 ( Lv.50 智天使 ) 發表於 2021-4-17 12:59:29 | 只看該作者 |只看大圖 回覆獎勵 |降序瀏覽 |閱讀模式
前言:
這個游戲確實是蠻有意思的,勾起了我曾經想寫小說的夢想。

准備:
1.小說家模擬器1.1.8

2.IDA

3.IL2cppdumper

4.MT管理器

過程:
一、dump出cs文件
1.看lib文件夾內有il2cpp文件,於是祭出神器il2cppdumper,下載地址
2.下載成功後,雙擊Il2CppDumper.exe,先選擇so,然後選擇dat文件(在這之前記得把這兩個文件從游戲安裝包裡提取出來)



二、IDA分析
1.首先把我們的so拖進ida,然後左上角加載腳本,並選擇好我們剛才dump的script.json(方便我們分析函數)。



2.等待ida加載,這時打開我們dump好的dump.cs文件,搜索get_money,並復制RVA地址0x347B5C
  1.         // RVA: 0x347B5C Offset: 0x347B5C VA: 0x347B5C
  2.         public static long get_Money() { }
  3.         // RVA: 0x347BE8 Offset: 0x347BE8 VA: 0x347BE8
  4.         public static void set_Money(long value) { }
複製代碼
3.回到IDA,按G鍵跳轉地址,如果這時IDA還沒加載到這裡,可以按下C鍵讓它提前顯示出來,然後我們直接採用暴力賦值法,Ctrl+Alt+k進行修改(同時需要提醒一下,因為我們改了大量金幣,這個游戲不知道怎麼判斷的,房東阿姨那裡會說我們破產了,沒關系,點免租七天就可以一直玩下去了,只不過是要每天交房租)
  1. MOV             R0, #0xFFFFFFF
  2. BX              LR
複製代碼










4.接著回到dump.cs文件中,搜索reward,定位到這個函數中,很明顯這是和廣告相關的函數,其中的HandleReward是關鍵函數,同樣復制RVA地址(這一步操作完之後需要斷網玩才能獲得獎勵)
  1. public class ADController : MonoBehaviour // TypeDefIndex: 3847
  2. {   //廣告控制
  3.         // Fields
  4.         public static ADController Instance; // 0x0
  5.         public string RewardType; // 0xC
  6.         private bool IsRewardVideoAvailable; // 0x10
  7.         public bool handleReward; // 0x11

  8.         // Methods
  9.         // RVA: 0x67BBB0 Offset: 0x67BBB0 VA: 0x67BBB0
  10.         private void Start() { }
  11.         // RVA: 0x67BC28 Offset: 0x67BC28 VA: 0x67BC28
  12.         public void InitSDK() { }
  13.         // RVA: 0x67BCA0 Offset: 0x67BCA0 VA: 0x67BCA0
  14.         private void Update() { }
  15.         // RVA: 0x67C518 Offset: 0x67C518 VA: 0x67C518
  16.         public void ShowBannerAD() { }
  17.         // RVA: 0x67C54C Offset: 0x67C54C VA: 0x67C54C
  18.         public void HideBannerAD() { }
  19.         // RVA: 0x67C580 Offset: 0x67C580 VA: 0x67C580
  20.         public void DestroyBannerAD() { }
  21.         // RVA: 0x67C5B4 Offset: 0x67C5B4 VA: 0x67C5B4
  22.         public void UserOptToWatchAd(string RewardType) { }
  23.         // RVA: 0x67BD2C Offset: 0x67BD2C VA: 0x67BD2C
  24.         public void HandleReward(string paramHolder) { }  //這個是關鍵函數,意思是處理獎勵
  25.         // RVA: 0x67D5BC Offset: 0x67D5BC VA: 0x67D5BC
  26.         private void increaseRewardCountByOne() { }
  27.         // RVA: 0x67D64C Offset: 0x67D64C VA: 0x67D64C
  28.         private void StopRewardVideoForAWhile() { }
  29.         // RVA: 0x67D7A0 Offset: 0x67D7A0 VA: 0x67D7A0
  30.         private bool CheckIfRewardAvailable() { }
  31.         // RVA: 0x67C608 Offset: 0x67C608 VA: 0x67C608
  32.         public bool UseItemToFreeAD() { }
  33.         // RVA: 0x67D974 Offset: 0x67D974 VA: 0x67D974
  34.         public void .ctor() { }
  35. }
複製代碼
5.打開IDA,跳轉地址,從這個函數內容我們不能看出什麼,於是點擊左上角的函數名,按下X鍵,查看調用,緊接著它就跳到上面一點點的位置。這這裡我們可以發現上方有一個判斷,很明顯就是判斷我們是否有沒有觀看完廣告,因此我們直接把它NOP掉,這樣它就會直接執行獎勵廣告的邏輯

EtFHev.jpg

RH5Kmb.jpg


V7IUdj.jpg

wd0erm.jpg











6.再回到dump.cs文件,搜索get_light,復制RVA地址
  1. // RVA: 0x3757C0 Offset: 0x3757C0 VA: 0x3757C0
  2.         public static int get_Light() { }
  3.         // RVA: 0x37B8B0 Offset: 0x37B8B0 VA: 0x37B8B0
  4.         public static void set_Light(int value) { }
複製代碼
老樣子IDA跳轉,同樣暴力賦值完事
VOjCuK.jpg



nWI2yN.jpg








7.至於體力的修改暫時還沒找到關鍵函數,大佬們可以試一試

三、 簡單修改方法:


所有站內附件皆會附上安全掃描報告
請會員查看純淨度百分比後判斷使用



相關檔案須知:
取得檔案前,請先詳細閱讀文章內容
避免不必要錯誤與誤會發生。
也可多參考文章討論樓層內容
了解附件檔案相關討論資訊。




最後:
最後我們看一下效果:
RtYW61.jpg







大家正在看啥


收藏收藏 分享文章到FB上分享
回覆 使用道具 檢舉
複製專屬你的推廣連結:發至FB與各論壇宣傳:累積點數換GP商品 & 藍鑽
每五點閱率就可以兌換藍鑽積分或遊戲點卡 夢遊推廣文章換GP商品

你需要登入後才可以回覆 登入 | 加入會員

本版積分規則

Copyright (C) 2010-2020 夢遊電玩論壇

廣告合作:請直接聯繫我們,並附上您預刊登位置的預算。  

快速回覆 返回頂端 返回清單