79
votes
Accepted
Can software passwords be bypassed by reverse engineering?
In short, yes, you can modify the executable, use a debugger, etc. to alter the logic of the code being executed.
But, that may not be enough.
To use your example of ".zip passwords", password ...
58
votes
Can I rely on these GitHub repository files?
Compilation is not a directly verifiable deterministic process across compiler versions, library versions, operating systems, or a number of other different variables. The only way to verify is to ...
51
votes
Accepted
I feel like it's impossible to learn reverse engineering
So let me preface this with "I'm not implying you're a child"
Often when I teach kids about CIS and they hear what I do for a living, the first question is
"How do I hack?"
I'll tell you the same ...
45
votes
Accepted
What is the difference between Ghidra and Ida?
This is largely subjective, but:
Ghidra is free and open-source on GitHub, including the decompiler. IDA is very expensive, particularly when you start adding the decompiler licenses.
IDA supports ...
42
votes
Can software passwords be bypassed by reverse engineering?
Well your perception of .zip passwords is not accurate. The approach, also used by many other programs is to always run a decryption algorithm and obtain a result, before program even reaches the "...
42
votes
Is there a way to prevent someone from making his own client app for my webservice?
This would be impossible. It is fundamental for your app to contain all the instructions necessary to use your API. Anyone with enough skill and time will be able to extract these secrets and create ...
27
votes
Protecting firmware .bin from reverse engineering
@Marcus is completely correct about using encryption, and how the key has to be stored somewhere safe and possibly used in conjunction with secure boot. As far as tools go, there are many symmetric ...
25
votes
Is there a way to prevent someone from making his own client app for my webservice?
It’s pretty easy and straightforward to create one’s own client regardless of whether REST or SOAP is used, as long as your Existing Client is available for everyone in the Play Store. Just capture ...
22
votes
Accepted
Can I rely on these GitHub repository files?
Polynomial tells you what may happen, and how to solve it. Here I will illustrate it:
I ran both binaries through strings and diffed them. That enough shows some completely harmless differences, in ...
21
votes
Can software passwords be bypassed by reverse engineering?
Yes and No.
Since no one has yet come up with a real life (non-computer-related) example, I'll try here:
Imagine trying to board a flight. You need a boarding pass, or the security guys will not let ...
18
votes
Protecting firmware .bin from reverse engineering
What you want is impossible; there's no "tool" that can do that.
When you encrypt your file, and then only someone in ownership of the key can get the contents – that's the point of ...
17
votes
Can software passwords be bypassed by reverse engineering?
Sure, software can do whatever you program it to do.
As a trivial example, if I was provided a Python program that checked for a password:
password = raw_input('Enter your password: ')
if password !=...
17
votes
Is there a way to prevent someone from making his own client app for my webservice?
From a security perspective, no, there's no way to do this. No matter how much obfuscation you put on the code and protocols, the fact is that the code to access the API and the network traffic ...
13
votes
What is the difference between Ghidra and Ida?
edit 2020-04-07: The Ghidra Book is scheduled to be released in July 2020. Currently only the first 8 chapters are available in the form of an early access PDF.
This question is better suited for ...
12
votes
I feel like it's impossible to learn reverse engineering
Reverse engineering is fun. I use IDA once every other week, so I am not an expert in the field but do it often enough. If you want to understand reverse engineering you need to know how to engineer ...
12
votes
Does GHIDRA have a debugger?
Edit: As the question is a little unclear there might be a misunderstanding. From my point of view there are 2 possible answers:
GHIDRA does not offer a debugger for other binaries currently. (It is ...
9
votes
Accepted
Viewing the stack
Getting a dump of memory the simple way
You can simply send your vulnerable process a SIGSEGV (kill -SEGV pid) and, if coredump is allowed (ulimit -c unlimited), you gonna get a nice core dump file ...
9
votes
Accepted
Malware sandbox detection
Start with this guide -- https://github.com/hfiref0x/VBoxHardenedLoader -- it's incredibly up-to date in terms of making a VirtualBox guest VM more-difficult to detect, including techniques valid in ...
8
votes
Accepted
How to legally blog about Windows internals
Windows is actually quite open about how their operating system constructs work together in the overall system. In fact there are multiple books written to become familiar with Windows Internals, ...
8
votes
Accepted
How to reverse engineer WannaCry?
Check out reverseengineering.SE for all your RE questions.
The name of the tool being used is Hiew.
From WannaCry — Links to Lazarus Group:
Some code in WannaCry (9c7c7149387a1c79679a87dd1ba755bc) ...
8
votes
Accepted
Does Java anti-decompiler software really work as claimed?
No, these do not work in the way claimed. They do not and cannot prevent reverse engineering and decompiling. The most they can possibly do is obfuscate Java to make it more difficult to understand, ...
7
votes
What assembly should I learn?
My advice would be to first learn MIPS to wrap your head around how exactly heap and stack and OS calls work and then move on to x86 since you want to focus on developing malware for Windows.
EDIT: ...
7
votes
Why does my stack contain the return address to __libc_csu_init after main is initialised?
Your main function contains pointer to __libc_csu_init just before its return pointer, because that's how stack frame works;
before entering a function, caller pushes a stack frame pointer and a ...
6
votes
Accepted
What makes malware like Stuxnet or Duqu so advanced?
0days are usually fairly expensive. You have to consider the manpower required to find them. Then to find a specific sequence of 0days required to hop into a specific framework is closer to a ...
6
votes
Accepted
How do security experts benefit from reverse-engineering?
What do you do in most reverse engineering challenges in CTF's
(if you're not just pulling out passwords with strings)
You analyze the logic of the program in it's normal behavior.
Analyze which ...
6
votes
Accepted
How to analyze malware to find out where keylogger sent data?
If you are not an expert in this skill, there are still some automated malware analysis tools that you can use to get some information from the files.
Sandboxes can be a very useful tool, and Cuckoo ...
6
votes
Protecting firmware .bin from reverse engineering
In order to prevent reverse-engineering of their Management Engine, Intel used:
An obscure CPU architecture (not their own)
an exotic compression algorithm with hardware-backed dictionary
a less-...
6
votes
Accepted
Is possible to reverse engineer a AES encryption of a known file format?
No. You're describing a known-plaintext attack, which AES is resistant to, just like every other cipher worth using today is.
5
votes
Can software passwords be bypassed by reverse engineering?
Suppose you have an app that stores data in a text file (or a small database), but to access the file from the app you need to enter a password or use a special process. You could simply open the text ...
5
votes
Is there a way to prevent someone from making his own client app for my webservice?
You can't make unauthorized access to the API impossible in the security sense, but you can minimize it. It's not really a security question but the concept of the threat model is pretty appropriate: ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
reverse-engineering × 241malware × 45
android × 24
assembly × 17
debugging × 15
exploit × 14
windows × 13
encryption × 12
buffer-overflow × 12
hash × 11
cryptography × 10
web-application × 9
tls × 8
linux × 8
java × 8
c × 8
obfuscation × 8
appsec × 7
shellcode × 7
penetration-test × 6
network × 5
vulnerability × 5
forensics × 5
.net × 5
source-code × 5