Let's say you have hooked a bar method on the class Foo then the first arg when called is the Foo object (at ). This is also where the FieldOffset part comes into it. Because it's il2cpp, the first argument for methods on objects is the address of the object. at that address and it will be hit whenever the function is called.Īmong us is built for x86, and uses stdcall convention so all arguments pushed onto the stack. ![]() You can then place a breakpoint or function hook/detour/etc. If the RVA of a function you want to hook/modify/inspect is 0xAABBCC then you can find the function's address by taking the base of the dll ( gameassembly.dll in this case), and adding the RVA, so GetModuleHandleA("gameassembly.dll") + 0xAABBCC The RVA's (Relative Virtual Address) given are the addresses of the il2cpp compiled functions, relative to the dll. Any help and explanations or any pointers on where to learn how to do these subjects would be greatly appreciated I also don't know how I could make a script run in the game, or how to edit the games code at all, since this is just showing me through a decompiler and not the games running code. I don't understand what "Token, RVA, Adress, VA, Offset" are and what these hex codes represent. This is where my very little understanding of programming knowledge (specifically in C#) came back to bite me in the ass. ![]() I successfully decompiled the code and tried to figure out where the game stored your unlocked hats and how it determined if you had them unlocked or not and what I would need to change. At the time I didn't really understand what it did, and what I was really trying to do, but I tried to use it after reading the easy to understand for goldfish IQ level read me page which is exactly what I needed. One problem though, in the files I found that there was no Assembly File containing the game code, but rather an il2cpp_data file which confused me.Īfter a google search of "il2cpp" I found out that this was different than most unity games, and used in apk apps for android (I think) which lead me to an Il2cpp dumper. A quick google search of how to mod a unity game lead me to the program 'dnSpy' which would help me decompile the code and see how the game worked. I know how to use unity to create games, and I only know a good amount of Lua and a decent amount of Javascript, which I guessed weren't going to be used making this type of game, but I decided that an overall understanding of coding would be enough to help me figure this out. I had no knowledge of any way to do this. Even if we could just change the date on our computer to get the seasonal cosmetics, I decided reverse engineering the game would be a good learning experience since I'm interested in learning about games and programming. After playing the game 'Among Us' my friends and I decided we felt like there wasn't enough cosmetic items and we wanted more.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |