Reversing crypto algorithm - repost


what I need is an analysis of an algorithm which takes an input (exact input format is unknown, only what it should contain is known) and encrypts it to a 48 byte output buffer. The length of this buffer is static.

Problems :

-Code is in a dll which cannot be run in actual application for live debugging due to the age of said dll.

-Newer versions of DLL are protected by Themida, hence the old version.

I know and have reversed quite a lot about this algorith, and have it all documented in my IDA database. In case you accept this job, you will recieve my IDA DB and a writeup of what I know about the algorithm.

What I know :

-There are at least two static keys, which I both found.

-The algorithm uses twofish for most of it's implementation. Twofish doesn't seem to be modified.

-There is could dynamic in the algorithm. Same input doesn't always generate same output (output = packet contents before actual packet encryption). This may be because of twofish though.

All in all, I think I am pretty close to the solution, but I have problems piecing it together to a final picture. My IDA DB contains all my progress.

The only way for me to test your solution is executing it in a live connection to server, and seeing if server accepts the packet.


Addition :

There is another way of testing your findings, you can do this locally. If you have successfully reversed the algorithm, you should be able to actually decrypt the outputted 48 bytes, thus seeing clearext. If you succeed in this, I consider the problem solved also.

If anybody has any more ideas on how to check for correct decryption/encryption and thus algorithm analysis, please mesage me - I want to make this as easy as possible.

Skills: Algorithm, Assembly, Debugging, Delphi, x86/x64 Assembler

See more: crypto reversing, what's an algorithm, what's algorithm, what is the algorithm, what is encryption algorithm, what is an algorithm, what is an algorith, what is algorithm, what is algorith, what is a algorithm, what an algorithm, what algorithm, the algorithm is, the algorithm, test algorithm, static algorithm, solution algorithm, dynamic problems, application of algorithm, application algorithm

About the Employer:
( 5 reviews ) Berlin, Germany

Project ID: #4544257

Awarded to:


Can try to help you.

$200 USD in 6 days
(0 Reviews)

7 freelancers are bidding on average $197 for this job


I'm fairly confident I could help you reverse engineer your DLL, but would need to see it to be sure. Bid and timeframe are just placeholders until then, but they shouldn't drastically change.

$169 USD in 5 days
(2 Reviews)

Interesting project. Please check pm.

$155 USD in 7 days
(1 Review)

Check your pm

$200 USD in 10 days
(0 Reviews)

Hi, we've experienced a couple of jobs similar to this. We've successfully reversed AES algorithm. We would like to offer our services in this job. It'll be good if we can discuss some details on the task. Regards,

$177 USD in 7 days
(0 Reviews)

If you need the code only (no writeup, etc,..), I can help you with this, I have long-term experiences with this reverse engineering :)

$250 USD in 3 days
(0 Reviews)

Just a placeholder bid, please see PM

$200 USD in 7 days
(0 Reviews)

Hi, i am very interesting in this task. I have many experiences like this. I can extract code(c++/vb/delphi) from your binary. Let's start with me. Thanks.

$200 USD in 3 days
(0 Reviews)