²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² ²² ____ __ __ ²²ßÛ ²² / _/_ _ __ _ ___ ____/ /____ _/ / ²² ÛßÛ ²² _/ // ' \/ ' \/ _ \/ __/ __/ _ `/ / ²² Û Û ²² /___/_/_/_/_/_/_/\___/_/ \__/\_,_/_/ ²² Û Û ²² ____ __ __ ²² Û Û ²² / __ \___ ___ _______ ___ ___/ /__ ____ / /____²² Û Û ²² / /_/ / -_|_-"9901" <-- e | :004029CD 68DC004200 push 004200DC :004029D2 8D8C24E4000000 lea ecx, dword ptr [esp+000000E4] :004029D9 E852E7FFFF call 00401130 * Possible StringData Ref from Data Obj ->"12790891" <-- n (n > e so we know it is n) | :004029DE 68D0004200 push 004200D0 :004029E3 8D4C241C lea ecx, dword ptr [esp+1C] :004029E7 C784246406000000000000 mov dword ptr [esp+00000664], 00000000 :004029F2 E839E7FFFF call 00401130 * Possible StringData Ref from Data Obj ->"8483678" <-- 1st uncrypted part of the serial | :004029F7 68C8004200 push 004200C8 :004029FC 8D8C2474020000 lea ecx, dword ptr [esp+00000274] :00402A03 C684246406000001 mov byte ptr [esp+00000664], 01 :00402A0B E820E7FFFF call 00401130 * Possible StringData Ref from Data Obj ->"5666933" <-- 2nd uncrypted part of the serial | This crackme use RSA 2 times ! the final serial is the 1st crypted part + the 2nd crypted part , added as string ok , enough blablabla , let's go 1st , we want to have "p" and "q" , fire up "factor.exe" ... it show us how to use it: C:\rsa>factor.exe Usage: factor OR factor -f e.g. factor -f 10#100-19 To suppress the commentary, use flag -s To input from a file, use flag -i To input from a binary file, use flag -b To output to a file, use flag -o e.g. factor -f 10#100-7 -s -o factors.dat ok so: factor.exe n we do factor.exe 12790891 and we obtain this : C:\rsa>factor.exe 12790891 first trying brute force division by small primes PRIME FACTOR 1667 PRIME FACTOR 7673 ok, good !! now we have p=1667 and q=7673 We will need to calcul d now ! For this we will use ce.exe ! Fire up it and look : Exponent Calculator v1.3 _ Ghiribizzo [OR&L/uKC] 1999 Usage: CE

p=1667 and q=7673 and e=9901 (we have found "e" in string data reference) let's enter this numbers: C:\rsa>CE 1667 7673 9901 Exponent Calculator v1.3 _ Ghiribizzo [OR&L/uKC] 1999 Inverse Exponent: 10961333 so d=10961333 ... ok, now we can finish our work !! we will cryp each uncrypted part of the crackme to make our final serial !! It is an serial only crackme , coz the name is not used for the calculation... ( uncrypted ^ d ) % n = serial ! As this crackme use 2 parts as serial here comes the caculation : * 1st Part: (we use abn.exe for this calcul a=8483678 , b=10961333 , n=12790891) (1st Message uncrypted ^ d ) mod n = 1st serial crypted For us : (8483678 ^ 10961333 ) mod 12790891 = 7167622 = 1st part * 2nd part: (we use abn.exe for this calcul a=5666933 , b=10961333 , n=12790891) (2nd Message uncrypted ^ d ) mod n = 1st serial crypted For us : (5666933 ^ 10961333 ) mod 12790891 = 3196885 = 2nd part so the final serial is: Part1 + Part2 (added as string)= Part1Part2 The serial is: 71676223196885 Enter your name , this serial and we obtain: Well done, ACiD BuRN .... Great , we did it !!!!!