Most Popular
1500 questions
37
votes
5 answers
Why would a program contain a call instruction targetting the address immediately following that instruction?
While reversing a 32bit Mach-O binary with Hopper, I noticed this peculiar method. The instruction on 0x0000e506 seems to be calling an address right below the instruction.
What would be the reason for this? Is it some kind of register cleaning…

Daniel Sloof
- 497
- 4
- 10
37
votes
3 answers
How can I reverse optimized integer division/modulo by constant operations?
When compiling a division or modulo by a constant, my compiler (LLVM GCC) generates a series of instructions that I don't understand.
When I compile the following minimal examples:
int mod7(int x) {
return x % 7;
}
int div7(int x) {
return…

Dougall
- 1,789
- 1
- 14
- 18
37
votes
3 answers
How do I figure out what is burned on an Arduino ROM?
I have an Arduino Uno Rev3. I would like to extract and find out what code is burned on the ROM of the micro-controller board.
How do I extract the code from the board?
How do I figure out the original source code that went into the hex file?

asheeshr
- 2,465
- 8
- 28
- 41
36
votes
8 answers
Reverse engineering T-Disk barcodes for Tassimo coffee makers
In hope this is appropriate
I have a Bosch Tassimo TAS2002EE coffee maker that uses T-Disks. Those contain coffee/milk/something else, and a barcode that is supposed to tell the machine how to deal with the disk.
What I want to do is understand the…

GSerg
- 460
- 1
- 4
- 8
34
votes
4 answers
How to reverse engineer a Windows 10 UWP app?
I wanted to see what Microsoft are doing when you click "Restart now" button in their Settings -> Update window on Windows 10:
Somehow the results are not the same what is available via InitiateSystemShutdownEx or InitiateShutdown WinAPIs,…

c00000fd
- 1,659
- 3
- 25
- 41
34
votes
7 answers
What hints in machine code can point me to the compiler which was used to generate it?
When I am looking at the machine code of an application, are there hints and patterns I can discern from the generated machine code which would indicate which compiler (and possibly version) was used to generate it?
Does knowing the compiler used to…

WilliamKF
- 927
- 2
- 11
- 12
33
votes
5 answers
Open source GUI tool for decomposing a PDF
I've been looking for an open-source GUI tool to extract PDF's in an automated way on Windows systems. I've used Didier Steven's tools with great interest for a while, but cannot make sense of how to use his PDF decomposing/analyzing tools, even…

Lizz
- 443
- 1
- 5
- 14
33
votes
4 answers
How do I identify and use JTAG?
I'm a software guy through and through. But periodically when I'm taking apart hardware I know to look for JTAG ports and RS232 ports. So far I've always been lucky and have been able to solder on pins to the RS232 port and get a serial…

mrduclaw
- 4,066
- 8
- 27
- 40
32
votes
5 answers
What is a good tools to reverse the effects of Minify on JavaScript?
Are there any scripts and/or online tools that can reverse the effects of minification?
I'm specifically looking to unminify a minified JavaScript file. Variable renaming is not a big issue, I want it sufficiently readable to be able to analyze the…

WPrecht
- 816
- 1
- 8
- 16
32
votes
5 answers
Why there are not any disassemblers that can generate re-assemblable asm code?
I am struggling on this problem for around three months:
How to use disassemblers (IDA Pro and others...) to generate re-assemblable asm code and assemble it back
My experience is that:
There is NO tool that can generate re-assemblable asm code on…

lllllllllllll
- 2,485
- 2
- 32
- 50
32
votes
4 answers
Why are machine code decompilers less capable than for example those for the CLR and JVM?
Java and .NET decompilers can (usually) produce an almost perfect source code, often very close to the original.
Why can't the same be done for the native code? I tried a few but they either don't work or produce a mess of gotos and casts with…

Rolf Rolles
- 9,198
- 1
- 23
- 33
32
votes
9 answers
Decompiling a 1990 DOS application
I have some crucial data written decades ago by an ancient 16bit DOS application. There are no docs, no source, and no information about the author. Just the 16 bit exe. I guess it's time for me to learn how to decompile stuff, since it seems the…

ScumCoder
- 609
- 1
- 7
- 12
32
votes
5 answers
What is the meaning of movabs in gas/x86 AT&T syntax?
I just found a strange instruction by assembling (with gas) and disassembling (with objdump) on a amd64 architecture.
The original amd64 assembly code is:
mov 0x89abcdef, %al
And, after gas compiled it (I am using the following command line: gcc…

perror
- 19,083
- 29
- 87
- 150
32
votes
5 answers
Why is disassembly not an exact science?
Newbie here.
From Wikipedia
Disassembly is not an exact science: on CISC platforms with
variable-width instructions, or in the presence of self-modifying
code, it is possible for a single program to have two or more
reasonable disassemblies.…

Einar
- 421
- 4
- 3
32
votes
5 answers
How do I acquire SoftICE?
I have seen mentions of SoftICE on various questions throughout this site. However, the Wikipedia article on SoftICE implies that the tool is abandoned. Searching google, I see many links claiming to be downloads for SoftICE, but they seem to have…

amccormack
- 1,326
- 2
- 13
- 29