"ArtMoney Table","20","8.13","19821208","E36E09FB","VP0","1","1","english","NieR Replicant ver.1.22474487139...","NieR Replicant ver.1.22474487139.exe","1","89e4c3d0af6c86db2312fb911dafec91","11/14/2022","2","10","0","1","256","9","","19045","Richard","Vienna,Austria","aon.at","richardxxx","M","64","N","Y","Y","Y","Y","N","8","EXP_x_2;4863C2 4401448170 8B448170 C3;D;;0C;A;S;","Money_Save;B87F969800 440F4FC2 443BC0 410F4CC0 8981BC000000;16;;0C;A;S;","INV_Only_ADD;4863C2 44008408????0000 0FB68408????0000 C3 ???? C3;15;;0C;A;S;","Health_Cheat;488BD9 0F4FFA FF5078 3BF8 7C??;D;;0C;A;S;","Get_Health;4863C2 8B44814C C3;8;;0C;A;S;","MP_Cheat;F30F10511C 0F57C0 F30F5FC8 0F2FD1 77?? 0F28CA 8B51??;17;;0C;A;S;","Get_MP;4863C2 F30F11548158 C3;A;;0C;A;S;","Instant_Fishing;488B4B08 8B4318 29410C;A;;0C;A;S;","0","","Tested on Steam in Nov 2022 Load Table after a save was loaded Use Code replacing on 'Code injecting' Tab (right on top) or Edit (Description) Line and use Tab 'Code replacing' * SET Inventory ADD always: Sold or Droped Items will be added instead of substracted * SET Double EXP; Earn double EXP * SET 00% Damage: Nearly a Godmode * SET 00% MP Use: No direct MP Consumation * SET Instant Fishing: Get Fishes instantly Inventory: Each Item (Amount) is stored with 1 Byte you may use Memory editor on 'Last Item Count' look at the Inventory for ammount and change it. It is not possible to create Items using this way.","CHR0_EXP dq 0 CHR1_EXP dq 0 CHR2_EXP dq 0 CHR0_Health dq 0 CHR1_Health dq 0 CHR2_Health dq 0 CHR0_MP dq 0 CHR1_MP dq 0 CHR2_MP dq 0 Money_R dq 0 Last_Item dq 0 Set_X2 dd 1 // Flag for EXP*2 Set_Inv dd 1 // Flag for Inventory Set_God dd 1 // Godmode Cheat Set_MP dd 1 // MP-Cheat Set_Fish dd 1 / Instant fishing","-- Read: Table/Info/Comment --","000000000000","","","","nt4","","","","","0","- Replace all Codes: Table/Info/Code injecting -","000000000000","","","","nt4","","","","","0"," MONEY","Money_R+P000000000000,BCh","","","","ni4&","","","","","0"," Last Item Count (picked,sold,dropped...)","Last_Item+P000000000000","","","","ni1&","","","","","0","-- CHAR Stat --","000000000000","","","","nt4","","","","","0",">EXP Char 0 (Main)","CHR0_EXP+P000000000000","","","","ni4&","","","","","0",">Health Char 0 (Main)","CHR0_Health+P000000000000","","","","ni4&","","","","","1",">MP Char 0 (Main)","CHR0_MP+P000000000000","","","","nf4.2&","","","","","1","-- Companion Stat ? --","000000000000","","","","nt4","","","","","0",">EXP Char 1","CHR1_EXP+P000000000000","","","","ni4&","","","","","0",">EXP Char 2","CHR2_EXP+P000000000000","","","","ni4&","","","","","0",">Health Char 1","CHR1_Health+P000000000000","","","","ni4&","","","","","1",">Health Char 2","CHR2_Health+P000000000000","","","","ni4&","","","","","1",">MP Char 1","CHR1_MP+P000000000000","","","","nf4.2&","","","","","1",">MP Char 2","CHR2_MP+P000000000000","","","","nf4.2&","","","","","1","-- Turn CHEATS ON (default) or Off --","000000000000","","","","nt4","","","","","0","* SET Inventory ADDs always 1= ON, 0=Off","Set_Inv+000000000000","","","","ni2&","","","","","0","* SET Double EXP 1= ON, 0=Off","Set_X2+000000000000","","","","ni2&","","","","","0","* SET 100% Health (Cheat) 1= ON, 0=Off","Set_God+000000000000","","","","ni2&","","","","","0","* SET 00% MP Use (MP Cheat) 1= ON, 0=Off","Set_MP+000000000000","","","","ni2&","","","","","0","* SET Instant Fishing (Cheat) 1= ON, 0=Off","Set_Fish+000000000000","","","","ni2&","","","","","0","--- Injected Code for Variables and Cheats ---","000000000000","","","","nt4","","","","","0","# Get and Double EXP add [rcx+rax*4+70],r8d","EXP_x_2+000000000003","","","","nc5$","","","","","0","Y","0","4401448170","push rbx mov rbx,CHR0_EXP // first EXP Entry shl rax,3 // *8 Char-Addr offset add rbx,rax // ARTM offset for Char 0-2 shr rax,1 // *8 -> *4 Data offset add rax,70 // offset for EXP add rax,rcx // BaseMemoryAddress mov [rbx],rax // store calcutalted used address pop rbx mov eax,[Set_X2] // flag for EXP *2 test eax,eax movsxd rax,rdx // set rax back to 'normal' jz NoEXP_X2 shl r8d,1 // double EXP NoEXP_X2: PutOriginalCode // add [rcx+rax*4+70],r8d","# INV always ADD Items [rax+rcx+000000C0],r8l","INV_Only_ADD+000000000003","","","","nc8$","","","","","0","Y","0","44008408????0000","push rdx xor rdx,rdx mov rdx,rax add rdx,rcx add rdx,00C0 mov [Last_Item],rdx mov edx,[Set_Inv] test edx,edx //check Cheat pop rdx jz Pos_Skip // Cheat off cmp r8l,00 jns Pos_Skip // is postive xor r8l,ff // neg inc r8l // +1 = 2-complement Pos_Skip: PutOriginalCode","# Get Money Address mov [rcx+000000BC],eax","Money_Save+000000000010","","","","nc6$","","","","","0","Y","0","8981BC000000","mov [Money_R],rcx PutOriginalCode","# Health Cheat Code call [rax+78]","Health_Cheat+000000000006","","","","nc3$","","","","","0","Y","5","FF5078","push rax // for second PutOriginalCode: call [rax+78] PutOriginalCode mov r8d,[Set_God] test r8d,r8d jz End_HCheat God_Mode: mov edi,eax // set Health to max End_HCheat: pop rax PutOriginalCode ","# Get Health Addresses movsxd rax,rdx","Get_Health+000000000000","","","","nc3$","","","","","0","Y","7","4863C2","push rbx mov rbx,CHR0_Health // first Health Entry movsxd rax,rdx // Char 0-2 shl rax,3 // *8 Char-Addr offset add rbx,rax // ARTM offset for Char 0-2 shr rax,1 // *8 -> *4 Data offset add rax,4C // offset for Health add rax,rcx // BaseMemoryAddress mov [rbx],rax // store calcutalted used address pop rbx PutOriginalCode","# MP-Max Cheat Code movss xmm2,[rcx+1C]","MP_Cheat+000000000000","","","","nc5$","","","","","0","Y","0","F30F10511C","PutOriginalCode mov edx,[Set_MP] // will be (re)set later test edx,edx // Check MP Cheat Flag jz MP_End movss xmm1,xmm2 // copy max MP to axtual MP_End:","# Get MP Addresses movss [rcx+rax*4+58],xmm2","Get_MP+000000000003","","","","nc6$","","","","","0","Y","0","F30F11548158","push rbx mov rbx,CHR0_MP // first MP Entry shl rax,3 // *8 Char-Addr offset add rbx,rax // ARTM offset for Char 0-2 shr rax,1 // *8 -> *4 Data offset add rax,58 // offset for MP add rax,rcx // BaseMemoryAddress mov [rbx],rax // store calcutalted used address pop rbx movsxd rax,rdx // Char 0-2, restore rax PutOriginalCode","# Get Fish instantly mov rcx,[rbx+08]","Instant_Fishing+000000000000","","","","nc4$","","","","","0","Y","7","488B4B08","push rbx PutOriginalCode mov ebx,[Set_Fish] test ebx,ebx pop rbx jz Skip_Instant mov eax,[rcx+0C] // actual Fish endurance Skip_Instant:","- Reserve using Module Addressing -","000000000000","","","","nt4","","","","","0"," Pointer Money","NieR Replicant ver.1.22474487139.exe+P000001220670,BCh","","","","ni4","","","","","0"," Pointer Health","NieR Replicant ver.1.22474487139.exe+P000001220670,4Ch","","","","ni4","","","","","1"," Pointer MP","NieR Replicant ver.1.22474487139.exe+P000001220670,58h","","","","nf4.2","","","","","1"," Pointer EXP","NieR Replicant ver.1.22474487139.exe+P000001220670,70h","","","","ni4","","","","","1","# Get and Double EXP add [rcx+rax*4+70],r8d","EXP_x_2+000000000003","","","","nc5$","","","","","0","N","0","4401448170","push rbx mov rbx,CHR0_EXP // first EXP Entry shl rax,3 // *8 Char-Addr offset add rbx,rax // ARTM offset for Char 0-2 shr rax,1 // *8 -> *4 Data offset add rax,70 // offset for EXP add rax,rcx // BaseMemoryAddress mov [rbx],rax // store calcutalted used address pop rbx mov eax,[Set_X2] // flag for EXP *2 test eax,eax movsxd rax,rdx // set rax back to 'normal' jz NoEXP_X2 shl r8d,1 // double EXP NoEXP_X2: PutOriginalCode // add [rcx+rax*4+70],r8d","# INV always ADD Items [rax+rcx+000000C0],r8l","NieR Replicant ver.1.22474487139.exe+0000003BBB20","","","","nc8","","","","","0","N","0","44008408????0000","push rdx xor rdx,rdx mov rdx,rax add rdx,rcx add rdx,00C0 mov [Last_Item],rdx mov edx,[Set_Inv] test edx,edx //check Cheat pop rdx jz Pos_Skip // Cheat off cmp r8l,00 jns Pos_Skip // is postive xor r8l,ff // neg inc r8l // +1 = 2-complement Pos_Skip: PutOriginalCode","# Get Money Address mov [rcx+000000BC],eax","NieR Replicant ver.1.22474487139.exe+0000003BBA9F","","","","nc6","","","","","0","N","0","8981BC000000","mov [Money_R],rcx PutOriginalCode","# Health Cheat Code call [rax+78]","NieR Replicant ver.1.22474487139.exe+000000408427","","","","nc3","","","","","0","N","5","FF5078","push rax // for second PutOriginalCode: call [rax+78] PutOriginalCode mov r8d,[Set_God] test r8d,r8d jz End_HCheat God_Mode: mov edi,eax // set Health to max End_HCheat: pop rax PutOriginalCode ","# Get Health Addresses movsxd rax,rdx","NieR Replicant ver.1.22474487139.exe+0000003BBEE1","","","","nc3","","","","","0","N","7","4863C2","push rbx mov rbx,CHR0_Health // first Health Entry movsxd rax,rdx // Char 0-2 shl rax,3 // *8 Char-Addr offset add rbx,rax // ARTM offset for Char 0-2 shr rax,1 // *8 -> *4 Data offset add rax,4C // offset for Health add rax,rcx // BaseMemoryAddress mov [rbx],rax // store calcutalted used address pop rbx PutOriginalCode","# MP-Max Cheat Code movss xmm2,[rcx+1C]","NieR Replicant ver.1.22474487139.exe+000000408470","","","","nc5","","","","","0","N","0","F30F10511C","PutOriginalCode mov edx,[Set_MP] // will be (re)set later test edx,edx // Check MP Cheat Flag jz MP_End movss xmm1,xmm2 // copy max MP to axtual MP_End:","# Get MP Addresses movss [rcx+rax*4+58],xmm2","NieR Replicant ver.1.22474487139.exe+0000003BE2BE","","","","nc6","","","","","0","N","0","F30F11548158","push rbx mov rbx,CHR0_MP // first MP Entry shl rax,3 // *8 Char-Addr offset add rbx,rax // ARTM offset for Char 0-2 shr rax,1 // *8 -> *4 Data offset add rax,58 // offset for MP add rax,rcx // BaseMemoryAddress mov [rbx],rax // store calcutalted used address pop rbx movsxd rax,rdx // Char 0-2, restore rax PutOriginalCode","# Get Fish instantly mov rcx,[rbx+08]","NieR Replicant ver.1.22474487139.exe+0000003A2587","","","","nc4","","","","","0","N","7","488B4B08","push rbx PutOriginalCode mov ebx,[Set_Fish] test ebx,ebx pop rbx jz Skip_Instant mov eax,[rcx+0C] // actual Fish endurance Skip_Instant:","-- END --","000000000000","","","","nt4","","","","","0"