Most Popular

1500 questions
10
votes
2 answers

Mixed 16/32-bit code reversing using IDA

I am trying to reverse engineer a binary blob I expect to transition from 16-bit real mode into 32-bit protected mode (it is boot time code), so I expect the code to contain code of both sorts. When I launch IDA, I am given the option of 16 or…
user1797
10
votes
2 answers

Attaching GDB to a specific fork

I am trying to reverse engineer a Linux binary that makes several fork() calls. I am using GDB 7.5 on Ubuntu. What I am trying to do with GDB is attach to a certain fork() (say the second call). Is the only way to do this to set follow-fork-mode to…
Compster
  • 369
  • 2
  • 9
10
votes
0 answers

Ghidra loading Linux kernel function signatures

TLTR I want to load Linux kernel headers vs. 4.19 to Ghidra so that it recognizes kernel structures and function signatures. Full description I'm trying to reverse engineer a Linux kernel module (kernel version 4.19). Ghidra does recognize correctly…
Rob D
  • 123
  • 1
  • 7
10
votes
1 answer

How to handle exceptions in a debugger when reversing malware?

I came across some malware that raised an exception while I was single stepping through it. IDA gives me the option to pass the exception to the application or not. What exactly is going on here? When would I not want to pass the exception to the…
user2142
  • 1,537
  • 2
  • 14
  • 17
10
votes
3 answers

Why does the function pointer get overwritten even though is declared before the vulnerable buffer?

I am working on io-wargames for fun right now, level3: I do understand why there is a stack-overflow in this code (strlen(argv[1])), but what I don't understand is why it overflows the function pointer functionpointer. functionpointer is declared…
0x90
  • 677
  • 2
  • 7
  • 19
10
votes
1 answer

How to identify function calls in IDA Pro's disassembly?

I am reverse engineering some code from which IDA has generated the following disassembly. These specific lines of code are just for illustrative purposes. Notice that the third line does not call a specifc function by its name but rather by its…
clark
  • 215
  • 1
  • 3
  • 9
10
votes
1 answer

Can I define custom enum-type to be used in Ghidra as a data type?

I'm trying to learn Ghidra. Say, if it generated the following code for loading functions from an array of function names from gpfnCommCtrlAPI: I was able to retype gpfnCommCtrlAPI into char*[14] which made it quite readable: But then is it…
c00000fd
  • 1,659
  • 3
  • 25
  • 41
10
votes
2 answers

How to load symbols from a symbol server in Ghidra?

I've been trying to learn Ghidra by attempting to reverse the comctl32.dll system library, which has many of its functions documented. I started the de-compilation analysis in it, and after a while it showed this error message: (I don't know how…
c00000fd
  • 1,659
  • 3
  • 25
  • 41
10
votes
1 answer

Common Lisp bytecode or machine code decompiler

Does anyone know of a decompiler for Common Lisp? I know most lisp environments include a disassembler. But I don't know of any decompilers. I would think it should be possible to make a decompiler using the output of the various lisp environment…
cb88
  • 2,320
  • 2
  • 18
  • 33
10
votes
3 answers

Academic journals for latest RE/Malware/Exploitation research?

I am looking for journals to keep track of the latest advances in reverse engineering, binary analysis, malware, binary exploitation, etc.
Chase Kanipe
  • 131
  • 4
10
votes
3 answers

How to reverse engineer an ATM?

This question is using ATMs as an example, but it could apply to any number of 'secure' devices such as poker machines, E-voting machines, payphones etc. Given that ATMs are relatively hardened (in comparison to say, most consumer electronics for…
NULLZ
  • 343
  • 1
  • 16
10
votes
3 answers

Unable to set breakpoints in keygen

I like security as a hobby and I not so often I read and play with a few simple KeyGen games and I enjoy it. Reversing and KeyGen is very interesting but I'm a beginner and my questions are probably very dumb but I will be very thankful if you could…
Araujo
  • 109
  • 1
  • 4
10
votes
2 answers

What does the text in angle brackets refer to (From objdump)

I constantly see the text () as seen in the snippet below, but I am not sure if its making a call to perror of if the disassembler was having issues. Since it would be odd if the first thing the main function did was to call the…
RC1140
  • 200
  • 5
10
votes
2 answers

How can I analyze a program that uses a JIT compiled code?

A lot of code I encounter today has a considerable amount of code generated at runtime, making analysis extremely laborious and time consuming. Is there any way I can create symbolic names for the various functions introduced by the JIT compiler…
zetavolt
  • 1,213
  • 11
  • 12
10
votes
3 answers

Trying to reverse engineer C code that is 64bit assembly

This is the code I am looking at 0x0000000000401048 <+70>: mov 0x401ba0(,%rax,4),%eax This is an array of 15 integers. Just wondering how I can access indices 0 to 15 in gdb Thanks
user2303586