bruvzg / gdsdecomp

Godot reverse engineering tools
MIT License
1.47k stars 147 forks source link

If I write with c++ in Godot engine, can that be reversed too? #163

Closed dakanadaka closed 8 months ago

dakanadaka commented 8 months ago

Resource Type

No response

Describe the problem or limitation you are having

I want code to be compiled to machine language when I write a Application in Godot. As I can see here you can easily reverse code. I love Godot and ability to export to all os and mobile devices, but the question is: how to write a code in Godot so it goes to machine language. As I understand gdscript can be even comments in code recovered. But if I write c++ extension for Godot, is it still easy to reverse?

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Reverse c++ extension in Godot.

nikitalita commented 8 months ago

If you wrote it in any sort of compiled language, that would be difficult to reverse engineer and would require hours and hours of manual reverse engineering work in a disassembler/decompiler to do so. If your main objective is to prevent REing, then that would be the way to go.

But consider this: if you make your game difficult to reverse engineer, you'll also be cutting yourself off from the modding community as well, which could affect the popularity of your game. The learning curve for a language like C++ is also a lot steeper than GDScript. Just something to consider.

dakanadaka commented 8 months ago

Thank you for your answer :) If I make in Godot c++ extension like https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/gdextension_cpp_example.html Then is it true that decompiling of that is really to the machine language? I'm planning only some things to do in c++ in Godot all other thing can stay in gdscript, but I want to make difficult for only some part of game difficult to reverse and I thought is it then possible to do it in c++ with Godot?

nikitalita commented 8 months ago

well, yeah, that's what compiling is: converting high level code to machine code.

but I want to make difficult for only some part of game difficult to reverse and I thought is it then possible to do it in c++ with Godot?

C++ would do fine for this, yes

dakanadaka commented 8 months ago

Thank you