12771
"AR Fix [Alt+P]"
000000
Auto Assembler Script
[ENABLE]
//"MassEffect2.exe"+10F6C0 - SCREEN
aobscanmodule(screenAOB,MassEffect2.exe,8B 41 44 C3 CC CC CC CC CC CC CC CC CC CC CC CC 8B 41 48)
alloc(newmem,$1000)
label(code)
label(return)
globalalloc(_screen,4)
newmem:
code:
mov [_screen],ecx
mov eax,[ecx+44]
ret
int 3
jmp return
screenAOB:
jmp newmem
return:
registersymbol(screenAOB)
//"MassEffect2.exe"+21312F - AR
aobscanmodule(arAOB,MassEffect2.exe,D9 80 14 02 00 00 B9)
alloc(newmem3,$1000)
label(code3)
label(return3)
globalalloc(_ar,4)
newmem3:
code3:
mov [_ar],eax
add [_ar],214
fld dword ptr [eax+00000214]
jmp return3
arAOB:
jmp newmem3
nop
return3:
registersymbol(arAOB)
//"MassEffect2.exe"+5497E2 - writes AR
aobscanmodule(writesAR,MassEffect2.exe,D9 19 C2 14 00 8B)
alloc(newmem2,$1000)
label(code2)
label(return2)
label(cond)
newmem2:
code2:
cmp [_ar],ecx
je cond
fstp dword ptr [ecx]
jmp cond
cond:
ret 0014
jmp return2
writesAR:
jmp newmem2
return2:
registersymbol(writesAR)
{$lua}
if syntaxcheck then return end
local symbolCheckT = createTimer()
symbolCheckT.Interval = 1000
symbolCheckT.OnTimer = function(sender)
local function screenBase() return readInteger("_screen") end
local function screenX() return readInteger(screenBase()+0x44) end
local function screenY() return readInteger(screenBase()+0x48) end
local function trueAR() return screenX()/screenY() end
local function cineAR() return readInteger("_ar") end
local function writeAR()
writeFloat(cineAR(), trueAR())
end
hotkeysAR = {
createHotkey(writeAR, VK_MENU, VK_P)
}
for i,v in ipairs(hotkeysAR) do
v.DelayBetweenActivate = 1000
end
sender.destroy()
end
{$asm}
[DISABLE]
screenAOB:
db 8B 41 44 C3 CC
unregistersymbol(screenAOB)
dealloc(newmem)
writesAR:
db D9 19 C2 14 00
unregistersymbol(writesAR)
dealloc(newmem2)
arAOB:
db D9 80 14 02 00 00
unregistersymbol(arAOB)
dealloc(newmem3)
{$lua}
if hotkeysAR ~= nil then
for i,v in ipairs(hotkeysAR) do v.destroy() end
hotkeysAR = nil
end
Activate
18
80
0
12774
"Cinematic AR"
Float
_ar
0
12776
"Screen X"
4 Bytes
_screen
44
12775
"Screen Y"
4 Bytes
_screen
48
12826
"Render Flags"
000000
Auto Assembler Script
//"MassEffect2.exe"+10E74B
[ENABLE]
aobscanmodule(flagsAOB,MassEffect2.exe,8B 11 8B 52 08 8D 84 24 B4)
alloc(newmem,$1000)
label(code)
label(return)
globalalloc(_flags,4)
newmem:
code:
mov [_flags],ecx
mov edx,[ecx]
mov edx,[edx+08]
jmp return
flagsAOB:
jmp newmem
return:
registersymbol(flagsAOB)
[DISABLE]
flagsAOB:
db 8B 11 8B 52 08
unregistersymbol(flagsAOB)
dealloc(newmem)
12838
"HUD/overlays"
Binary
7
1
0
_flags
3f
12858
"Vignette Script"
Auto Assembler Script
//"MassEffect2.exe"+217AC3
[ENABLE]
aobscanmodule(vignAOB,MassEffect2.exe,8B 41 3C 75 02 D1 E8 83 E0 01 C2)
alloc(newmem,$1000)
label(code)
label(return)
globalalloc(_vignette,4)
newmem:
code:
mov [_vignette],ecx
mov eax,[ecx+3C]
jne MassEffect2.GImage::GImage+21652A
jmp return
vignAOB:
jmp newmem
return:
registersymbol(vignAOB)
[DISABLE]
vignAOB:
db 8B 41 3C 75 02
unregistersymbol(vignAOB)
dealloc(newmem)
12859
"Vignette on/off"
Binary
1
1
0
_vignette
3c
12840
"Fog"
Binary
3
1
0
_flags
41
12839
"Reflections"
Binary
1
1
0
_flags
42
12832
"Decals"
Binary
1
1
0
_flags
3c
12833
"Particles"
Binary
2
1
0
_flags
43
12828
"Skeletal Meshes"
Binary
1
1
0
_flags
41
12837
"Lightshafts"
Binary
5
1
0
_flags
3d
12844
"Postprocessing"
Binary
6
1
0
_flags
3c
12841
"Dynamic Shadows"
Binary
5
1
0
_flags
3c
12836
"Shading"
Binary
4
1
0
_flags
3d
12861
"Highlight boxes on/off (active = OFF)"
Auto Assembler Script
[ENABLE]
//"MassEffect2.exe"+49502C
aobscanmodule(boxesAOB,MassEffect2.exe,83 BB B4 00 00 00 01)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
mov [ebx+b4],0 //cmp dword ptr [ebx+000000B4],01
jmp return
boxesAOB:
jmp newmem
nop
nop
return:
registersymbol(boxesAOB)
[DISABLE]
boxesAOB:
db 83 BB B4 00 00 00 01
unregistersymbol(boxesAOB)
dealloc(newmem)
_screen
06760000
_ar
06760010
_vignette
06760020
_flags
06760030