Tags: engineering reverse
Rating:
## Generic Flag Checker 1
  
### Description
```
Flag Checker Industries™ has released their new product, the Generic Flag Checker®! Aimed at being small, this hand-assembled executable checks your flag in only 8.5kB! Grab yours today!
```
### Files
- gfc1 (ELF File)
### Solution
I'm pretty new to reverse engineering so I won't be have the intelligence of explaining what is going on. But this challenge was not difficult to solve. When running the "file" command, we knew that it was an elf executable.
```
> file gfc1
gfc1: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=7d4bbad2b6eeb736abec4fd52079781dcc333781, stripped
```
**ELF (Executable Linkable Format)**: Similar to binary files but with additional information such as possible debug info, symbols, distinguishing code from data within the binary.
All I had to do to find this flag was cat the file
OR display strings using the string command
```
cat gfc1
OR
strings gfc1
```
This is the operation is called static analysis.
**Static Analysis**: A method of computer program debugging that is done by examining the code without executing the program.
We didn't execute this program, we only displayed the contents of them.
> Tip: This is the single way to analyze executable files. If you were to analyze larger and more complex files, you would need a tool for static analysis. I recommend [Ghildra](https://ghidra-sre.org/) *You can find the flag using this tool as well!
> Ghildra is a "software reverse engineering suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission"
### Flag
```
nactf{un10ck_th3_s3cr3t5_w1th1n_cJfnX3Ly4DxoWd5g}
```