memory.dll icon indicating copy to clipboard operation
memory.dll copied to clipboard

How can i change opcode values inline, or load a full auto assembler script from cheat engine

Open flexeykinDev opened this issue 1 year ago • 1 comments

How can i change opcode values inline, or load a full auto assembler script from cheat engine

[ENABLE]
aobscanmodule(bullets,$process,89 45 5C 8B C6)
alloc(newmem,$1000)
label(code return)

newmem:
label(bullet_type)
registersymbol(bullet_type)

  bullet_type:
    dd 00

  code:
    push eax
    cmp [bullet_type],C //12
    jg check12
    cmp [bullet_type],0
    jl check0

inject: //originalcode
  mov eax,[bullet_type]
  mov [ebp+5C],eax
  pop eax
  mov eax,esi
  jmp return

  check0:
    mov [bullet_type],00
    mov eax,[bullet_type]
    jmp inject

  check12:
    mov [bullet_type],#12
    mov eax,[bullet_type]
    jmp inject

bullets:
  jmp code

return:
registersymbol(bullets)

[DISABLE]
bullets:
  db 89 45 5C 8B C6

unregistersymbol(bullets)
dealloc(newmem)

for example this code for PvZ can change bullet type. I understand how to makes a code who do nothing is 0x90 and how to change value with pointers, but idk how to change opcodes for example je for jmp and etc.

Originally posted by @booby1545 in https://github.com/erfg12/memory.dll/discussions/104#discussioncomment-8462946

flexeykinDev avatar Feb 14 '24 08:02 flexeykinDev

Write those shellcode by your self. If you had finished written the shellcode,use CreateCodeCave Function.

Caritusy avatar Feb 14 '24 09:02 Caritusy