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

Is it possible to use compiled Swift framework without Headers and Modules folders provided

Compiled Swift framework consists of executable, _CodeSignature, Info.plist, Headers, Modules. A framework built inside an iOS app only has executable, _CodeSignature and Info.plist. Is it possible by not having Headers and Modules part take any use…
simd
  • 1,779
  • 3
  • 17
  • 23
1
vote
1 answer

Read uchar value from hooked method using Frida

How can i read value of uchar* ? I tried many ways, it's code which i used: Interceptor.attach(Module.getExportByName('libsigning.so', 'EVP_DigestSignFinal'), { onEnter: function (args) { console.log("RSA.doFinal() [VALID]") …
Kaspek
  • 159
  • 1
  • 11
1
vote
1 answer

ASM: How to find this asm function(via offset)?

In a C++ function I have following code: #if defined(WIN64) const int offset = 0xd1; #else const int offset = 0x77; #endif unsigned char* p = &(((unsigned char*)pNetChannel)[offset+3]); This way I can retreive a…
asm
  • 41
  • 2
1
vote
3 answers

visual paradigm, reverse engineering PHP project

I get the following error when trying to do reverse engineering with visual-paradigm: Reason : Error occured when analysis: includes/config.php. Encountered "define" at line 6, column 66 this is the line: defined('DB_SERVER') …
Ryan
  • 13
  • 2
1
vote
0 answers

How to debug a gtk application using gdb?

I'm trying to debug a gtk program by attaching it to gdb debugger but when I did the, gtk app freeze unless I execute next instruction or continue the program. It's annoying. I tried using ltrace but it is fill with gtk functions. How am I gonna…
c00l
  • 60
  • 1
  • 6
1
vote
1 answer

get compiled pixel shader bytecode from ID3D11PixelShader object

I'm reverse engineering an old game trying to get its compiled shaders bytecode so I can decompile it, I have hooked DrawIndexed and im grabbing the current pixel shader with PSGetShader. now all I have is the ID3D11PixelShader object. how can I get…
1
vote
1 answer

Frida call function of reverse engineered smali code (Android)

I want to call a function through frida in an apk while only having decompiled smali code. The code looks like the following: b.smali .class public final Lcom/company/a/b; .super Ljava/lang/Object; .source "" # annotations .annotation system…
pythonimus
  • 293
  • 4
  • 15
1
vote
0 answers

new instruction in ghidra while patching

I'm trying to patch a binary with ghidra. Though I'm able to replace an existing instruction with new one, I see no option to add new instructions to the same func. How can I do that? What am I missing?
1
vote
1 answer

Interpreting the boot sector assembly code

I am going through os-dev by Nick Blundell. There he has taken through the hex data inside a bin file after compiling the boot sector assembly code using NASM. Is there a way to interpret all the 512 bytes manually, just by looking at the code. Say,…
kumarp
  • 135
  • 3
  • 11
1
vote
1 answer

from how many Relocatable files an Elf execution file Built from?

Is there a way I can find from how many Relocatable files an Elf execution file Built from? And how can I associate a segment with its original Relocatable file? Thanks in avance.
asaf levi
  • 11
  • 4
1
vote
1 answer

How does BL instruction jump to invalid instruction still manage to work corretly

I'm practice to reverse engineering a il2cpp unity project Things I done: get the apk using Apktool to extract files open libunity.so with Ghidra ( or IDA works too ) And I found a wired block of instructions like : 004ac818 f4 0f 1e f8 …
ratsafalig
  • 442
  • 5
  • 21
1
vote
1 answer

What is undefined function when I use Ghidra to dissemble a .so file?

I am now trying to dissemble a .so file and I found a strange part : And follow FUN_004d9f38 lead me to this : Can any one help me understanding what is so called undefined __cdecl FUN_004d9f38(void), specifically what is a undefinde function. As…
ratsafalig
  • 442
  • 5
  • 21
1
vote
1 answer

is this some kind of casting function? if so, why is it __thiscall?

I am reverse-engineering a program, and found a member method that looks like this: int __thiscall sub_40A490(void *this) { return *(_DWORD *)this; } IDA generated this code, the original assembly looks like this: sub_ proc near …
geo10
  • 366
  • 2
  • 11
1
vote
1 answer

Make a riddle using a .exe

Im trying to create a riddle, but from what I can tell, if the answers are in the code, someone could reverse engineer the .exe to get the answers. Is there any way I could hide it in the code, or make some kind of encryption to make it impossible…
1
vote
1 answer

Extracting files from a proprietary archive format

I'm currently working on reverse engineering a game so that me and my friends can look through it and edit stuff. I have much experience with modding games, but the issue here is that it looks like the developer of this game in particular uses a…
darthteddy1
  • 35
  • 2
  • 4