BITSCTF - Reverse Mishap

Reversing Mishap

Points

PTS 500

Description

I set out to create a brutal Reverse Engineering challenge for this CTF using Deepseek. It delivered… a little too well. Now there’s so much randomness in the code that even I can’t reverse it to recover the flag. 💀

Flag

BITSCTF{i_guess_t3xt_f1les_h3v3_m3tad4ta_as_W3ll_451a587f}

Download

283KB
Open

Quick Writeup

Rust version

Rust commit hash

the commit hash 051478957371ee0084a7c0913941d2a8c4757bb9 belongs to release 1.80.0

Identifying libraries

Using strings i found the binary are using this libraries

Seach for index.crates.io

Create a Cargo.toml file to use same depencies with same version

Flare capa - Information

The Capa information will be used when crafting a Rust application, which we will use to generate a signature.

Extract information

Deepseek

The challenge description mentioned Deepseek, so I used Deepseek R1 to generate a Rust application with the same library versions and Flare-Capa information. Two or three examples were used while trying to utilize all possible methods. (You can use the Solver code to be used as example).

Build the example And Make Signature

Load the demo binary in IDA and create Sig file.

Produce Signature

Applying the signature

Load the signature to identify functions

Load signature
Decompiled main

Solution

After recognizing all the functions used by the program's main function, use Deepseek again to find a solution to retrieve the flag by sending the decompiled code to Deepseek.

Last updated

Was this helpful?