04-10-2022, 03:33 PM (آخر تعديل لهذه المشاركة : 04-10-2022, 03:45 PM بواسطة NtPwner.)
مرحبا خالد,مشكور على الطرح الجميل فقط لدي تعقيب بسيط حول الخوارزمية اذا لم تمانع
لو طبقت تحليلك على السريال لإسم المستخدم الخاص بي ستحصل على المعلومات التالية :
user: NtPwner
serial: 1915-6426-1921-4437-EJ2L5
المعلومات التالية خاطئة و السبب ان الخوارزمية التي شرحتها خاصة فقط ببعض الأسماء ممن تتوفر فيهم شروط LOOP1 اي ان بعض الاسماء تحتاج الى حلقة واحدة و البعض الاخر الى اكثر ,الشرح:
user:terco
hash1:CCD7D6A79D07B407FAF12C24F723F1BB -> INITIAL
hash2:CDA87485E203331C7C86B00DAADC5046 -> LOOP1
InternetLock
hash1:66F06ED448EC1016060AA0C0EF75E6E4
hash2:A828D684C41C6A9D35DD3E2ED6A1E628
A828D
CDA87
A 8 2 8 D
C D A 8 7
41h 38h 32h 38h 44h
43h 44h 41h 38h 37h
84h 7Ch 73h 70h 7Bh
$08000001F
4h 1Ch 13h 10h 1Bh
5 28 19 16 27
ABCDEFGHJKLMNPQRSTUVWXY123456789
E6VS5
حسنا السبب في ان السريال الخاص باسم المستخدم الخاص بي خاطئ هو الهاش المستعمل
في حالة اسم المستخدم بك البرنامج قام بعمل هاش مرتين الناتج : CDA87485E203331C7C86B00DAADC5046
أما في حالة اسم المستخدم الخاص بي فقام بعمله 7 مرات مع عدم احتساب المرة الاولى...
NtPwner
7FBA0D4954A7126D13223E340EF6EF1E
C0F27CAC575019A246C5438B6D4811F4
D41C4966C59BD4E823EC97580B6E01AC
7F32A08E71F2E19BA1518787E6E82839
81072B6985F3BB2BB13C23D93D1A1E2D
C632DDA1BDD0EB7122195910A10EE7B9
BA6098B4190098F7FF925DF256130D90
32E35AB00B3EE2DA5ECD0D7FB527848F
InternetLock
66F06ED448EC1016060AA0C0EF75E6E4
A828D684C41C6A9D35DD3E2ED6A1E628
A 8 2 8 D
3 2 E 3 5
41h 38h 32h 38h 44h
33h 32h 45h 33h 35h
74h 6Ah 77h 6Bh 79h
$08000001F
ABCDEFGHJKLMNPQRSTUVWXY123456789
14 A 17 B 19
W L 1 M 3
بقي الاختلاف في عدد الحلقات ... الآن نأتي إلى السبب :
عدد محارف الاسم المدخل --> terco=74 65 72 63 6F
مجموع المحارف بالهكس --> esi=21D
eax=38e38e39
قسمة مجموع المحارف على القيمة --> MUL ESI
الناتج --> eax=38E38E75
باقي القسمة --> edx=78
SHR EDX,1
edx=3c
lea edx,dowrd ptr edx+edx*8
edx= 3c*8+3c = 21c
sub esi,edx
21D-21c=1
esi=1
inc esi
esi=2
edi=esi
eax=di
sub eax,1
[اهم نفطة في كتابة الكيجن] عدد المرات التي يجب ان يتم عمل هاش مجددا --> eax========1
لو طبقت نفس الخطوات على اي اسم مستخدم ستحصل على السريال الصحيح .
user:NtPwner
serial:1366-2529-8104-2112-WL1M3
سأضع كيجن بالأسمبلي اذا توفر لدي الوقت الكافي.
تحياتي