1
">> Activation des Scripts (v1.05)"
008000
Auto Assembler Script
[ENABLE]
aobscanmodule(playerBaseFetch,MassEffectAndromeda.exe,48 8B ** ** ** ** ** 48 85 C9 74 ** ** ** ** ** ** ** ** 48 85 C9 74 ** 48 8B 11 ** ** ** ** ** ** ** ** ** ** ** ** 84)
registersymbol(playerBaseFetch)
alloc(newmem,2048,playerBaseFetch)
label(pPlayerBase)
registersymbol(pPlayerBase)
label(pPlayer)
registersymbol(pPlayer)
label(originalcode_enable)
registersymbol(originalcode_enable)
label(returnhere)
label(exit)
newmem:
readmem(playerBaseFetch,7)
test rcx,rcx
jz @f
mov [pPlayerBase],rcx
mov rcx,[rcx+228]
mov [pPlayer],rcx
mov rcx,[pPlayerBase]
originalcode_enable:
readmem(playerBaseFetch,7)
exit:
jmp returnhere
pPlayerBase:
dq 0
pPlayer:
dq 0
dq 0
playerBaseFetch:
jmp newmem
nop
nop
returnhere:
//**********//
aobscanmodule(entityCreateRetAOB,MassEffectAndromeda.AmdPowerXpressRequestHighPerformance,48 8B 4B 60 48 85 C9 74 ** 44 8B 43 68 45 0F B7 C8 41 C1 E8 10 BA 01 00 00 00)
registersymbol(entityCreateRetAOB)
aobscanmodule(entityDamageRetAOB,MassEffectAndromeda.exe,44 0F 28 E0 45 ** E4 0F 57 D2)
registersymbol(entityDamageRetAOB)
aobscanmodule(healthCalStartOnHitAOB,MassEffectAndromeda.exe,48 89 5C 24 10 48 89 6C 24 18 57 41 56 41 57 48 83 EC 60 48 8B 01 0F 29 74 24 50 0F 29 7C 24 40)
registersymbol(healthCalStartOnHitAOB)
alloc(newmem2,2048,healthCalStartOnHitAOB)
label(returnhere2)
label(bTeamUndead)
registersymbol(bTeamUndead)
label(dMinHealth)
registersymbol(dMinHealth)
label(dDamageMultiplier)
registersymbol(dDamageMultiplier)
label(originalcode2_enable)
registersymbol(originalcode2_enable)
label(exit2)
newmem2:
mov rax,pPlayer
cmp [rax],rcx
je isplayer2
jmp isnotplayer2
isplayer2:
cmp byte ptr [bTeamUndead],2
jne @f
cmp [rax],rcx
je end2
@@:
comiss xmm1,[dMinHealth]
jae end2
movss xmm1,[dMinHealth]
movss xmm7,xmm1
addss xmm1,xmm6
movss [rcx+20],xmm1
movss xmm0,xmm1
movss xmm11,xmm1
movss xmm1,xmm7
jmp end2
isnotplayer2:
cmp dword ptr [rcx+710],0
jne @f
cmp dword ptr [rcx+1c],1
jne @f
cmp byte ptr [bTeamUndead],1
jge isplayer2
jmp end2
@@:
mov rax,entityCreateRetAOB
cmp [rsp],rax
je @f
mov rax,entityDamageRetAOB
cmp [rsp],rax
jne @f
mov rax,pPlayer
mov [rax+8],rcx
mulss xmm6,[dDamageMultiplier]
movss xmm1,xmm0
subss xmm1,xmm6
movss xmm7,xmm1
movss xmm14,xmm6
end2:
originalcode2_enable:
readmem(healthCalStartOnHitAOB,5)
exit2:
jmp returnhere2
bTeamUndead:
dd 0
dMinHealth:
dd 0
dDamageMultiplier:
dd (float)1
healthCalStartOnHitAOB:
jmp newmem2
returnhere2:
//**********//
aobscanmodule(menuAccessReturn,MassEffectAndromeda.JointPosMotionDataDistance,48 8B 73 38 89 44 24 48 48 85 F6 0F 84)
registersymbol(menuAccessReturn)
aobscanmodule(someAVReadAOB,MassEffectAndromeda.exe,8B 43 ** EB ** 49 ** ** ** 41)
registersymbol(someAVReadAOB)
alloc(newmem4,2048,someAVReadAOB)
label(originalcode4_enable)
registersymbol(originalcode4_enable)
label(dAVIndex)
registersymbol(dAVIndex)
label(pAVs)
registersymbol(pAVs)
label(returnhere4)
label(originalcode4)
label(exit4)
newmem4:
push rcx
mov rcx,menuAccessReturn
cmp [rsp+80],rcx
pop rcx
jne end4
push rcx
push rdx
push r8
mov rdx,pAVs
mov rcx,[rsp+50]
test rcx,rcx
jz avfetchinit4
movsxd rcx,dword ptr [dAVIndex]
inc rcx
cmp rcx,#10
jg avfetchend4
xor r8,r8
@@:
cmp [rdx+r8*8],rbx
je avfetchend4
inc r8
cmp r8,rcx
jl @b
jmp avfetch4
avfetchinit4:
xor r8,r8
@@:
mov [rdx+r8*8],rcx
inc r8
cmp r8,#10
jl @b
avfetch4:
mov [rdx+rcx*8],rbx
mov [dAVIndex],ecx
avfetchend4:
pop r8
pop rdx
pop rcx
end4:
originalcode4:
readmem(someAVReadAOB,3)
reassemble(someAVReadAOB+3)
exit4:
jmp returnhere4
originalcode4_enable:
readmem(someAVReadAOB,5)
dAVIndex:
dd 0
pAVs:
someAVReadAOB:
jmp newmem4
returnhere4:
//########################################//
[DISABLE]
dealloc(newmem)
playerBaseFetch:
readmem(originalcode_enable,7)
unregistersymbol(originalcode_enable)
unregistersymbol(pPlayerBase)
unregistersymbol(pPlayer)
//**********//
dealloc(newmem2)
healthCalStartOnHitAOB:
readmem(originalcode2_enable,5)
unregistersymbol(originalcode2_enable)
unregistersymbol(bTeamUndead)
unregistersymbol(dMinHealth)
unregistersymbol(dDamageMultiplier)
//**********//
dealloc(newmem4)
someAVReadAOB:
readmem(originalcode4_enable,5)
unregistersymbol(originalcode4_enable)
unregistersymbol(dAVIndex)
unregistersymbol(pAVs)
2
"[Codes]"
000080
1
3
"[Exploration]"
000080
1
4
"[A Pied]"
000080
1
5
"Invulnérabilité"
FF0000
Auto Assembler Script
[ENABLE]
dMinHealth:
dd (float)200
bTeamUndead:
db 0
//########################################//
[DISABLE]
dMinHealth:
dd 0
bTeamUndead:
db 0
6
"Actif pour (au choix)"
0: Joueur Uniquement
1: Equipe Entière
2: Equipier Uniquement
008000
Byte
bTeamUndead
7
"Quantité de Vie Minimale"
008000
Float
dMinHealth
8
"Munitions Illimitées"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(fireModeReadAOB,MassEffectAndromeda.exe,8B 81 ** ** ** ** 83 F8 FF 74 ** 83 F8 01)
registersymbol(fireModeReadAOB)
alloc(newmem,2048,fireModeReadAOB)
label(wMinAmmoClip)
registersymbol(wMinAmmoClip)
label(bInBurstFire)
registersymbol(bInBurstFire)
label(originalcode_infammoclip)
registersymbol(originalcode_infammoclip)
label(returnhere)
label(exit)
newmem:
push rcx
mov rcx,pPlayerBase
cmp [rcx],r15
pop rcx
jne end
readmem(fireModeReadAOB,6)
test eax,eax
jz reset
jl iscontinueshot
cmp ax,1
je isoneshot
jg isburstfire
end:
jmp originalcode_infammoclip
isoneshot:
cmp byte ptr [bInBurstFire],1
je isburstfire
mov [wMinAmmoClip],ax
jmp end
iscontinueshot:
mov ax,4
mov [wMinAmmoClip],ax
jmp end
isburstfire:
mov byte ptr [bInBurstFire],1
jmp iscontinueshot
jmp end
reset:
mov byte ptr [bInBurstFire],0
jmp isoneshot
originalcode_infammoclip:
readmem(fireModeReadAOB,6)
exit:
jmp returnhere
wMinAmmoClip:
dd 0
bInBurstFire:
dd 0
fireModeReadAOB:
jmp newmem
nop
returnhere:
//**********//
aobscanmodule(ammoClipWritesAfterFireAOB,MassEffectAndromeda.exe,66 89 90 ** ** ** ** 0F B7 ** ** ** ** ** 66 85 C9)
registersymbol(ammoClipWritesAfterFireAOB)
alloc(newmem4,2048,ammoClipWritesAfterFireAOB)
label(originalcode4_infammoclip)
registersymbol(originalcode4_infammoclip)
label(returnhere4)
label(exit4)
newmem4:
push rcx
mov rcx,pPlayerBase
cmp [rcx],r15
pop rcx
jne @f
cmp dx,[wMinAmmoClip]
jge @f
mov dx,[wMinAmmoClip]
originalcode4_infammoclip:
readmem(ammoClipWritesAfterFireAOB,7)
exit4:
jmp returnhere4
ammoClipWritesAfterFireAOB:
jmp newmem4
nop
nop
returnhere4:
//########################################//
[DISABLE]
dealloc(newmem)
fireModeReadAOB:
readmem(originalcode_infammoclip,6)
unregistersymbol(originalcode_infammoclip)
unregistersymbol(wMinAmmoClip)
unregistersymbol(bInBurstFire)
//**********//
dealloc(newmem4)
ammoClipWritesAfterFireAOB:
readmem(originalcode4_infammoclip,7)
unregistersymbol(originalcode4_infammoclip)
9
"Grenades/Rockets Illimitées"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(ammoClipPouchCalAfterReloadAOB,MassEffectAndromeda.exe,0F B7 E8 ** ** ** ** 66 41 0F 48 EF)
registersymbol(ammoClipPouchCalAfterReloadAOB)
alloc(newmem2,2048,ammoClipPouchCalAfterReloadAOB)
label(returnhere2)
label(originalcode2)
label(exit2)
newmem2:
movzx ebp,ax
sub ebp,ebx
cmp esi,ebp
jg @f
mov esi,ebp
inc si
@@:
originalcode2:
movzx ebp,ax
mov eax,ebx
exit2:
jmp returnhere2
ammoClipPouchCalAfterReloadAOB:
jmp newmem2
returnhere2:
//########################################//
[DISABLE]
dealloc(newmem2)
ammoClipPouchCalAfterReloadAOB:
db 0F B7 E8 89 D8
10
"Cellules d'Energies Illimitées"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(powercellReadAfterUsageAOB,MassEffectAndromeda.exe,48 ** ** 8B 91 F8 00 00 00 48 ** ** 48)
registersymbol(powercellReadAfterUsageAOB)
alloc(newmem,2048,powercellReadAfterUsageAOB+3)
label(originalcode_infpowercell)
registersymbol(originalcode_infpowercell)
label(returnhere)
label(exit)
newmem:
mov edx,1
db 39 91
readmem(powercellReadAfterUsageAOB+5,4)
jge @f
db 89 91
readmem(powercellReadAfterUsageAOB+5,4)
originalcode_infpowercell:
readmem(powercellReadAfterUsageAOB+3,6)
exit:
jmp returnhere
powercellReadAfterUsageAOB+3:
jmp newmem
nop
returnhere:
//########################################//
[DISABLE]
dealloc(newmem)
powercellReadAfterUsageAOB+3:
readmem(originalcode_infpowercell,6)
unregistersymbol(originalcode_infpowercell)
11
"Objets Equipés Illimités"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(quantityWriteOnChangeAOB,MassEffectAndromeda.AmdPowerXpressRequestHighPerformance,41 89 52 1C 41 ** ** ** ** 75)
registersymbol(quantityWriteOnChangeAOB)
alloc(newmem,2048,quantityWriteOnChangeAOB)
label(originalcode_infitemusage)
registersymbol(originalcode_infitemusage)
label(returnhere)
label(exit)
newmem:
cmp edx,1
jge @f
mov edx,1
originalcode_infitemusage:
readmem(quantityWriteOnChangeAOB,9)
exit:
jmp returnhere
quantityWriteOnChangeAOB:
jmp newmem
nop
nop
nop
nop
returnhere:
//########################################//
[DISABLE]
dealloc(newmem)
quantityWriteOnChangeAOB:
readmem(originalcode_infitemusage,9)
unregistersymbol(originalcode_infitemusage)
12
"Rechargement des Pouvoirs de Combat"
FF0000
Auto Assembler Script
[ENABLE]
define(finstantcooldown,0)
define(skillcooldownspeedmultidefult,finstantcooldown)
aobscanmodule(battleSkillChkReadyAOB,MassEffectAndromeda.exe,F3 41 ** ** ** ** ** ** ** 0F 2F C2 0F)
registersymbol(battleSkillChkReadyAOB)
alloc(newmem,2048,battleSkillChkReadyAOB)
label(fSkillCooldownSpeedMultiplier)
registersymbol(fSkillCooldownSpeedMultiplier)
label(originalcode_instantcooldown)
registersymbol(originalcode_instantcooldown)
label(returnhere)
label(exit)
newmem:
push rcx
mov rcx,pPlayerBase
cmp [rcx],r15
pop rcx
jne end
cmp dword ptr [fSkillCooldownSpeedMultiplier],finstantcooldown
je @f
divss xmm1,[fSkillCooldownSpeedMultiplier]
jne end
@@:
xorps xmm0,xmm0
readmem(battleSkillChkReadyAOB,3)
db 11
readmem(battleSkillChkReadyAOB+4,5)
end:
originalcode_instantcooldown:
readmem(battleSkillChkReadyAOB,9)
exit:
jmp returnhere
fSkillCooldownSpeedMultiplier:
dd skillcooldownspeedmultidefult
battleSkillChkReadyAOB:
jmp newmem
nop
nop
nop
nop
returnhere:
//########################################//
[DISABLE]
dealloc(newmem)
battleSkillChkReadyAOB:
readmem(originalcode_instantcooldown,9)
unregistersymbol(originalcode_instantcooldown)
unregistersymbol(fSkillCooldownSpeedMultiplier)
13
"Choix du Mode"
0: Sans Rechargement
1: Avec Rechargement
008000
Float
fSkillCooldownSpeedMultiplier
14
"Saut Infini"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(cJmpIfUpTimerReachedAOB,MassEffectAndromeda.exe,77 ** 8B ** ** 49 89 F1 ** ** F8)
registersymbol(cJmpIfUpTimerReachedAOB)
cJmpIfUpTimerReachedAOB:
db EB
//########################################//
[DISABLE]
cJmpIfUpTimerReachedAOB:
db 77
15
"Utiliser le code [Invulnérabilité] pour éviter les dégâts de chutes ! "
0000FF
1
16
"Une altitude trop élevée peut bloquer le jeu !"
0000FF
1
17
"Téléportation"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(xyz,MassEffectAndromeda.exe,0F 28 44 10 30 0F C6)
alloc(newmem,$1000,"MassEffectAndromeda.exe"+6138231)
label(code)
label(return)
label(xptr)
labeL(yptr)
label(zptr)
registersymbol(xptr)
registersymbol(yptr)
registersymbol(zptr)
newmem:
lea rcx,[rax+rdx+30]
mov [xptr],rcx
lea rcx,[rax+rdx+30+4]
mov [yptr],rcx
lea rcx,[rax+rdx+30+4+4]
mov [zptr],rcx
code:
movaps xmm0,[rax+rdx+30]
jmp return
xptr:
dq 0
yptr:
dq 0
zptr:
dq 0
xyz:
jmp newmem
return:
registersymbol(xyz)
//########################################//
[DISABLE]
dealloc(newmem)
xyz:
db 0F 28 44 10 30
unregistersymbol(xyz)
18
"Mettre le jeu en PAUSE avant de modifier les valeurs !"
0000FF
1
19
"Coordonnée X"
008000
Float
xptr
0
20
"Coordonnée Y"
008000
Float
yptr
0
21
"Coordonnée Z"
008000
Float
zptr
0
22
"[En Nomade]"
000080
1
23
"Indestructible"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(nomadHealth1ReadOnHit,MassEffectAndromeda.exe,F3 ** ** ** ** ** F3 F 5C C2 41 0F 2F C6)
registersymbol(nomadHealth1ReadOnHit)
alloc(newmem,2048,nomadHealth1ReadOnHit)
label(originalcode_fullnomadhealth)
registersymbol(originalcode_fullnomadhealth)
label(dNomadFullHealth)
label(returnhere)
label(exit)
newmem:
movss xmm15,[dNomadFullHealth]
db 44 0F 2F 7C
readmem(nomadHealth1ReadOnHit+4,2)
jbe @f
db F3 44 0F 11 7C
readmem(nomadHealth1ReadOnHit+4,2)
@@:
xorps xmm15,xmm15
comiss xmm2,xmm15
jbe @f
xorps xmm2,xmm2
@@:
movss xmm15,xmm2
originalcode_fullnomadhealth:
readmem(nomadHealth1ReadOnHit,6)
exit:
jmp returnhere
dNomadFullHealth:
dd (float)500
nomadHealth1ReadOnHit:
jmp newmem
nop
returnhere:
//**********//
aobscanmodule(nomadHealth2345ReadOnHit,MassEffectAndromeda.exe,F3 ** ** ** ** ** F3 ** ** ** 0F 28 C3 F3 0F 59 C2 F3 0F 5C C8)
registersymbol(nomadHealth2345ReadOnHit)
alloc(newmem2,2048,nomadHealth2345ReadOnHit)
label(originalcode2_fullnomadhealth)
registersymbol(originalcode2_fullnomadhealth)
label(returnhere2)
label(exit2)
newmem2:
readmem(nomadHealth2345ReadOnHit+6,4)
movss [dNomadFullHealth],xmm3
movss xmm1,xmm3
xorps xmm2,xmm2
jmp exit2
originalcode2_fullnomadhealth:
readmem(nomadHealth2345ReadOnHit,6)
exit2:
jmp returnhere2
nomadHealth2345ReadOnHit:
jmp newmem2
nop
returnhere2:
//########################################//
[DISABLE]
dealloc(newmem)
nomadHealth1ReadOnHit:
readmem(originalcode_fullnomadhealth,6)
unregistersymbol(originalcode_fullnomadhealth)
//**********//
dealloc(newmem2)
nomadHealth2345ReadOnHit:
readmem(originalcode2_fullnomadhealth,6)
unregistersymbol(originalcode2_fullnomadhealth)
24
"Bouclier Infini"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(nomadShieldWriteOnHitAOB,MassEffectAndromeda.exe,F3 ** ** ** ** ** 41 0F 2F C6 76 ** 0F 28 D0)
registersymbol(nomadShieldWriteOnHitAOB)
alloc(newmem,2048,nomadShieldWriteOnHitAOB)
label(pNomadShield)
registersymbol(pNomadShield)
label(originalcode_fullnomadshield)
registersymbol(originalcode_fullnomadshield)
label(returnhere)
label(exit)
newmem:
push rax
lea rax,[rcx+rbx*8]
mov [pNomadShield],rax
db 48 8B 04
readmem(nomadShieldWriteOnHitAOB+4,1)
movss xmm0,[rax+4]
pop rax
addss xmm0,xmm15
readmem(nomadShieldWriteOnHitAOB,2)
db 11
readmem(nomadShieldWriteOnHitAOB+3,3)
originalcode_fullnomadshield:
readmem(nomadShieldWriteOnHitAOB,6)
exit:
jmp returnhere
pNomadShield:
nomadShieldWriteOnHitAOB:
jmp newmem
nop
returnhere:
//########################################//
[DISABLE]
dealloc(newmem)
nomadShieldWriteOnHitAOB:
readmem(originalcode_fullnomadshield,6)
unregistersymbol(originalcode_fullnomadshield)
unregistersymbol(pNomadShield)
25
"Boost Infini"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(Boost,MassEffectAndromeda.exe,F3 0F 11 73 24 45)
aobscanmodule(BoostV,MassEffectAndromeda.exe,F3 0F 11 41 3C 0F 28 42)
Boost:
db 90 90 90 90 90
BoostV:
db 90 90 90 90 90
registersymbol(Boost)
registersymbol(BoostV)
//########################################//
[DISABLE]
Boost:
db F3 0F 11 73 24
BoostV:
db F3 0F 11 41 3C
unregistersymbol(Boost)
unregistersymbol(BoostV)
26
"Une altitude trop élevée peut bloquer le jeu !"
0000FF
1
27
"[Codes Partagés]"
000080
1
28
"Augmentation des Dégâts"
FF0000
Auto Assembler Script
[ENABLE]
define(damagemultiplierdefault,(float)2)
aobscanmodule(shieldWriteOnHitAOB,MassEffectAndromeda.exe,0F 28 C1 F3 0F 5C F7 F3 ** ** ** ** ** ** ** 0F)
registersymbol(shieldWriteOnHitAOB)
alloc(newmem,2048,shieldWriteOnHitAOB+7)
label(originalcode_damagemultiplier)
registersymbol(originalcode_damagemultiplier)
label(returnhere)
label(exit)
newmem:
cmp dword ptr [rbx+710],0
je @f
db 0F 2F 83
readmem(shieldWriteOnHitAOB+b,4)
jae @f
mulss xmm6,[dDamageMultiplier]
mulss xmm8,[dDamageMultiplier]
movss xmm14,xmm8
movss xmm0,xmm6
addss xmm0,xmm7
movss xmm1,xmm0
originalcode_damagemultiplier:
readmem(shieldWriteOnHitAOB+7,8)
exit:
jmp returnhere
shieldWriteOnHitAOB+7:
jmp newmem
nop
nop
nop
returnhere:
//**********//
dDamageMultiplier:
dd damagemultiplierdefault
//########################################//
[DISABLE]
dealloc(newmem)
shieldWriteOnHitAOB+7:
readmem(originalcode_damagemultiplier,8)
unregistersymbol(originalcode_damagemultiplier)
//**********//
dDamageMultiplier:
dd (float)1
29
"Coefficient de Multiplication (x?)"
008000
Float
dDamageMultiplier
30
"Support Vital Illimité"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(manyFloatsReadAOB,MassEffectAndromeda.exe,F3 0F 10 43 30 EB 13)
registersymbol(manyFloatsReadAOB)
alloc(newmem,2048,manyFloatsReadAOB)
label(pLifeSupports)
registersymbol(pLifeSupports)
label(returnhere)
label(originalcode)
label(exit)
newmem:
push rsi
push rax
push rcx
push rdx
push r8
push r9
mov rcx,pLifeSupports
mov [rcx+10],r8
mov rdx,8
lea rcx,[rsi+10]
call isbadreadptr
test eax,eax
jnz end
mov rsi,[rsi+10]
mov rdx,8
lea rcx,[rsi+18]
call isbadreadptr
test eax,eax
jnz end
mov ecx,3
cmp [rsi+18],ecx
jne end
movss xmm0,[rbx+30]
mov rdx,8
mov rcx,r10
call isbadreadptr
test eax,eax
jz end
movss xmm0,[rbx+30]
xor rax,rax
mov rdx,pLifeSupports
mov rcx,[rsp+88]
test rcx,rcx
jnz @f
mov [rdx+rax*8],rbx // Personnage
jmp end
@@:
inc rax
mov [rdx+rax*8],rbx // Vehicule
end:
mov rcx,pLifeSupports
mov r8,[rcx+10]
mov [rsp+8],r8
pop r9
pop r8
pop rdx
pop rcx
pop rax
pop rsi
originalcode:
movss xmm0,[rbx+30]
exit:
jmp returnhere
pLifeSupports:
manyFloatsReadAOB:
jmp newmem
returnhere:
//**********//
aobscanmodule(many4BytesWrites1AOB,MassEffectAndromeda.exe,8B 4B 10 89 08 48 ** ** ** 48)
registersymbol(many4BytesWrites1AOB)
alloc(newmem2,2048,many4BytesWrites1AOB)
label(returnhere2)
label(originalcode2)
label(exit2)
newmem2:
push rdx
push rcx
push r8
xor r8,r8
mov rdx,pLifeSupports
@@:
mov rcx,[rdx+r8*8]
lea rcx,[rcx+30]
cmp rcx,rax
je @f
inc r8
cmp r8,2
jl @b
jmp end2
@@:
sub rsp,10
movdqu dqword [rsp],xmm14
sub rsp,10
movdqu dqword [rsp],xmm15
xorps xmm14,xmm14
comiss xmm14,[rax]
ja @f
comiss xmm14,[rbx+10]
ja @f
movss xmm15,[rax]
subss xmm15,[rbx+10]
comiss xmm15,xmm14
jbe @f
mov ecx,(float)100
movd xmm14,ecx
comiss xmm15,xmm14
ja @f
mov ecx,(float)200
movd xmm14,ecx
comiss xmm14,[rax]
jb @f
comiss xmm14,[rbx+10]
jb @f
mov ecx,[rax]
mov [rbx+10],ecx
@@:
movdqu xmm15,dqword [rsp]
add rsp,10
movdqu xmm14,dqword [rsp]
add rsp,10
end2:
pop r8
pop rcx
pop rdx
originalcode2:
mov ecx,[rbx+10]
mov [rax],ecx
exit2:
jmp returnhere2
many4BytesWrites1AOB:
jmp newmem2
returnhere2:
//########################################//
[DISABLE]
dealloc(newmem)
manyFloatsReadAOB:
db F3 0F 10 43 30
unregistersymbol(pLifeSupports)
//**********//
dealloc(newmem2)
many4BytesWrites1AOB:
db 8B 4B 10 89 08
31
"Attendre que les valeurs s'affichent avant d'activer les codes ci-dessous !"
0000FF
1
32
"A Pied"
008000
Float
pLifeSupports+0*8
30
33
"En Nomade"
008000
Float
pLifeSupports+1*8
30
34
"[Recherche & Devellopement]"
000080
1
35
"Ignorer les Points de Recherche"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(cJmpIfNotEnoughRPOnChkAOB,MassEffectAndromeda.exe,72 ** 48 8B ** ** 48 85 D2 74 ** 80)
registersymbol(cJmpIfNotEnoughRPOnChkAOB)
alloc(originalcode0_ignorerp,2,cJmpIfNotEnoughRPOnChkAOB)
registersymbol(originalcode0_ignorerp)
originalcode0_ignorerp:
readmem(cJmpIfNotEnoughRPOnChkAOB,2)
cJmpIfNotEnoughRPOnChkAOB:
db 90 90
//**********//
aobscanmodule(RPCalAfterResearchAOB,MassEffectAndromeda.exe,E8 ** ** ** ** ** ** 3B 7B ** 74 ** ** ** ** ** ** ** ** 75)
registersymbol(RPCalAfterResearchAOB)
alloc(newmem,2048,RPCalAfterResearchAOB+5)
label(originalcode_ignorerp)
registersymbol(originalcode_ignorerp)
label(returnhere)
label(exit)
newmem:
readmem(RPCalAfterResearchAOB+5,2)
jns @f
xor edi,edi
readmem(RPCalAfterResearchAOB+7,3)
jmp exit
originalcode_ignorerp:
readmem(RPCalAfterResearchAOB+5,5)
exit:
jmp returnhere
RPCalAfterResearchAOB+5:
jmp newmem
returnhere:
//########################################//
[DISABLE]
cJmpIfNotEnoughRPOnChkAOB:
readmem(originalcode0_ignorerp,2)
unregistersymbol(originalcode0_ignorerp)
//**********//
dealloc(newmem)
RPCalAfterResearchAOB+5:
readmem(originalcode_ignorerp,5)
unregistersymbol(originalcode_ignorerp)
36
"Ignorer le Niveau des Equipements"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(playerLvlChkRetAOB,MassEffectAndromeda.exe,48 8B 4F 20 48 89 DA 48 8B 01 0F 28 F0)
registersymbol(playerLvlChkRetAOB)
aobscanmodule(playerLvlReadAOB,MassEffectAndromeda.exe,8B 80 C8 00 00 00 FF C0 EB 02)
registersymbol(playerLvlReadAOB)
alloc(newmem,2048,playerLvlReadAOB)
label(bIsLvlChk)
registersymbol(bIsLvlChk)
label(returnhere)
label(originalcode)
label(exit)
newmem:
mov rbx,playerLvlChkRetAOB
cmp [rsp+68],rbx
jne @f
mov byte ptr [bIsLvlChk],1
originalcode:
mov eax,[rax+000000C8]
exit:
jmp returnhere
bIsLvlChk:
dd 0
playerLvlReadAOB:
jmp newmem
nop
returnhere:
//**********//
aobscanmodule(setFlagIfEnoughLvlAOB,MassEffectAndromeda.exe,0F 2F F0 0F 93 D0 48 ** ** ** ** 0F 28 ** ** ** 48 83 ** ** 5F C3)
registersymbol(setFlagIfEnoughLvlAOB)
alloc(newmem2,2048,setFlagIfEnoughLvlAOB)
label(returnhere2)
label(originalcode2)
label(exit2)
newmem2:
cmp byte ptr [bIsLvlChk],1
jne @f
mov byte ptr [bIsLvlChk],0
mov al,1
jmp exit2
originalcode2:
comiss xmm6,xmm0
setae al
exit2:
jmp returnhere2
setFlagIfEnoughLvlAOB:
jmp newmem2
nop
returnhere2:
//########################################//
[DISABLE]
dealloc(newmem)
playerLvlReadAOB:
db 8B 80 C8 00 00 00
unregistersymbol(bIsLvlChk)
//**********//
dealloc(newmem2)
setFlagIfEnoughLvlAOB:
db 0F 2F F0 0F 93 D0
37
"Ignorer les Matériaux Requis"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(setZeroIfNotEnoughMaterialsOnDevelopmentAccessAOB,MassEffectAndromeda.exe,0F B6 C0 ** ** 41 0F 4C C5)
registersymbol(setZeroIfNotEnoughMaterialsOnDevelopmentAccessAOB)
setZeroIfNotEnoughMaterialsOnDevelopmentAccessAOB+5:
db 90 90 90 90
//**********//
aobscanmodule(materialsChkEnoughOnCraftAOB,MassEffectAndromeda.exe,44 8B 67 08 44 39 60 1C)
registersymbol(materialsChkEnoughOnCraftAOB)
alloc(newmem,2048,materialsChkEnoughOnCraftAOB)
label(returnhere)
label(originalcode)
label(exit)
newmem:
mov r12d,[rdi+08]
inc r12d
cmp [rax+1c],r12d
jg @f
mov [rax+1c],r12d
originalcode:
mov r12d,[rdi+08]
cmp [rax+1C],r12d
exit:
jmp returnhere
materialsChkEnoughOnCraftAOB:
jmp newmem
nop
nop
nop
returnhere:
//########################################//
[DISABLE]
setZeroIfNotEnoughMaterialsOnDevelopmentAccessAOB+5:
db 41 0F 4C C5
//**********//
dealloc(newmem)
materialsChkEnoughOnCraftAOB:
db 44 8B 67 08 44 39 60 1C
38
"Un élément de chaque matériaux requis !"
808080
1
39
"[Divers]"
000080
1
40
"Duplication des Objets"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(quantityReadOnTransactionAOB,MassEffectAndromeda.exe,8B 57 1C 3B D5 75)
registersymbol(quantityReadOnTransactionAOB)
alloc(newmem,2048,quantityReadOnTransactionAOB)
label(bUseItemDuplicateModKey)
registersymbol(bUseItemDuplicateModKey)
label(wItemDuplicateModKeyPressed)
label(returnhere)
label(originalcode)
label(exit)
newmem:
cmp byte ptr [bUseItemDuplicateModKey],1
jne attemptitemduplicate
push rax
push rbx
push rcx
push rdx
push rsi
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
sub rsp,10
movdqu dqword [rsp],xmm0
sub rsp,10
movdqu dqword [rsp],xmm1
sub rsp,10
movdqu dqword [rsp],xmm2
sub rsp,10
movdqu dqword [rsp],xmm3
sub rsp,10
movdqu dqword [rsp],xmm4
sub rsp,10
movdqu dqword [rsp],xmm5
sub rsp,10
movdqu dqword [rsp],xmm6
sub rsp,10
movdqu dqword [rsp],xmm7
sub rsp,10
movdqu dqword [rsp],xmm8
sub rsp,10
movdqu dqword [rsp],xmm9
sub rsp,10
movdqu dqword [rsp],xmm10
sub rsp,10
movdqu dqword [rsp],xmm11
sub rsp,10
movdqu dqword [rsp],xmm12
sub rsp,10
movdqu dqword [rsp],xmm13
sub rsp,10
movdqu dqword [rsp],xmm14
sub rsp,10
movdqu dqword [rsp],xmm15
push rdi
push rbp
mov rcx,10 // MAJ
push rcx
call GetAsyncKeyState
add rsp,08
shr ax,#15
mov [wItemDuplicateModKeyPressed],ax
pop rbp
pop rdi
movdqu xmm15,dqword [rsp]
add rsp,10
movdqu xmm14,dqword [rsp]
add rsp,10
movdqu xmm13,dqword [rsp]
add rsp,10
movdqu xmm12,dqword [rsp]
add rsp,10
movdqu xmm11,dqword [rsp]
add rsp,10
movdqu xmm10,dqword [rsp]
add rsp,10
movdqu xmm9,dqword [rsp]
add rsp,10
movdqu xmm8,dqword [rsp]
add rsp,10
movdqu xmm7,dqword [rsp]
add rsp,10
movdqu xmm6,dqword [rsp]
add rsp,10
movdqu xmm5,dqword [rsp]
add rsp,10
movdqu xmm4,dqword [rsp]
add rsp,10
movdqu xmm3,dqword [rsp]
add rsp,10
movdqu xmm2,dqword [rsp]
add rsp,10
movdqu xmm1,dqword [rsp]
add rsp,10
movdqu xmm0,dqword [rsp]
add rsp,10
pop r15
pop r14
pop r13
pop r12
pop r11
pop r10
pop r9
pop r8
pop rsi
pop rdx
pop rcx
pop rbx
pop rax
@@:
cmp word ptr [wItemDuplicateModKeyPressed],1
jne originalcode
attemptitemduplicate:
add [rdi+1c],ebp
add [rdi+1c],ebp
originalcode:
mov edx,[rdi+1C]
cmp edx,ebp
exit:
jmp returnhere
bUseItemDuplicateModKey:
dd 1
wItemDuplicateModKeyPressed:
dd 0
quantityReadOnTransactionAOB:
jmp newmem
returnhere:
//########################################//
[DISABLE]
dealloc(newmem)
quantityReadOnTransactionAOB:
db 8B 57 1C 3B D5
unregistersymbol(bUseItemDuplicateModKey)
41
"Methode de Duplication"
0: Permanente
1: Uniquement si [MAJ] appuyée
008000
Byte
bUseItemDuplicateModKey
42
"Ignorer les Crédits"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(flagSetIfEnoughCreditToBuyAOB,MassEffectAndromeda.exe,0F 9D ** 41 88 40 24)
registersymbol(flagSetIfEnoughCreditToBuyAOB)
alloc(originalcode_flagSetIfEnoughCreditToBuy,3)
registersymbol(originalcode_flagSetIfEnoughCreditToBuy)
originalcode_flagSetIfEnoughCreditToBuy:
readmem(flagSetIfEnoughCreditToBuyAOB,3)
flagSetIfEnoughCreditToBuyAOB:
db 90 B0 01
//########################################//
[DISABLE]
flagSetIfEnoughCreditToBuyAOB:
readmem(originalcode_flagSetIfEnoughCreditToBuy,3)
unregistersymbol(originalcode_flagSetIfEnoughCreditToBuy)
43
"Activer les codes ci-dessous avant de charger une sauvegarde ..."
0000FF
1
44
"... si vous voulez qu'ils fonctionnent avec 0 point !"
0000FF
1
45
"Ignorer les Points de Compétence"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(remainingSPCalOnLoadAOB,MassEffectAndromeda.exe,72 ** ** ** ** ** ** 48 8B 89 B0 01 00 00)
registersymbol(remainingSPCalOnLoadAOB)
alloc(newmem,2048,remainingSPCalOnLoadAOB)
label(originalcode_ignoresp)
registersymbol(originalcode_ignoresp)
label(returnhere)
label(exit)
newmem:
readmem(remainingSPCalOnLoadAOB+2,3)
jns @f
xor eax,eax
@@:
jmp exit
originalcode_ignoresp:
readmem(remainingSPCalOnLoadAOB,5)
exit:
jmp returnhere
remainingSPCalOnLoadAOB:
jmp newmem
returnhere:
//**********//
aobscanmodule(skillsCostsReadForReadyToLearnChkAOB,MassEffectAndromeda.exe,48 8B ** ** 8B ** ** 43 8D ** ** ** ** 8D)
registersymbol(skillsCostsReadForReadyToLearnChkAOB)
alloc(newmem2,2048,skillsCostsReadForReadyToLearnChkAOB)
label(originalcode2_ignoresp)
registersymbol(originalcode2_ignoresp)
label(returnhere2)
label(exit2)
newmem2:
xor ebx,ebx
readmem(skillsCostsReadForReadyToLearnChkAOB,4)
jmp exit2
originalcode2_ignoresp:
readmem(skillsCostsReadForReadyToLearnChkAOB,7)
exit2:
jmp returnhere2
skillsCostsReadForReadyToLearnChkAOB:
jmp newmem2
nop
nop
returnhere2:
//########################################//
[DISABLE]
dealloc(newmem)
remainingSPCalOnLoadAOB:
readmem(originalcode_ignoresp,5)
unregistersymbol(originalcode_ignoresp)
//**********//
dealloc(newmem2)
skillsCostsReadForReadyToLearnChkAOB:
readmem(originalcode2_ignoresp,7)
unregistersymbol(originalcode2_ignoresp)
46
"Ignorer les Points de Modules de Stase"
FF0000
Auto Assembler Script
[ENABLE]
aobscanmodule(crypoints,MassEffectAndromeda.exe,44 39 38 7E 04)
registersymbol(crypoints)
alloc(newmem,$1000,"MassEffectAndromeda.exe"+50EA807)
label(code)
label(return)
newmem:
mov [rax],#99
code:
cmp [rax],r15d
jle MassEffectAndromeda.exe+50EA810
jmp return
crypoints:
jmp newmem
return:
//########################################//
[DISABLE]
dealloc(newmem)
crypoints:
db 44 39 38 7E 04
unregistersymbol(crypoints)
47
"[Informations]"
000080
1
48
"[Joueur]"
000080
1
Array of byte
0
pPlayerBase
0
228
49
"Santé Actuelle"
FF0000
Float
+20
50
"Santé Maximale"
808000
Float
+4
51
"Bouclier Actuel"
FF0000
Float
+730
52
"Bouclier Maximum"
808000
Float
-f4
53
"Points d'Expérience Actuel"
FF0000
4 Bytes
pPlayerBase
FC
d80
54
"Prochain Niveau à"
808000
4 Bytes
pPlayerBase
100
d80
55
"Points de Compétence"
FF0000
4 Bytes
pPlayerBase
104
d80
56
"Ouvrir un [Menu] pour afficher les valeurs exactes."
808080
1
57
"Besoin d'avoir le Nexus au niveau 1."
808080
1
58
"[Nexus]"
000080
1
59
"Niveau du Nexus"
FF0000
4 Bytes
pAVs+0*8
30
60
"Points de Module de Stase"
FF0000
4 Bytes
pAVs+7*8
30
61
"[Viabilité d'Andromède]"
000080
1
62
"Points de Viabilité d'Andromède"
FF0000
4 Bytes
pAVs+1*8
30
63
"Les valeurs peuvent être fausses tant que vous n'avez pas découvert les planètes."
808080
1
64
"Viabilité de EOS"
FF0000
4 Bytes
pAVs+2*8
30
65
"Viabilité de VOELD"
FF0000
4 Bytes
pAVs+5*8
30
66
"Viabilité de HAVARL"
FF0000
4 Bytes
pAVs+4*8
30
67
"Viabilité de KADARA"
FF0000
4 Bytes
pAVs+3*8
30
68
"Viabilité de ELAADEN"
FF0000
4 Bytes
pAVs+6*8
30
tone read Code: movaps xmm0,[r8]
14632F431
MassEffectAndromeda.exe
632F431
10
0F
29
42
10
41
0F
28
00
0F
29
02
48
8B
tone write Code :movaps [rax+rdx+10],xmm0
146331F95
MassEffectAndromeda.exe
6331F95
0F
B7
44
C2
14
0F
29
44
10
10
45
39
D1
75
D3
rrread Code :mov ecx,[rax+08]
145083A1E
MassEffectAndromeda.exe
5083A1E
48
48
8B
45
E0
8B
48
08
41
89
4F
68
44
sf read (life support included) Code :movss xmm0,[rbx+30]
146997FA6
MassEffectAndromeda.exe
6997FA6
48
39
C3
74
07
F3
0F
10
43
30
EB
13
49
8B
4E
sf writes (life support included) Code :mov [rax],ecx
14699AB60
MassEffectAndromeda.exe
699AB60
00
00
8B
4B
10
89
08
48
83
C3
14
48
Code: cmp dword ptr [rdi+18],00
14725F3C1
MassEffectAndromeda.exe
725F3C1
E8
8F
B4
00
00
83
7F
18
00
75
46
C6
43
01
Code: mov edi,[rcx+18]
14726B11A
MassEffectAndromeda.exe
726B11A
57
48
83
EC
20
8B
79
18
48
89
CB
FF
CF
Code: mov ebp,[rcx+18]
14726B21C
MassEffectAndromeda.exe
726B21C
60
48
89
68
10
8B
69
18
48
89
70
18
48
Code: cmp [r13+08],edi
1462E705D
MassEffectAndromeda.exe
62E705D
4C
89
54
24
38
41
39
7D
08
0F
8E
5A
02
00
Code: movsxd rcx,dword ptr [rax+18]
1462CF555
MassEffectAndromeda.exe
62CF555
41
50
48
89
CF
48
63
48
18
45
31
C9
48
89
Code: mov esi,[rdi+18]
14726AFF2
MassEffectAndromeda.exe
726AFF2
41
20
FF
47
18
8B
77
18
FF
CE
85
F6
0F
Code: mov ebx,[rdi+18]
14725FF78
MassEffectAndromeda.exe
725FF78
E8
08
AB
00
00
8B
5F
18
4C
89
64
24
40
Code: cmp [rcx+18],r15d
147260C42
MassEffectAndromeda.exe
7260C42
89
D5
49
89
CE
44
39
79
18
0F
8E
B5
03
00
Code: mov ebx,[rdi+18]
14726B048
MassEffectAndromeda.exe
726B048
CB
79
DE
EB
7C
8B
5F
18
FF
CB
78
22
48
Code: mov [rdi+18],00000000
14726B071
MassEffectAndromeda.exe
726B071
D0
FF
CB
79
E9
C7
47
18
00
00
00
00
E9
95
FE
FF
FF
avpr and others Code :mov eax,[rbx+30]
146997EC9
MassEffectAndromeda.exe
6997EC9
48
39
C3
74
05
8B
43
30
EB
13
49
8B
4E
Code: movss [rcx+3C],xmm0
14518FC0F
MassEffectAndromeda.exe
518FC0F
EB
03
0F
28
C2
F3
0F
11
41
3C
0F
28
42
10
41
Code: mov r9,[r13+00038290]
14658D018
MassEffectAndromeda.exe
658D018
66
41
83
C7
02
4D
8B
8D
90
82
03
00
4D
85
C9
74
4E
Code: movzx edx,word ptr [rdi+58]
1466D2C7A
MassEffectAndromeda.exe
66D2C7A
E1
FF
48
89
C3
0F
B7
57
58
66
85
D2
74
14
quantity read after usage (for weight cal?) Code :mov edx,[rcx+1C]
145116A6E
MassEffectAndromeda.exe
5116A6E
20
48
8D
5A
18
8B
51
1C
48
89
CF
48
89
q chk 0 after usage (for empty entry remove?) Code :cmp dword ptr [r14+1C],00
14511022D
MassEffectAndromeda.exe
511022D
89
D9
FF
50
38
41
83
7E
1C
00
75
0F
49
8B
04
flag writes on learn (00, 01, ff) Code :mov [rcx+rax],sil
145396872
MassEffectAndromeda.exe
5396872
48
8B
07
75
07
40
88
34
01
EB
05
A4
C6
04
Code: movsx r10d,byte ptr [r9+rax]
145397C55
MassEffectAndromeda.exe
5397C55
4B
08
48
8B
00
45
0F
BE
14
01
49
8B
46
38
48
Code: mov ecx,[rdx+02]
7FEF705C533
MSVCR120.dll
3C533
C3
48
0F
B7
02
8B
4A
02
66
41
89
02
41
Code: movsx edx,byte ptr [rbx]
145394D43
MassEffectAndromeda.exe
5394D43
74
2F
48
8B
06
0F
BE
13
48
8B
48
50
44
Nomad Boost 1: MassEffectAndromeda.IsGameRuntime+4CB7B2
14508FD63
MassEffectAndromeda.exe
508FD63
08
44
39
60
1C
0F
8C
29
01
00
00
4C
89
F8
4D
39
Nomad Boost 2: movss [rbx+24],xmm6
1462F07F2
MassEffectAndromeda.exe
62F07F2
0F
2F
F0
77
05
F3
0F
11
73
24
45
0F
2F
D0
44
Basé sur la Table de Celios : +16 (Edit 15)
Auteur : Cielos
Traductions, Modifications : ReActif
http://www.fearlessrevolution.com/viewtopic.php?f=4&t=596&p=1963#p1963