Login Register






Thread Rating:
  • 0 Vote(s) - 0 Average


Which programming language is hard to reverse engineering? filter_list
Author
Message
Which programming language is hard to reverse engineering? #1
Hello,
Which programming language is hard to reverse engineering? I mean is that a program that written by which programming language is hard to reverse engineering?

Thank you.

[+] 2 users Like Hack3rcon's post
Reply

RE: Which programming language is hard to reverse engineering? #2
I'd say YARA and C++ are the hardest to reverse-engineer, but it is still possible, it just takes a lot of time

C++ is quite hard to reverse-engineer but can still be done, Crack-makers normally use Ghidra
I don't actually know if it possible to reverse-engineer apps made in YARA, but can probably get reverse'd by Ghidra

However, Do not use VB.NET or C# if you want your app to be hard to reverse-engineer (even obfuscated), tools such as dnSpy can be used to edit applications using the .NET Framework, de4dot can be used to recover obfuscated code from application, allowing Crack-makers to understand and edit code more easily (and i think this does also apply to Java, but im not sure)

I have no idea about other languages such as Delphi or LUA, i just know that i can get resources from those, but no access to code (this doesn't mean it is hard to decode, im just really unexperienced with other languages, not like languages under the .NET Framework)

I would like to see answers from other crackers, but i just think that the easiest languages to reverse-engineer are from the .NET Framework, and that the hardest are unpopular languages such as YARA

Reply

RE: Which programming language is hard to reverse engineering? #3
(03-14-2020, 02:08 AM)miso Wrote: I'd say YARA and C++ are the hardest to reverse-engineer, but it is still possible, it just takes a lot of time

C++ is quite hard to reverse-engineer but can still be done, Crack-makers normally use Ghidra
I don't actually know if it possible to reverse-engineer apps made in YARA, but can probably get reverse'd by Ghidra

However, Do not use VB.NET or C# if you want your app to be hard to reverse-engineer (even obfuscated), tools such as dnSpy can be used to edit applications using the .NET Framework, de4dot can be used to recover obfuscated code from application, allowing Crack-makers to understand and edit code more easily (and i think this does also apply to Java, but im not sure)

I have no idea about other languages such as Delphi or LUA, i just know that i can get resources from those, but no access to code (this doesn't mean it is hard to decode, im just really unexperienced with other languages, not like languages under the .NET Framework)

I would like to see answers from other crackers, but i just think that the easiest languages to reverse-engineer are from the .NET Framework, and that the hardest are unpopular languages such as YARA
Thank you.

YARA?
(This post was last modified: 03-18-2020, 12:01 AM by Hack3rcon.)

[+] 1 user Likes Hack3rcon's post
Reply

RE: Which programming language is hard to reverse engineering? #4
(03-14-2020, 02:08 AM)miso Wrote: I'd say YARA and C++ are the hardest to reverse-engineer, but it is still possible, it just takes a lot of time

C++ is quite hard to reverse-engineer but can still be done, Crack-makers normally use Ghidra
I don't actually know if it possible to reverse-engineer apps made in YARA, but can probably get reverse'd by Ghidra

However, Do not use VB.NET or C# if you want your app to be hard to reverse-engineer (even obfuscated), tools such as dnSpy can be used to edit applications using the .NET Framework, de4dot can be used to recover obfuscated code from application, allowing Crack-makers to understand and edit code more easily (and i think this does also apply to Java, but im not sure)

I have no idea about other languages such as Delphi or LUA, i just know that i can get resources from those, but no access to code (this doesn't mean it is hard to decode, im just really unexperienced with other languages, not like languages under the .NET Framework)

I would like to see answers from other crackers, but i just think that the easiest languages to reverse-engineer are from the .NET Framework, and that the hardest are unpopular languages such as YARA

Thanks for sharing the program. Before your post I couldn't find a single program capable of reverse engineering C++.

Reply

RE: Which programming language is hard to reverse engineering? #5
(03-18-2020, 12:14 AM)Drako Wrote:
(03-14-2020, 02:08 AM)miso Wrote: I'd say YARA and C++ are the hardest to reverse-engineer, but it is still possible, it just takes a lot of time

C++ is quite hard to reverse-engineer but can still be done, Crack-makers normally use Ghidra
I don't actually know if it possible to reverse-engineer apps made in YARA, but can probably get reverse'd by Ghidra

However, Do not use VB.NET or C# if you want your app to be hard to reverse-engineer (even obfuscated), tools such as dnSpy can be used to edit applications using the .NET Framework, de4dot can be used to recover obfuscated code from application, allowing Crack-makers to understand and edit code more easily (and i think this does also apply to Java, but im not sure)

I have no idea about other languages such as Delphi or LUA, i just know that i can get resources from those, but no access to code (this doesn't mean it is hard to decode, im just really unexperienced with other languages, not like languages under the .NET Framework)

I would like to see answers from other crackers, but i just think that the easiest languages to reverse-engineer are from the .NET Framework, and that the hardest are unpopular languages such as YARA

Thanks for sharing the program. Before your post I couldn't find a single program capable of reverse engineering C++.
Well Ghidra is the one that give the most C++-like result, but people also use a disambler to decompile apps, using a disambler allows the user to look at the assembly code of the application, it is quite hard to use those tools and requires a lot of time to learn and to use (you'll get faster after multiple times using it), this is especially why i don't really crack C++ apps because of the frustration i had with reverse -engineering a few

[+] 1 user Likes miso's post
Reply

RE: Which programming language is hard to reverse engineering? #6
https://www.eset.com/blog/company/esets-...s-of-2019/

https://www.eset.com/blog/enterprise/can...e-malware/
(This post was last modified: 04-15-2020, 03:56 PM by 360929396329953295.)

[+] 1 user Likes 360929396329953295's post
Reply

RE: Which programming language is hard to reverse engineering? #7
Sorry for bumping such an old thread but I have to add my two cents worth to this subject. Some of the stuff stated here is quite vague.

So first of all, all languages compile to the native machine code of the target processor and at that point, it’s all the same.
The main difference between languages is that some are interpreter-, compiler and Just-in-time-compiler languages which makes it quite difficult to reverse some of them while some are quite easy.

The most common approaches that you gotta know to answer the question are decompiling and disassembling.

Very basic explanation:
A decompiler transforms a binary to (theoretically) its high level language it was written in.
A disassembler transforms a binary to Assembly language.

The information kept with the binary is different for compiler or Just-in-time-compiler languages which leads to the fact not every binary could be decompiled while every binary could be disassembled as disassembling is very low level.

Just decompiling a C# executable with tools like dotPeek doesn't really require any knowledge other than knowing the language the application is written in.
C++ for example is way harder because you can't just decompile it as information is discarded in the compiling process. Disassembling however works just fine but it has the downside that you gotta understand assembler. Even if a decompiler could produce the logical equivalent code, which it probably can't, you wouldn't have any variable names or class names - just addresses which is quite confusing for humans.

That being said, you shouldn't choose what language you learn or use for a project based on how hard it is to reverse engineer...
Using a language that is almost impossible or very hard to decompile will just prevent script kiddies from fucking around with your stuff but just changing the language doesn't really make it harder for somebody with experience.

tl;dr
Fully Compiled languages like C++ are always harder to reverse than interpreted ones like PHP or some hybrid JIT ones like C#.


(03-18-2020, 12:14 AM)Drako Wrote: Before your post I couldn't find a single program capable of reverse engineering C++.

IDA Pro, OllyDbg, ReClass?
Literally any disassembler or debugger could be used to reverse C++ applications.
The only special thing about Ghidra is that it has a very good pseudo code decompiler thing (idk what it's exact name is).


Sincerely,
chunky

xD

Reply

RE: Which programming language is hard to reverse engineering? #8
I guess Rust should be pretty hard to reverse engineer

Reply

RE: Which programming language is hard to reverse engineering? #9
C++ is probably the hardest one, but it is subjective

Reply

RE: Which programming language is hard to reverse engineering? #10
+1 for Rust, it seems to be a well optimised

Reply







Users browsing this thread: 1 Guest(s)