Tutorial modding fgo jp /na with always your turn/dumb enemy,attack,and noble phantasm

mars12

Platinian
Original poster
Jun 8, 2020
10
10
3
32
jakarta
tools:
il2cpp dumper = Releases · Perfare/Il2CppDumper
hxd editor = Freeware Programs | mh-nexus
apk easy tool = [TOOL][Windows] APK Easy Tool v1.57 (12 june 2020)
apk link = Fate/Grand Order (English) for Android - APK Download
dnspy = Releases · 0xd4d/dnSpy
arm converter = armconverter (online )
warning : the attack is work for enemy too.

1. dumping il2cpp like other tutorial ( chose arm7 )

2. decompile apk with apk easy tool

3. after dump, open dnspy, click file>open, find it folder dummy dll and open assembly-csharp.dll

4. open libil2cpp.so with hxd tool ( folder decompile)

5 dnspy >> type on search
1595122335212.png

(always your turn / dump enemy ) then edit value on hex tool to value nop ( 00 f0 20 e3 1e ff 2f e1)

6 for attack >>
1595122386688.png

edit value to high value

7 for noble phantasm >>
1595122464252.png

edit value to this FA0444E3 1EFF2FE1 ( ref= How to get and use float in armv7-il2cpp - Platinmods.com - Android & iOS MODs, Mobile Games & Apps)

8. then
1595122520188.png



9. save edit of hex editor then delete bak file and delete arm64 folder

10. compile in apk easy tool wait until done

11. sign apk wait until done , then sign apk again

12 get it file apk from recompile folder

13 install apk on smartphone or emulator

14. finish

note: this what i explain without menu and hook because edit file il2cpp direcly is because is the best away

it's up to you.
if you don't belief me , it's okay.
 
Last edited:

Yaskashije

PMT Elite Modder
Staff member
Modding-Team
Sep 9, 2018
4,421
837,217
1,213
Minkowski Space
Dumb Enemy feature crashes the game during the 1st attack animation. The NP one doesn't seem to work either. Since enemies do get the damage boost, you can't even clear the tutorial with the working feature. I'd like to have someone to repeat the same process as me, and to verify that it's not just me or my emulator. I'm using a predetermined Nox Android 7 stance (non-rooted).

