Questions tagged [reverse-engineering]

Reverse engineering is the process of discovering the technological principles of a human made device, object or system through analysis of its structure, function and operation.

Reverse engineering often involves taking something (e.g., a mechanical device, electronic component, or software program) apart and analyzing its workings in detail to be used in maintenance, or to try to make a new device or program that does the same thing without using or simply duplicating (without understanding) any part of the original.

Reverse engineering has its origins in the analysis of hardware for commercial or military advantage. The purpose is to deduce design decisions from end products with little or no additional knowledge about the procedures involved in the original production. The same techniques are subsequently being researched for application to legacy software systems, not for industrial or defense ends, but rather to replace incorrect, incomplete, or otherwise unavailable documentation.

Reverse engineering techniques of Software consist of decompiling, analyzing, hooking, and patching.

See also:


  • Tracing a NCR assembly program of MASM walk-through of manually tracing and commenting a simple recursive function ing 16-bit x86 asm source to C-like pseudocode. With discussion of how to analyse and what to look for in finding the data flow.
3872 questions
1
vote
0 answers

Reverse Engineering Serial Protocol

This is quite long, but if you're into reverse engineering and know stuff about serial protocols, please bear with me. I have the questions at the end once I've laid out all the data and what have I done already. I have this project ongoing where I…
lema
  • 11
  • 2
1
vote
1 answer

Is there integrity check in PE files?

I am trying to edit some portable executable file with text editor. In the top of the file a backward compatibility string is supposed to display messages on DOS systems. This program cannot be run in DOS mode.(click the link to see screenshot) I…
1
vote
1 answer

gdb commands on bin file does not work for my binary file

I'm trying to use gdb to revese engineer a .bin file. I've tried following a bunch of guides, but every single thing I do seems to fail. First I just open the file with gdb: $ gdb impossible_password.bin GNU gdb (Ubuntu 9.2-0ubuntu1~20.04)…
Garsty100
  • 133
  • 9
1
vote
2 answers

what does this ghidra-generated pseudo c-code generate?

I'm playing around doing a few challenges of reverse engineering with ghidra. I have analyzed a bin file, which should contain some information about a password. When you run the file, you can give it some input, and it will check if it's the…
Garsty100
  • 133
  • 9
1
vote
2 answers

How to extract different metrics from source code in Enterprise Architect

I have source code of a project (multiple files) that I have exported as source directory in the Enterprise Architect. I want to use the EA for the following. Extract different source code metrics such as LOC, Comments, No of classes etc. Extract…
1
vote
0 answers

Need help understanding line of decompiled code from ghidra

I'm reversing a simple binary in Ghidra and have run across the following decompiled C-code: original_key._0_4_ = original_key._0_4_ & 0xffff0000 | (uint)CONCAT11(original_key[0],(char)(original_key._0_4_ >> 8)); and here is the associated…
GSKI
  • 11
  • 1
1
vote
0 answers

Project 'myProject' has higher compiler option than running eclipse

I am following this tutorial to use hibernate plugin in Spring tool suit [hibernate plugin][1]. I am able to install the plugin and generate hibernate configuration file. When i open the hibernate perspective i get the following error window…
1
vote
2 answers

What could be this USB-related constant

I'm reverse engineering some proprietary USB device interface userspace "glue" code on Windows. The code issues an IoCtl to the custom device class device driver, and gets back a WORD (2-byte value). If that word is above (unsigned) 0x0040, the…
Kuba hasn't forgotten Monica
  • 95,931
  • 16
  • 151
  • 313
1
vote
0 answers

Need Ghidra to Auto Analyze common Microsoft C Functions

Fellow Reverse Engineerers, I've been using Ghidra for quite some time now and I began realizing that there are certain functions, like rand and wcscpy, that Ghidra just will not auto analyze and will not auto populate (see attached picture). How…
Stryker2k2
  • 108
  • 9
1
vote
0 answers

Why exit code is what it is and why first bytes of call is 0x0000 and then "printf"

I'm currently reversing the smallest pe file. Here is what I analysed : The program print * 268b universal tiny PE\n and return exit code 26 (which is the string length) (1): Magic DOS Signature header (2): e_lfanew address of PE header (3): PE…
1
vote
1 answer

php uml reverse engineering

I'm strugglying with UML diagrams as I just need to draw diagram to visualize better the dozen of classes I've created : I'm lost with these classes every time I come back from a break. So I'd need to draw them back from sources. I know it's not a…
hornetbzz
  • 9,188
  • 5
  • 36
  • 53
1
vote
1 answer

How to modify checksum after making changes in Nokia 215 4G firmware?

If I change any character in the firmware file and try to flash it, it will failed. But it will successfully flashed if I changed the string with the same number of character if it's not a function. After further searching, I found out about the…
Mohamed
  • 47
  • 5
1
vote
1 answer

Changing network request path of application using reverse engineering techniques

I am debugging my own application, so please avoid legal advices, I am new to reverse engineering. I want to know, if it is possible to change application network request path. Let's suppose, my application is making API call to this server…
1
vote
1 answer

TensorFlow Lite Model stolen by reverse engineering

I made an app that uses a TensorFlow Lite model, therefore I've put it in the assets folder. I have noticed that it's the easiest thing on earth to reverse engineer my app to get that model: just download the apk make it a zip file and extract…
mathematics-and-caffeine
  • 1,664
  • 2
  • 15
  • 19
1
vote
3 answers

Identifying Command Line Arguments

Possible Duplicate: Windows Program: How to snoop on command line arguments? I am working under Windows XP. I've been given some third-party software that spawns several processes when launched. I've been tasked with writing a replacement for…
Dave
  • 1,519
  • 2
  • 18
  • 39