Go Back   Exetools > General > General Discussion


Thread Tools Display Modes
Old 05-12-2020, 05:31
mcr4ck mcr4ck is offline
Join Date: Nov 2019
Posts: 20
Rept. Given: 0
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 17
Thanks Rcvd at 2 Times in 2 Posts
mcr4ck Reputation: 1
Find the Algorithm

I want to find the algorithm for calculating numbers
But I couldn't
plese help

input ===> out put

15 7d 78 89 ===> b2 80 e8 40
01 02 03 04 ===> 91 7c e7 7d
00 00 00 00 ===> 97 7E 4F 1E
01 01 01 01 ===> 80 04 6A BD
FF FF FF FF ===> 6D EF 8B 38

I wanted to find algorithm
Reply With Quote
Old 05-21-2020, 18:41
LaDidi LaDidi is offline
Join Date: Aug 2004
Posts: 178
Rept. Given: 2
Rept. Rcvd 11 Times in 10 Posts
Thanks Given: 17
Thanks Rcvd at 21 Times in 15 Posts
LaDidi Reputation: 11
@mcr4ck :
You can't with 4 examples and maybe with more...
Are-you sure only DWORD is an input ?
If so, you can try :
  • 00000000
  • 00000001
  • 00000010
  • ...
to find a pattern
Reply With Quote
Old 05-26-2020, 11:37
psgama psgama is offline
Join Date: Jul 2014
Posts: 81
Rept. Given: 0
Rept. Rcvd 3 Times in 3 Posts
Thanks Given: 8
Thanks Rcvd at 65 Times in 38 Posts
psgama Reputation: 3
Yes, need to find pattern and more example.
Put in spreadsheet and calculate delta input vs delta output. Look for pattern, like consistent remainders when you divide by the delta. Some common algorithm I’ve seen divide by prime number and use MOD function.

Try patterns with equal value between inputs to see how output tracks.

Good luck!
Reply With Quote
Old 05-26-2020, 18:19
chants chants is offline
Join Date: Jul 2016
Posts: 552
Rept. Given: 5
Rept. Rcvd 35 Times in 21 Posts
Thanks Given: 467
Thanks Rcvd at 828 Times in 387 Posts
chants Reputation: 35
It's possible the smallest algorithm is close to a 16gigabyte lookup table where the nth element is the corresponding output. This would be the case if the output was a random permutation of the input. In fact this could be done easily in modern computers via keeping the table on the disk.

In practical terms, all you can do is try to find patterns or check known algorithms. Even if you had all 4 billion combinations though, there is no known way to compress it from a switch statement lookup into an elegant or eve maximally compressed algorithm. This is basically a trial and error task and 4 values won't be enough. In fact you would want a good percentage of the state space before trying statistical analysis. The NIST statistical testing framework might give an idea of weaknesses though where it's not sufficiently random. Starting from a black box it's a good starting point sometimes
Reply With Quote
The Following User Says Thank You to chants For This Useful Post:
Abaddon (05-27-2020)

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

All times are GMT +8. The time now is 08:38.

Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX
( 1998 - 2020 )