الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خوارزمية لإنشاء سيريال نمبر لبرنامجك

مغلق
بدأه MiCcSoft في 11 مايو 2006 · 7 رد · 899 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إذا قمت بتحميل برنامج nero أو أي برنامج أخر فتلاحظ أنه معه كراك يعطيك أكثر من رقم سري

أليس هذا صحيح فكرت كيف البرنامج يتقبل كل الأرقام و الأحرف التي يعطيها الكراك !! وأعتقد أنني وجدت الحل

حيث أن البرنامج يقوم بقراءة السيريال نمبر ثم يحلله فالنفرض أن الرقم السري هو 5FFS أو أو 4DFF

فماذا تلاحظون نلاحظ أن الرقمين السريين أولهما رقم ثم حرف ثم حرف ثم حرف وسيحللها البرنامج إذا

كانت (أولها رقم ثم حرف ثم حرف ثم حرف ) فسيقبلها إذا لم يكن فسيرفضها وأعتقد أن هذه فكرة حلوة

لكن المهم الكلام برمجيا وقد استطعت أن أنفذه وهو :

الخوارزمية

النص الأول :

1 - حرف

2- حرف

3- رقم

4 - حرف

5- رقم

النص الثاني :

1 - رقم

2- حرف

3 - حرف

4 - رقم

5 - حرف

وأولا قم بإنشاء مربعين نص وسمهما sn1 و sn2

الأكواد :

 
        If sn1.Text = Nothing Or sn2.Text = Nothing Then
            MsgBox("لم تقم بإدخال الرقم ! ", MsgBoxStyle.Exclamation, "خطأ")
            Exit Sub
        End If
وهو يتفحص إذا تم كتابة نص في المربعين

 
        If IsNumeric(sn1.Text.Chars(0)) = True Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرمز الأول من مربع النص الاول حرف

 
        If IsNumeric(sn1.Text.Chars(1)) = True Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرمز الثاني من مربع النص الاول حرف

 
      If IsNumeric(sn1.Text.Chars(2)) = False Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرمز الثالث من مربع النص الاول حرف

 
        If IsNumeric(sn1.Text.Chars(3)) = True Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرمز الرابع حرف من مربع النص الاول

 
        If IsNumeric(sn1.Text.Chars(4)) = False Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرقم الخامس من مربع النص الأول رقم

مربع النص الثاني :

 
        If IsNumeric(sn2.Text.Chars(0)) = False Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرمز الأول من مربع النص الثاني رقم

 
          If IsNumeric(sn2.Text.Chars(1)) = False Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub    
   End If
وهو يتفحص إذا كان الرمز الثاني من مربع النص الثاني حرف

 
      If IsNumeric(sn2.Text.Chars(2)) = False Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرمز الثالث من مربع النص الثاني حرف

 
       If IsNumeric(sn2.Text.Chars(3)) = False Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرمز الرابع حرف من مربع النص الثاني

 
       If IsNumeric(sn2.Text.Chars(4)) = True Then
            MsgBox("رقم خاطئ", MsgBoxStyle.Critical, Me.Text)
            Exit Sub
        End If
وهو يتفحص إذا كان الرقم الخامس من مربع النص الثاني حرف

وهكذا تنتهي وقد قمت بعمل مثال على هذا في الملف المرفق

serial_number.rar

#2

!!!!!!!!!!!!!

هل تريد ان تقول ان الخوارزمية مبنية على هذا الأمر

NLLN-LNLL-LNNL-NNLN

L=حرف

N=رقم

فاذا ادخلت كود يحترم هذا الترتيب يمكن تجاوز الحماية كيفما كانت الارقام و الحروف المدخلة !!!!

هل هذا ما تقصد ؟؟؟

#4

السلام عليكم ورحمة الله وبركاته

مجهود رائع اخي على الاكواد ومشكور عليه

وسلمت على البرنامج

Q8059107.gif

كل ساعة متبقية من عمري هي فرصة لتطوير نفسي وتغير حياتي

#5

سأقوم بتعقيد الخوارزمية حيث يستحيل اختراقها انتظروني أو صنع

كراك له لكن الأن عندي شوية دراسة

#6

أخي العزيز المشكلة لا تكمن في مدى تعقيد الخوارزمية و لكن في كيفية التحقق من صحة الرقم فمثلا أنت تقوم في كودك باستعمال الجملة الشرطية IF و هي من بين الطرق الشائعة في التحقق من كلمات السر او السيريالز لكنها في نفس الوقت من بين أسهل الجمل التي يمكن تجاوزها بواسطة برامج الكراكنج فيمكن بكل بساطة ايجاد مكانها في البرنامج عن طريق برامج تقوم بعمل Decompile للكود و عمل Jump عليها و بهذا يشتغل البرنامج ... ثم اني لا أظن ان البرامج الكبرى تتبع الطرق التي قلتها فجرب ان تستعمل برنامج لانشاء سيريالز و حاول ان تغير حرف بحرف آخر و ستجد انه لن يشتغل

#7

كيف يمكن التحقق من صحة الرقم !!! :( :( :(

هل يمكن عن طريق عبارة select case !

وقمت بتطوير البرنامج حمل الملفات المرفقة

حيث لا يقبل أي رقم

الخوارزمية

النص الأول :

1 - حرف

2- حرف

3- رقم أصغر من 9 وأكبر من 6

4 - حرف

5- رقم أصغر من 5 وأكبر من 3

النص الثاني :

1 - رقم أكبر من 3 واصغر من 6

2- حرف

3 - حرف

4 - رقم أكبر من 1 وأصغر من 4

5 - حرف

النص الثالث :

1 - حرف

2- حرف

3 - رقم أكبر من 2 وأصغر 7

4 - حرف

5 - حرف

النص الرابع :

1 - عدد أكبر من 1 وأضغر من 9

2 - حرف

3- حرف

4 - عدد أكبر من 5 وأصغر من 8

5 - حرف

النص الخامس :

1 - حرف

2- حرف

3 - عدد أكبر من 1 أصغر من 5

4 - حرف

5 - عدد أكبر من 5 وأصغر من 9

:( :( :(

serial_number.zip

#8

لقد قمت بتطويره ولم استخدم عبارة الشرط IF بل عبارة ال Select case

serial_number.rar

هذا الموضوع مغلق.

مواضيع مشابهة