Categories > Coding > C++ >
Beginning my road with C++ and Reverse Engineering
Posted
Hello!
I'd like to announce that I am beginning my road with C++. Currently I have some sort of school that teaches me the basics (and, in the future, advanced) of C++, so I don't think I need any websites to learn from. Now, my question is - since Roblox's anti-cheat recently got better, how do I get a single address? Can be the print address. I have tried to find an xref of the function, but no results. Have I done something wrong? (generated lists of strings -> searched "Video recording started" -> found the function -> clicked X and no results.) If so, could someone explain step by step, and the basics of a Roblox's DLL?
Thank you and have a wonderful day / evening!
Cancel
Post
Replied
Probably doesn't have to do with the anticheat. Here's some tips on what to do:
- Roblox packs their binaries, so you'll have to unpack it or dump the unpacked binary in memory. Scylla and PETools can do this.
- You'll have to reconstruct imports if you want to see some of the calls to external functions. This isn't required but Scylla can do it. If you want to learn how to use Scylla to reconstruct imports, I would look up a guide, as there's some good ones out there.
- Once you throw the dumped binary into IDA, one way to do this is to search for relevant strings, like "Video recording started," and then look for function calls that push arguments to the print function onto the stack, or you can use the decompiler which is a big help.
- You need to let IDA analyze the binary before you can do anything useful. There's a status on the bottom left that tells you what it's doing and it'll say 'idle' when it's done. Roblox's binary is pretty complicated, so it can take a while to analyze it. Trust me, you want to analyze the full binary or you'll get funny outputs and a decompiler that barely works.
The string "Video recording started" is a good string to start with if you're looking for the console ouput subroutine, unless Roblox obfuscated the reference to it (I highly doubt they did but I didn't check). Anyways you'd just find it, press "x" (to view cross references), and skim through the references until you see some code that pushes a string ("Video recording started") and a number (the output type). There should be a "call" mnemonic to an unnamed subroutine after those are pushed which is likely your console output subroutine.
Tools you can use to dump: Scylla (select process and click "Dump"), PETools(right click the process and click "Dump Full").
Reply to me if you need me to explain the concepts of a Roblox DLL. I gotta go to bed.
Cancel
Post
!!!!!marcus__!!!!!#8611
https://cdn.discordapp.com/attachments/1066053366758780978/1078052772567597127/image.png
Replied
I don't want to be demotivating or anything but I personally think that learning Rust would be a better option in todays word, sure learn C++ at your school but remember that there's a language out there dominating the one that you're learning. I'm not a Rust stan, I'm going to begin learning it soon myself - just stating the obvious.
Cancel
Post
Added
@tempegoreng That's a funny video, I must say. Either way if Voidable learns C++, it will help him form better concepts of how things can be done.
Cancel
Post
Replied
Gl
asdasdadsasads
Cancel
Post
https://i.imgur.com/fqGoInR.png
fortnite balls
Replied
@intristic_roast, yes, I could use your help if possible, please.
Cancel
Post
Replied
@atariXD "I'm not a Rust stan but since I'm going to learn it I am."
Cancel
Post
Added
@VoidableMethod Aight how about you DM me on WRD i'll explain from there. I might be a bit inactive because I'm a bit busy right now. Tell me what you'd like to learn about and I'll see if I can provide.
Cancel
Post
Replied
@intristic_roast,
why do people wanna learn Rust the video game im confused
Cancel
Post
Replied
@intristic_roast, do you have Discord by any chance?
Cancel
Post
Replied
@atariXD, Through extensive experimentation with the Rust programming language, I have determined that surreptitiously embedding illicit functionality within a legitimate program is not advisable. However, crafting an entirely separate unscrupulous application in Rust operates sublimely and without issue.
Cancel
Post
Replied
Here's my suggestion: Learn C and OSDev on UNIX-like systems, and then switch back to windows, and making cheats will be ALOT more easier. Also, remember that you only need knowledge of C to be able to make cheats, heck you can even write cheats in your CPU architecture's assembly, but just make sure that you learn C first, as it's the minimum needed to be able to start making cheats...
Cancel
Post
https://ibb.co/j6KjGX5
Users viewing this thread:
( Members: 0, Guests: 1, Total: 1 )
Comments
mcdonaghethan 60 Reputation
Commented
You can call WinAPI functions in Python, so you're wrong and right at the same time as he'll need to learn how to use them. It'll only take him around five minutes or so to learn about ReadProcessMemory and WriteProcessMemory if he's looking to write an external. I've never seen a Python cheat use a kernel driver though, so I don't think that's possible.
0