olliz0r / sys-botbase

GNU General Public License v3.0
420 stars 88 forks source link

All peek commands return the same value #41

Open TurboTimmy123 opened 3 years ago

TurboTimmy123 commented 3 years ago

Using Switch version: 12.0.3|AMS M.19.4|S Game: Monster Hunter Rise v3.0 (US) Based on the demo python code for the Pokemon bot

import time
import binascii
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.1.56", 6000))

def sendAndGet(s, content):
    content += '\r\n'
    s.sendall(content.encode())
    time.sleep(0.5)
    get = s.recv(100) 
    print(get)

sendAndGet(s, "peek 0x0DB3D840 0x8")
sendAndGet(s, "peek 0x0DB3D850 0x8")
sendAndGet(s, "peek 0x12345678 0x8")
sendAndGet(s, "peek 0xFFFFFFFF 0x8")
sendAndGet(s, "peek 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0x8")

Gives the output:

b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'
b'10ACE21D1E000000\n'

Each reboot the value will change, however every search remains the same

TurboTimmy123 commented 3 years ago

The problem was due to an existing cheat file preventing the module from hooking into the game, running the command getHeapBase returned 0000000000000000 even if no cheat codes were active. Holding L while starting the game resolved this, opening the Edizon overlay broke it again. I think there should be a warning in the README.md regarding the existence of existing cheat files.