PabloMK7 / citra

A Nintendo 3DS Emulator
GNU General Public License v2.0
3.41k stars 605 forks source link

Having system modules installed and some LLE modules enabled messes with IDA memory #123

Open Radu13 opened 4 months ago

Radu13 commented 4 months ago

Is there an existing issue for this?

Affected Build(s)

r71eca05

Description of Issue

I have citra succesfully connecting to a server, and to get it working they were needed some system modules (stored in: \nand\00000000000000000000000000000000\title\00040130) and their relative LLE modules active as well! But having both of them at the same time messes with IDA memory and most of game related memory, even after a breakpoint, it's all question marks ?????? We get rid of some not useful system modules both as files and as active LLE modules. So at the current situation by having the friend list module one called "00003202" and FRD LLE module enabled citra does connect to server, but however the game memory in IDA is all 00000 and even if we try search for array of bytes those memory bytes supposed to be somewhere aren't showing up. Screenshot of both ????? and 00000 situations: image image

Expected Behavior

When I breakpoint and check registers they should point at the right address with the expected memory values, this should not be messed by what system modules are installed or if LLE modules are active/inactive. Screenshot below with the actual values should show up in memory: image

Reproduction Steps

  1. Install system files, enable at least ACT, FRD and NIM LLE modules.
  2. Start a game with gdb and port activated
  3. Attach IDA to Citra
  4. Put a breakpoint for example when a save file or character is loaded
  5. Check register addresses and were they point at
  6. Repeat steps from 2 to 6 but with either LLE modules disabled or the specific system modules deleted from the nand folder and check the same breakpoint as before as comparison

Log File

Log file but not sure if does help citra_log.txt

System Configuration

Not relevant