Hola amigos.
hoy traemos una sección de código que sirve para empezar a crear nuestros primeros cheats dentro de Rakion LS, programado bajo MAMS32 (ASM - RadASM Ide). A continuación:
.386
.model flat,stdcall
option casemap:none
include windows.inc
include masm32.inc
include gdi32.inc
include user32.inc
include kernel32.inc
include Comctl32.inc
include comdlg32.inc
include shell32.inc
include oleaut32.inc
include dialogs.inc
includelib masm32.lib
includelib gdi32.lib
includelib user32.lib
includelib kernel32.lib
includelib Comctl32.lib
includelib comdlg32.lib
includelib shell32.lib
includelib oleaut32.lib
Tarea PROTO
.data
Engine db "Engine.dll",0
Entities db "EntitiesMP.dll",0
Range db "CNinjaWeapon_DLLClass",0
TurtleHumanKing db "CNpcDiablo_DLLClass",0
MsgTitulo db "Hack de: Yoshinon Live",0
MsgTexto db "Coded by Yoshinon Live",13,10
.data?
ThrdID dd ?
instance dd ?
.code
Punto_de_Inicio proc hInstance:HINSTANCE, reason:DWORD, reserved1:DWORD
.IF (reason == DLL_PROCESS_ATTACH)
mov eax,TRUE
invoke CreateThread,NULL,NULL,ADDR Tarea ,NULL,NULL,NULL
invoke MessageBox,0,addr MsgTexto,addr MsgTitulo,MB_OK
.ELSEIF (reason == DLL_PROCESS_DETACH)
invoke ExitProcess, NULL
.ENDIF
ret
Punto_de_Inicio Endp
Tarea proc
LOCAL x:DWORD
LOCAL Cell1:DWORD
LOCAL nCell1:DWORD
tecla:
invoke Sleep, 10
invoke GetAsyncKeyState,VK_F1
test eax, eax
jz tecla
invoke GetModuleHandle, addr Entities
invoke GetProcAddress, eax, addr Range
mov Cell1,eax
invoke GetModuleHandle, addr Entities
invoke GetProcAddress, eax, addr TurtleHumanKing
mov nCell1,eax
invoke VirtualProtect, Cell1, 96, PAGE_EXECUTE_READWRITE, x
invoke VirtualProtect, nCell1, 96, PAGE_EXECUTE_READWRITE, x
mov esi,nCell1
mov edi,Cell1
mov ecx,96
xor edx,edx
.REPEAT
mov dl, byte ptr [esi]
mov byte ptr [edi],dl
inc esi
inc edi
.UNTILCXZ
jmp tecla
ret
Tarea endp
End Punto_de_Inicio