69
"READ TABLE EXTRAS BEFORE USING"
8752EB
1
1
"No Enemy Collision"
Auto Assembler Script
[ENABLE]
Chasm.Player::get_HitBox:
db C3 //ret
[DISABLE]
Chasm.Player::get_HitBox:
db 55 //push ebp
3
"Max HP"
Auto Assembler Script
{ Game : Chasm.exe
Version:
Date : 2020-05-31
Author : maxie
This script does blah blah blah
}
[ENABLE]
aobscan(maxhp,7E 06 89 B7 5C 02 00 00) // should be unique
maxhp:
db 74
registersymbol(maxhp)
[DISABLE]
maxhp:
db 7E
unregistersymbol(maxhp)
{
// ORIGINAL CODE - INJECTION POINT: 10A254FC
10A254CF: 03 70 3C - add esi,[eax+3C]
10A254D2: 8B 87 98 00 00 00 - mov eax,[edi+00000098]
10A254D8: 03 70 3C - add esi,[eax+3C]
10A254DB: 8B 87 94 00 00 00 - mov eax,[edi+00000094]
10A254E1: 03 70 3C - add esi,[eax+3C]
10A254E4: 8B 87 8C 00 00 00 - mov eax,[edi+0000008C]
10A254EA: 03 70 3C - add esi,[eax+3C]
10A254ED: 8B 87 90 00 00 00 - mov eax,[edi+00000090]
10A254F3: 03 70 3C - add esi,[eax+3C]
10A254F6: 39 B7 5C 02 00 00 - cmp [edi+0000025C],esi
// ---------- INJECTING HERE ----------
10A254FC: 7E 06 - jle 10A25504
10A254FE: 89 B7 5C 02 00 00 - mov [edi+0000025C],esi
// ---------- DONE INJECTING ----------
10A25504: 8B C6 - mov eax,esi
10A25506: 5E - pop esi
10A25507: 5F - pop edi
10A25508: 5D - pop ebp
10A25509: C3 - ret
10A2550A: 00 00 - add [eax],al
10A2550C: 00 00 - add [eax],al
10A2550E: 00 00 - add [eax],al
10A25510: 80 3A A0 - cmp byte ptr [edx],-60
10A25513: 10 00 - adc [eax],al
}
5
"Freeze MP*"
Auto Assembler Script
{ Game : Chasm.exe
Version:
Date : 2020-05-31
Author : maxie
This script does blah blah blah
}
[ENABLE]
aobscan(freezemp,89 82 F0 02 00 00 C7) // should be unique
freezemp:
db 90 90 90 90 90 90
registersymbol(freezemp)
[DISABLE]
freezemp:
db 89 82 F0 02 00 00
unregistersymbol(freezemp)
{
// ORIGINAL CODE - INJECTION POINT: 0191C835
""+191C818: 18 F0 - sbb al,dh
""+191C81A: 63 01 - arpl [ecx],ax
""+191C81C: FC - cld
""+191C81D: 9C - pushfd
""+191C81E: 23 0F - and ecx,[edi]
""+191C820: E8 A3 FF FF FF - call 0191C7C8
""+191C825: 8B C8 - mov ecx,eax
""+191C827: 8B 15 58 40 52 04 - mov edx,[04524058]
""+191C82D: 8B 82 F0 02 00 00 - mov eax,[edx+000002F0]
""+191C833: 2B C1 - sub eax,ecx
// ---------- INJECTING HERE ----------
""+191C835: 89 82 F0 02 00 00 - mov [edx+000002F0],eax
// ---------- DONE INJECTING ----------
""+191C83B: C7 82 90 02 00 00 0A D7 A3 3D - mov [edx+00000290],3DA3D70A
""+191C845: C3 - ret
""+191C846: 00 00 - add [eax],al
""+191C848: 48 - dec eax
""+191C849: F0 63 01 - lock arpl [ecx],ax
""+191C84C: 00 00 - add [eax],al
""+191C84E: 00 00 - add [eax],al
""+191C850: 38 F0 - cmp al,dh
""+191C852: 63 01 - arpl [ecx],ax
""+191C854: 94 - xchg eax,esp
}
7
"(Literal) Invisibility"
Auto Assembler Script
{ Game : Chasm.exe
Version:
Date : 2020-05-31
Author : maxie
This script does blah blah blah
}
[ENABLE]
aobscan(invisible,75 08 8D 65 F4 5B 5E 5F 5D C3 80 7B) // should be unique
invisible:
db 74
registersymbol(invisible)
[DISABLE]
invisible:
db 75
unregistersymbol(invisible)
{
// ORIGINAL CODE - INJECTION POINT: 01646DA6
""+1646D7E: 81 EC DC 02 00 00 - sub esp,000002DC
""+1646D84: 8B F1 - mov esi,ecx
""+1646D86: 8D BD F4 FD FF FF - lea edi,[ebp-0000020C]
""+1646D8C: B9 80 00 00 00 - mov ecx,00000080
""+1646D91: 33 C0 - xor eax,eax
""+1646D93: F3 AB - repe stosd
""+1646D95: 8B CE - mov ecx,esi
""+1646D97: 89 95 3C FD FF FF - mov [ebp-000002C4],edx
""+1646D9D: 8B D9 - mov ebx,ecx
""+1646D9F: 80 BB F8 02 00 00 00 - cmp byte ptr [ebx+000002F8],00
// ---------- INJECTING HERE ----------
""+1646DA6: 75 08 - jne 01646DB0
""+1646DA8: 8D 65 F4 - lea esp,[ebp-0C]
// ---------- DONE INJECTING ----------
""+1646DAB: 5B - pop ebx
""+1646DAC: 5E - pop esi
""+1646DAD: 5F - pop edi
""+1646DAE: 5D - pop ebp
""+1646DAF: C3 - ret
""+1646DB0: 80 7B 21 00 - cmp byte ptr [ebx+21],00
""+1646DB4: 0F 84 49 01 00 00 - je 01646F03
""+1646DBA: 8B 83 0C 04 00 00 - mov eax,[ebx+0000040C]
""+1646DC0: 8B 70 04 - mov esi,[eax+04]
""+1646DC3: 8D 95 6C FD FF FF - lea edx,[ebp-00000294]
}
23
"Infinite Jumps"
Auto Assembler Script
{ Game : Chasm.exe
Version:
Date : 2020-05-31
Author : maxie
This script does blah blah blah
}
[ENABLE]
aobscan(infjump,74 16 8B CB FF 15 98 0A ?? ?? 85 C0 74 0A B8 04) // should be unique
infjump:
db 90 90
registersymbol(infjump)
[DISABLE]
infjump:
db 74 16
unregistersymbol(infjump)
{
// ORIGINAL CODE - INJECTION POINT: 01A00F04
""+1A00EDB: 74 0A - je 01A00EE7
""+1A00EDD: B8 0F 00 00 00 - mov eax,0000000F
""+1A00EE2: E9 D8 27 00 00 - jmp 01A036BF
""+1A00EE7: 8B CB - mov ecx,ebx
""+1A00EE9: FF 15 B0 0A 23 0F - call dword ptr [0F230AB0]
""+1A00EEF: 85 C0 - test eax,eax
""+1A00EF1: 74 0A - je 01A00EFD
""+1A00EF3: B8 0A 00 00 00 - mov eax,0000000A
""+1A00EF8: E9 C2 27 00 00 - jmp 01A036BF
""+1A00EFD: 80 BB 13 03 00 00 00 - cmp byte ptr [ebx+00000313],00
// ---------- INJECTING HERE ----------
""+1A00F04: 74 16 - je 01A00F1C
""+1A00F06: 8B CB - mov ecx,ebx
""+1A00F08: FF 15 98 0A 23 0F - call dword ptr [0F230A98]
// ---------- DONE INJECTING ----------
""+1A00F0E: 85 C0 - test eax,eax
""+1A00F10: 74 0A - je 01A00F1C
""+1A00F12: B8 04 00 00 00 - mov eax,00000004
""+1A00F17: E9 A3 27 00 00 - jmp 01A036BF
""+1A00F1C: 8B CB - mov ecx,ebx
""+1A00F1E: FF 15 98 0A 23 0F - call dword ptr [0F230A98]
""+1A00F24: 85 C0 - test eax,eax
""+1A00F26: 74 3B - je 01A00F63
""+1A00F28: 8B 83 80 00 00 00 - mov eax,[ebx+00000080]
""+1A00F2E: 89 85 58 FC FF FF - mov [ebp-000003A8],eax
}
122
"Ignore Platforms"
Auto Assembler Script
{ Game : Chasm.exe
Version:
Date : 2020-05-31
Author : maxie
This script does blah blah blah
}
[ENABLE]
aobscan(ignore_platform,0F B6 47 23 50 56) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
newmem:
cmp [edi+1C],1
jne code
mov eax,#1
push eax
jmp return
code:
movzx eax,byte ptr [edi+23]
push eax
jmp return
ignore_platform:
jmp newmem
return:
registersymbol(ignore_platform)
[DISABLE]
ignore_platform:
db 0F B6 47 23 50
unregistersymbol(ignore_platform)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: 148E588A
148E5869: 83 FA 20 - cmp edx,20
148E586C: 75 05 - jne 148E5873
148E586E: B9 01 00 00 00 - mov ecx,00000001
148E5873: 8D 45 0C - lea eax,[ebp+0C]
148E5876: 83 EC 08 - sub esp,08
148E5879: F3 0F 7E 00 - movq xmm0,[eax]
148E587D: 66 0F D6 04 24 - movq [esp],xmm0
148E5882: 81 E3 FF 00 00 00 - and ebx,000000FF
148E5888: 53 - push ebx
148E5889: 51 - push ecx
// ---------- INJECTING HERE ----------
148E588A: 0F B6 47 23 - movzx eax,byte ptr [edi+23]
148E588E: 50 - push eax
// ---------- DONE INJECTING ----------
148E588F: 56 - push esi
148E5890: 8B 0D B0 40 4D 04 - mov ecx,[044D40B0]
148E5896: 8D 55 E0 - lea edx,[ebp-20]
148E5899: 39 09 - cmp [ecx],ecx
148E589B: FF 15 FC 8D 45 11 - call dword ptr [11458DFC]
148E58A1: 80 7D F0 00 - cmp byte ptr [ebp-10],00
148E58A5: 74 72 - je 148E5919
148E58A7: 8B 55 E0 - mov edx,[ebp-20]
148E58AA: B9 F4 07 66 13 - mov ecx,136607F4
148E58AF: E8 6C 27 16 5F - call clr.dll+18020
}
25
"BASE ADDRESSES"
4FB31A
Auto Assembler Script
{ Game : Chasm.exe
Version:
Date : 2020-05-31
Author : maxie
This script does blah blah blah
}
[ENABLE]
aobscan(base,39 B7 5C 02 00 00) // should be unique
alloc(newmem,$1000)
alloc(bese,8)
label(code)
label(return)
bese:
dq 0
newmem:
push edi
pop [bese]
code:
cmp [edi+0000025C],esi
jmp return
base:
jmp newmem
nop
return:
registersymbol(base bese)
[DISABLE]
base:
db 39 B7 5C 02 00 00
unregistersymbol(base bese)
dealloc(newmem bese)
{
// ORIGINAL CODE - INJECTION POINT: 10A254F6
10A254C9: 8B 87 A0 00 00 00 - mov eax,[edi+000000A0]
10A254CF: 03 70 3C - add esi,[eax+3C]
10A254D2: 8B 87 98 00 00 00 - mov eax,[edi+00000098]
10A254D8: 03 70 3C - add esi,[eax+3C]
10A254DB: 8B 87 94 00 00 00 - mov eax,[edi+00000094]
10A254E1: 03 70 3C - add esi,[eax+3C]
10A254E4: 8B 87 8C 00 00 00 - mov eax,[edi+0000008C]
10A254EA: 03 70 3C - add esi,[eax+3C]
10A254ED: 8B 87 90 00 00 00 - mov eax,[edi+00000090]
10A254F3: 03 70 3C - add esi,[eax+3C]
// ---------- INJECTING HERE ----------
10A254F6: 39 B7 5C 02 00 00 - cmp [edi+0000025C],esi
// ---------- DONE INJECTING ----------
10A254FC: 7E 06 - jle 10A25504
10A254FE: 89 B7 5C 02 00 00 - mov [edi+0000025C],esi
10A25504: 8B C6 - mov eax,esi
10A25506: 5E - pop esi
10A25507: 5F - pop edi
10A25508: 5D - pop ebp
10A25509: C3 - ret
10A2550A: 00 00 - add [eax],al
10A2550C: 00 00 - add [eax],al
10A2550E: 00 00 - add [eax],al
}
26
"Base (for Table Makers and Updaters only)"
4 Bytes
bese
0
41
"STATS"
1
58
"Name"
1
27
"Max Length (make sure the chars are filled)"
0:
1:
2:
3:
4:
5:
6:
7:
8:
4 Bytes
bese
4
7C
67
"MAKE SURE THE LETTERS ARE FILLED BEFORE CHANGING"
0500DF
1
68
"BASED ON THE LENGTH OR THE GAME WILL CRASH"
0500DF
1
66
"1st"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
8
7C
59
"2nd"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
A
7C
60
"3rd"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
C
7C
61
"4th"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
E
7C
62
"5th"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
10
7C
63
"6th"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
12
7C
64
"7th"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
14
7C
65
"8th"
:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Q:
R:
S:
T:
U:
V:
W:
X:
Y:
Z:
@:
.:
?:
!:
&:
':
-:
.:
:
String
1
0
0
1
bese
16
7C
57
"Current HP"
4 Bytes
bese
25c
28
"Max HP"
4 Bytes
bese
8
80
29
"Max MP"
4 Bytes
bese
C
80
30
"Damage Taken"
4 Bytes
bese
10
80
31
"Kills"
4 Bytes
bese
14
80
32
"Gold"
4 Bytes
bese
18
80
33
"ROOMS_CLEARED"
4 Bytes
bese
1C
80
34
"SCORE"
4 Bytes
bese
20
80
35
"Level"
Byte
bese
24
80
36
"STR"
Byte
bese
25
80
37
"INT"
Byte
bese
26
80
38
"CON"
Byte
bese
27
80
39
"LCK"
Byte
bese
28
80
40
"BONUS_NOHIT"
Byte
bese
29
80
70
"ETC (Experimental)"
1
96
"IgnoreWalls"
Byte
bese
20
97
"IsOnGround"
Byte
bese
21
98
"IgnorePlatforms"
Byte
bese
23
99
"IsPushingObject"
Byte
bese
24
101
"TouchingWall"
Byte
bese
25
100
"IsVisible"
Byte
bese
2F8
102
"IsInGas"
Byte
bese
2FE
103
"IsInBlood"
Byte
bese
300
104
"IsInOil"
Byte
bese
302
105
"IsInSand"
Byte
bese
304
106
"IsInSludge"
Byte
bese
306
107
"IsInWater"
Byte
bese
308
108
"IsInLava"
Byte
bese
30A
109
"drawPlayer"
Byte
bese
30C
110
"drawWeapon (CRASHES GAME)"
Byte
bese
30D
111
"EnableEndingSlowdown"
Byte
bese
30E
112
"lockMovement"
Byte
bese
30F
113
"LockMoveState"
Byte
bese
310
114
"CanDoubleJump"
Byte
bese
311
115
"CanParachute"
Byte
bese
312
116
"AllowFallJump"
Byte
bese
313
117
"horzJump"
Byte
bese
314
118
"deathScreenShown"
Byte
bese
315
119
"IgnoreJumpInput"
Byte
bese
31B
123
"UNUSED"
8A8A8A
1
120
"No Description"
4 Bytes
039DEA23
121
"No Description"
4 Bytes
039DE84F
124
"No description"
4 Bytes
033EC100
125
"invincibleTime"
Float
33EC0A8
Change of mov [edx+000002F0],eax
0191C835
02
00
00
2B
C1
89
82
F0
02
00
00
C7
82
90
02
00
Change of je 01A00F1C
01A00F04
13
03
00
00
00
74
16
8B
CB
FF
15
98
Change of je Chasm.Player::Update+548
136BD85C
13
03
00
00
00
74
32
D9
45
08
D8
83
Change of mov [edx+000000B8],eax
0EE47A7C
5A
04
8B
40
04
89
82
B8
00
00
00
C7
42
4C
00
00
Change of mov [edx+000002F0],eax
111D75E5
02
00
00
2B
C1
89
82
F0
02
00
00
C7
82
90
02
00
Change of jl 0F123FE3
0F123FDB
90
F0
02
00
00
7C
06
B8
01
00
00
00
Change of mov eax,00000001
0F123FDD
02
00
00
90
90
B8
01
00
00
00
C3
33
C0
C3
00
Change of cmp [eax+000002F0],edx
0F123FD5
A1
58
40
2E
04
39
90
F0
02
00
00
7C
06
B8
01
00
Change of fild dword ptr [ebx+000002F0]
10E49B83
F7
DF
83
C7
09
DB
83
F0
02
00
00
D9
9D
B4
FE
FF
Change of mov eax,[ebx+000002F0]
10E4F8EE
8B
40
02
00
00
8B
83
F0
02
00
00
89
85
98
FA
FF
Change of jl 1321B74B
1321B743
90
F0
02
00
00
7C
06
B8
01
00
00
00
Change of mov eax,[ecx+48]
0E315DE0
0E
14
0B
90
10
8B
41
48
C3
00
00
00
00
Change of mov [ecx+000002F0],edx
0E89A820
0E
34
0A
6F
0E
89
91
F0
02
00
00
C3
00
00
00
00
Chasm v1.076 (tested on GOG)
1- No Enemy Collision
The player won't collide with enemies.
2- Max HP
Enable to max out current HP to its max.
3- Freeze MP
Turn on to freeze current MP.
*You need to use MP at least once.
4- (Literal) Invisibility
Once enabled, the player's character will be invisible, literally.
5- Infinite Jumps
Turn on for infinite jumps.
6- Ignore Platforms
Turn on to ignore platforms.
BASE ADDRESSES:
- STATS
Player stats and details.
- ETC (Experimental)
Experimental stuff.
Made by Maxie :)
Made with Cheat Engine 7.1