Also, some clarifications or insights are needed:
>The Dumb Enemy feature consists of nopping a huge function (REALLY HUGE). Further IDA inspection proves us this is a complex function (a class or struct type function). BX LRing it out will not be a good idea from the very start (we don't even know a priori wether this func has a return or not).
>There's 3 anticheat functions with those 2 func he mentions to nop, one is wallhack (I dont know why), Speedhack, and Injection integrity check. I edited the injction one. (If it's another func the one that should be nulled, it's OP's fault for not saying specifically which one to edit) .
>There's only one isAddNpPer function, and the tutorial instruction edition doesn't work. (Moreover, it's a void function, you should inspect it using IDA, since there wont be a return, internal registers should be edited)
>Damage one works, but enemies also obtain it. There's 2 functions with that name, but since one returns boolean 0 or 1, I ignored it.


Offset references for current version 2.2.1:
// RVA: 0x140DA7C Offset: 0x140DA7C VA: 0x140DA7C Slot: 6
protected override void DisposeInternal() { }

// RVA: 0x140D65C Offset: 0x140D65C VA: 0x140D65C
private void OnCheatingDetected(string cause) { }

// RVA: 0x1101070 Offset: 0x1101070 VA: 0x1101070
public void addNpPer(float per) { }

// RVA: 0xF161E4 Offset: 0xF161E4 VA: 0xF161E4
public int get_AddAtk() { }

// RVA: 0x179E320 Offset: 0x179E320 VA: 0x179E320
public BattleLogicTask[] taskAIAttack(BattleLogic.LOGICTYPE ltype, BattleData data) { }


Thus, I have the following hypotheses (not in order of how likely I think they are):
1: Tutorial is missing info, OP says he got it working and to trust him. Anybody learning or trying the same process may fail to obtain 2/3 features mentioned (and the one that works makes you unable to even pass the 2nd tutorial fight) [Just like what happened to me].
2: Op didn't test for the features, making this tutorial pointless.
3: Mod works on OP's device but not on every device, so it should be mentioned.
4: Since this game is active, there's chance devs patched his working features, making this post a great example of why tutorials are detrimental to modding community. (Devs also learn from online tutorials)


PS: Since I'm using different offsets (not even the same functions are my references) for my mod, I don't really mind this tutorial being out here, but I felt I should add this comment here so OP may add further clarifications in his tut.

PS2: If it were case 4, I ask OP to not develop further the tutorial with new/different offsets, harm you would cause to mod users would be higher than any good it might bring.
 
Last edited:

mars12

Platinian
Original poster
Jun 8, 2020
10
10
3
32
jakarta
Dumb Enemy feature crashes the game during the 1st attack animation. The NP one doesn't seem to work either. Since enemies do get the damage boost, you can't even clear the tutorial with the working feature. I'd like to have someone to repeat the same process as me, and to verify that it's not just me or my emulator. I'm using a predetermined Nox Android 7 stance (non-rooted).

Also, some clarifications or insights are needed:
>The Dumb Enemy feature consists of nopping a huge function (REALLY HUGE). Further IDA inspection proves us this is a complex function (a class or struct type function). BX LRing it out will not be a good idea from the very start (we don't even know a priori wether this func has a return or not).
>There's 3 anticheat functions with those 2 func he mentions to nop, one is wallhack (I dont know why), Speedhack, and Injection integrity check. I edited the injction one. (If it's another func the one that should be nulled, it's OP's fault for not saying specifically which one to edit) .
>There's only one isAddNpPer function, and the tutorial instruction edition doesn't work. (Moreover, it's a void function, you should inspect it using IDA, since there wont be a return, internal registers should be edited)
>Damage one works, but enemies also obtain it. There's 2 functions with that name, but since one returns boolean 0 or 1, I ignored it.


Offset references for current version 2.2.1:
// RVA: 0x140DA7C Offset: 0x140DA7C VA: 0x140DA7C Slot: 6
protected override void DisposeInternal() { }

// RVA: 0x140D65C Offset: 0x140D65C VA: 0x140D65C
private void OnCheatingDetected(string cause) { }

// RVA: 0x1101070 Offset: 0x1101070 VA: 0x1101070
public void addNpPer(float per) { }

// RVA: 0xF161E4 Offset: 0xF161E4 VA: 0xF161E4
public int get_AddAtk() { }

// RVA: 0x179E320 Offset: 0x179E320 VA: 0x179E320
public BattleLogicTask[] taskAIAttack(BattleLogic.LOGICTYPE ltype, BattleData data) { }


Thus, I have the following hypotheses (not in order of how likely I think they are):
1: Tutorial is missing info, OP says he got it working and to trust him. Anybody learning or trying the same process may fail to obtain 2/3 features mentioned (and the one that works makes you unable to even pass the 2nd tutorial fight) [Just like what happened to me].
2: Op didn't test for the features, making this tutorial pointless.
3: Mod works on OP's device but not on every device, so it should be mentioned.
4: Since this game is active, there's chance devs patched his working features, making this post a great example of why tutorials are detrimental to modding community. (Devs also learn from online tutorials)


PS: Since I'm using different offsets (not even the same functions are my references) for my mod, I don't really mind this tutorial being out here, but I felt I should add this comment here so OP may add further clarifications in his tut.

PS2: If it were case 4, I ask OP to not develop further the tutorial with new/different offsets, harm you would cause to mod users would be higher than any good it might bring.
it;s up to you lol
 

kawaiyo

Platinian
Jan 6, 2022
15
3
3
32
usa
Dumb Enemy feature crashes the game during the 1st attack animation. The NP one doesn't seem to work either. Since enemies do get the damage boost, you can't even clear the tutorial with the working feature. I'd like to have someone to repeat the same process as me, and to verify that it's not just me or my emulator. I'm using a predetermined Nox Android 7 stance (non-rooted).

Also, some clarifications or insights are needed:
>The Dumb Enemy feature consists of nopping a huge function (REALLY HUGE). Further IDA inspection proves us this is a complex function (a class or struct type function). BX LRing it out will not be a good idea from the very start (we don't even know a priori wether this func has a return or not).
>There's 3 anticheat functions with those 2 func he mentions to nop, one is wallhack (I dont know why), Speedhack, and Injection integrity check. I edited the injction one. (If it's another func the one that should be nulled, it's OP's fault for not saying specifically which one to edit) .
>There's only one isAddNpPer function, and the tutorial instruction edition doesn't work. (Moreover, it's a void function, you should inspect it using IDA, since there wont be a return, internal registers should be edited)
>Damage one works, but enemies also obtain it. There's 2 functions with that name, but since one returns boolean 0 or 1, I ignored it.


Offset references for current version 2.2.1:
// RVA: 0x140DA7C Offset: 0x140DA7C VA: 0x140DA7C Slot: 6
protected override void DisposeInternal() { }

// RVA: 0x140D65C Offset: 0x140D65C VA: 0x140D65C
private void OnCheatingDetected(string cause) { }

// RVA: 0x1101070 Offset: 0x1101070 VA: 0x1101070
public void addNpPer(float per) { }

// RVA: 0xF161E4 Offset: 0xF161E4 VA: 0xF161E4
public int get_AddAtk() { }

// RVA: 0x179E320 Offset: 0x179E320 VA: 0x179E320
public BattleLogicTask[] taskAIAttack(BattleLogic.LOGICTYPE ltype, BattleData data) { }


Thus, I have the following hypotheses (not in order of how likely I think they are):
1: Tutorial is missing info, OP says he got it working and to trust him. Anybody learning or trying the same process may fail to obtain 2/3 features mentioned (and the one that works makes you unable to even pass the 2nd tutorial fight) [Just like what happened to me].
2: Op didn't test for the features, making this tutorial pointless.
3: Mod works on OP's device but not on every device, so it should be mentioned.
4: Since this game is active, there's chance devs patched his working features, making this post a great example of why tutorials are detrimental to modding community. (Devs also learn from online tutorials)


PS: Since I'm using different offsets (not even the same functions are my references) for my mod, I don't really mind this tutorial being out here, but I felt I should add this comment here so OP may add further clarifications in his tut.

PS2: If it were case 4, I ask OP to not develop further the tutorial with new/different offsets, harm you would cause to mod users would be higher than any good it might bring.
Hello Yaska could I ask you some about modding fate/go JP version?
I'm making a fgo mod and I saw this thread modding fgo jp /na with always your turn/dumb enemy,attack,and noble phantasm - Platinmods.com - Android & iOS MODs, Mobile Games & Apps
I edited funtions the OP mentioned, it's did no effect and game crashed.

May I ask what funcion you use to modify such as atk/defence multiple and fully charge np .etc? or Anywhere to find reverse tutorial of this game?
I used a forum '吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn', but didn't find a thread tell inject which medthods to modify battle data.

Btw I can't send a message to you because the privacy setting.
Thanks for your work! I'll be very appreciated if you can guide me a little bit
 

Yaskashije

PMT Elite Modder
Staff member
Modding-Team
Sep 9, 2018
4,421
837,217
1,213
Minkowski Space
Hello Yaska could I ask you some about modding fate/go JP version?
I'm making a fgo mod and I saw this thread modding fgo jp /na with always your turn/dumb enemy,attack,and noble phantasm - Platinmods.com - Android & iOS MODs, Mobile Games & Apps
I edited funtions the OP mentioned, it's did no effect and game crashed.
This thread is old, and as I mentioned in the post you quoted, the provided features were already flunky right from the start.




I'm making a fgo mod and I saw this thread.

May I ask what funcion you use to modify such as atk/defence multiple and fully charge np .etc? or Anywhere to find reverse tutorial of this game?
I used a forum '吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn', but didn't find a thread tell inject which medthods to modify battle data.
First let me say that if you are the one making the mod, then you have to figure out the functions on your own; otherwise someone else is the one making the mod, and you're just replicating.
I'm also certain you won't find a tutorial for every game out there; so instead of waiting for someone to hand you the work done, learn modding, acquiere experince, achieve your objectives, and feel proud of yourself.