SCM Hook ASM: 01555555 66A155565501 mov ax,[0x1555655] 0155555b 6683F800 cmp ax,0x0 0155555f 741F je short 0x01555580 01555561 B955565501 mov ecx,0x1555655 01555566 890D69545501 mov [0x1555469],ecx 0155556c B955545501 mov ecx,0x1555455 01555571 E88A49F1FE call 0x00469F00 01555576 66B80000 mov ax,0x0 0155557a 66A355565501 mov [0x1555655],ax 01555580 C7055CCBB700ACC52737 mov dword ptr [0xB7CB5C],0x3727C5AC 0155558a E925C400FF jmp 0x005619B4 SCMHOOK VB6 Code: Dim SCMHookASM(58) As Byte Dim SCMHookASMJump(4) As Byte Const SCMInjectAddr = &H1555555 Const SCMInjectJumpAddr = &H53BF9C Public Sub InjectSCM() Dim i As Integer Dim Orig() As Byte SCMHookASM(0) = &H66 SCMHookASM(1) = &HA1 SCMHookASM(2) = &H55 SCMHookASM(3) = &H56 SCMHookASM(4) = &H55 SCMHookASM(5) = &H1 SCMHookASM(6) = &H66 SCMHookASM(7) = &H83 SCMHookASM(8) = &HF8 SCMHookASM(9) = &H0 SCMHookASM(10) = &H74 SCMHookASM(11) = &H1F SCMHookASM(12) = &HB9 SCMHookASM(13) = &H55 SCMHookASM(14) = &H56 SCMHookASM(15) = &H55 SCMHookASM(16) = &H1 SCMHookASM(17) = &H89 SCMHookASM(18) = &HD SCMHookASM(19) = &H69 SCMHookASM(20) = &H54 SCMHookASM(21) = &H55 SCMHookASM(22) = &H1 SCMHookASM(23) = &HB9 SCMHookASM(24) = &H55 SCMHookASM(25) = &H54 SCMHookASM(26) = &H55 SCMHookASM(27) = &H1 SCMHookASM(28) = &HE8 SCMHookASM(29) = &H8A SCMHookASM(30) = &H49 SCMHookASM(31) = &HF1 SCMHookASM(32) = &HFE SCMHookASM(33) = &H66 SCMHookASM(34) = &HB8 SCMHookASM(35) = &H0 SCMHookASM(36) = &H0 SCMHookASM(37) = &H66 SCMHookASM(38) = &HA3 SCMHookASM(39) = &H55 SCMHookASM(40) = &H56 SCMHookASM(41) = &H55 SCMHookASM(42) = &H1 SCMHookASM(43) = &HC7 SCMHookASM(44) = &H5 SCMHookASM(45) = &H5C SCMHookASM(46) = &HCB SCMHookASM(47) = &HB7 SCMHookASM(48) = &H0 SCMHookASM(49) = &HAC SCMHookASM(50) = &HC5 SCMHookASM(51) = &H27 SCMHookASM(52) = &H37 SCMHookASM(53) = &HE9 SCMHookASM(54) = &H25 SCMHookASM(55) = &HC4 SCMHookASM(56) = &H0 SCMHookASM(57) = &HFF SCMHookASM(58) = &H0 SCMHookASMJump(0) = &HE9 SCMHookASMJump(1) = &HB4 SCMHookASMJump(2) = &H95 SCMHookASMJump(3) = &H1 SCMHookASMJump(4) = &H1 'Write the ASM in for the hook For i = 0 To 58 WriteMemoryByte SCMInjectAddr + i, SCMHookASM(i) Next 'Nop it now FrmMain.GTAHOOK.NOP SCMInjectJumpAddr, 5, Orig() 'Now write the new jumping For i = 0 To 4 WriteMemoryByte SCMInjectJumpAddr + i, SCMHookASMJump(i) Next End Sub