#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 
#2




@mcr4ck :
You can't with 4 examples and maybe with more... Areyou sure only DWORD is an input ? If so, you can try :

#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! 
#4




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 
The Following User Says Thank You to chants For This Useful Post:  
Abaddon (05272020) 
Thread Tools  
Display Modes  

