Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 19th Sep 2024 at 5:08 AM Last edited by kronosta : 19th Sep 2024 at 5:42 AM.
Default Injecting/Modifying SimData and Other Assets by Poking Memory
It's been a long-standing problem with Sims 4 mods that SimData makes things uninjectable by Python script mods, meaning some level of incompatibility is required for many things. The Venue List mod is required because of this, for example.

I thought maybe I could inject SimData and strings using Cheat Engine, and after a few hours of work, I actually managed to rename a trait through its SimData, construct entirely new SimData that I could switch between by messing with pointers, and through a similar method to the previous, create an entirely new string at runtime. It's kinda hard for me to concisely describe how to do it, so I'll put my notes here.

A fair word of warning though: most operating systems have functions to read and write the memory of other processes, but they always lock it behind administrator privileges. Doing this through a Python mod (which I have not done yet) would require invoking another executable somewhere, and that executable would require administrator privileges, so users of a mod would have to trust that it isn't malware, as some pretty terrible things can be done with those privileges.

Here are my notes (indentation is important for organization here but that requires preformatting so I'm using the code tag, please ignore the colors):
Back to top