04-06-2019, 12:53 PM
(03-06-2019, 10:43 PM)pharaon كتب : فى الجزء الاول من السيريل عند برمجة مول المفاتيح لماذا اضفت h الى القيمة 26 المخصصة ل EDX
h يعني القيمة نوعها hexadecimal...
(03-06-2019, 10:43 PM)pharaon كتب : السؤال الثانى هل يمكنك ان توضح رياضيا كيف تعمل هذه الدالة
movsx edx, byte نأخد بايت من الاسم و نحفظه في المسجل edx
نقوم بجمع محتوى edx مع قيمة 26h و نحفظ الناتج في نفس المسجل edx
(03-06-2019, 10:43 PM)pharaon كتب : ما ان الاسم المدخل هو سبعة احرف
فقد قمت بتجريب 1+26+2+26+3+26 الخ ولكن لم يعطينى الناتيج الصحيح
ايضا جربت
1*26+2*16+3*26 الخ وايضا لم يكن الناتج صحيحا
الاشكال انك تحاول جمع قيمتين من نوعين مختلفين، 1 من نوع decimal و 26 من نوع hexadecimal
من المفروض ان تكون العملية بهذا الشكل 31h+26h بمعنى 31 هي فيمة الهكس لــ 1
مثال:
لو ادخلنا قيمة 1 كاسم المستخدم في الكيجن
1d = 31h
31h+26h = 57h
57h=87d
يرجع لنا الكيجن قيمة 87 و هي قيمة من نوع decimal
كود الكيجن بالسي شارب:
using System;
namespace Keygen {
public class Program {
public static void Main() {
Console.Title = "Keygen";
Console.Write("Username: ");
string Username = Console.ReadLine();
int part01 = 0;
int part02 = 0;
int part03 = 0;
int part04 = 0;
for (int i = 0; i < Username.Length; i++) {
part01 = part01 + Username[i] + 0x26;
part02 = part02 + Username[i] * 0x34;
part03 = part03 + Username[i] + 0x0C;
part04 = part04 + Username[i] * 0x0E;
}
Console.Write("Serial : "+ part01 + "-" + part02 + "-" + part03 + "-" + part04);
Console.ReadLine();
}
}
}
السورس مع الملفات التنفيذية مرفقة:
c#_keygen.rar (الحجم : 2.49 KB / التحميلات : 29)