تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في بناء كيغن لبرنامج
#1
سلام عليكم ورحمة من الله 
اريد مساعدتكم في اكمال كيغن بلغة الدلفي 

محاولاتي 
 
 
[align=left]unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
  Ser : Int64;

implementation

{$R *.dfm}


function DeleteNumberFromValu(Value :String): String;
begin

Delete(Value,8,8);
result := value;


end;



function GenerateSerial(Serial : string):string;
var
ECX : Int64;
MUL :Int64;
ConvertResulttostring :String;
ConvertSubstr : String;
ConvertSubint : Int64;
Edx :Int64;
begin

// Calculate Serial With Value 253B27C9 Stor Result in MUL
ECX := $253B27C9;
Ser := strtoint(Serial);

// Calculate MUL
MUL := (ECX * Ser);


//Convert Result ToString
ConvertResulttostring := inttohex(MUL,4);



// Callc The Function DeleteNumberFromValu to delete Last 8 Digits
ConvertSubstr := DeleteNumberFromValu(ConvertResulttostring);


Result := ConvertSubstr;

end;




procedure TForm1.Button1Click(Sender: TObject);
BEGIN

edit2.Text := GenerateSerial(Edit1.Text);

end;

end.[/align]


خوارزمية التشفير لبرنامج MP3 TO Wav Converter Pluse V2.6 البرنامج مبرمج بلغة السي ++ 
لا يحتوي علي اي تشفير 
صورة لخوارزمية التشفير في المرفقات 
 
[align=left]004184A7  |>  B8 C9273B25   MOV EAX,253B27C9    // Move This Value in Eax 
004184AC  |.  F7E1          MUL ECX             // Imul 253B27C9 * ECX ,, ECX = Serial In Hexadecimal Stor The Result in EAX:EDX
004184AE  |.  8BC1          MOV EAX,ECX         // move Serial in EAX 
004184B0  |.  2BC2          SUB EAX,EDX         // subtract EAX:EDX 
004184B2  |.  D1E8          SHR EAX,1           // Shift Right EAX ,1
004184B4  |.  03C2          ADD EAX,EDX         // ADD Eax in Eax 
004184B6  |.  C1E8 0F       SHR EAX,0F          // SHR EAX,OF
004184B9  |.  69C0 7FDF0000 IMUL EAX,EAX,0DF7F  // Imule 
004184BF  |.  2BC8          SUB ECX,EAX         // SUBTRACT ECX ,EAX
004184C1  |.^ 0F84 3BFFFFFF JE mp3towav.00418402  // Jump To Correct Answer ECX == EAX ,, INT tHIS cASE ecx = sERIAL, eax = Correct Serial [/align]


توقفت ااثناء استعمال دالة Delet لحدف 8 قيم الأخيرة اثناء الضرب 
بارك الله فيكم 

لتحميل البرنامج 

https://telecharger.tomsguide.fr/mp3-wav...10581.html

انجليزيتي ضعيفة نوعا مع واعدروني ان اخطأت

سيتم وضع شرح لكيفية كسر البرنامج


الملفات المرفقة الشكل المصغر
   
رَبِّ إِنِّي لِمَا أَنْزَلْتَ إِلَيَّ مِنْ خَيْرٍ فَقِيرٌ 
أعضاء أعجبوا بهذه المشاركة :
#2
تفضل :
 
procedure TForm1.Button1Click(Sender: TObject);
var
 NUM1,NUM2:integer;
begin
 Randomize;
 Repeat
 NUM1:= StrToInt(Format('%.8u',[Random(99999999)]));

  ASM
        PUSHAD
        MOV ECX,NUM1
        MOV EAX,0253B27C9h
        MUL ECX
        MOV EAX,ECX
        SUB EAX,EDX
        SHR EAX,1
        ADD EAX,EDX
        SHR EAX,0Fh
        IMUL EAX,EAX,0DF7Fh
        MOV NUM2, EAX
        POPAD
  end;
 Until
      (Length(IntToStr(NUM1)) = 8);

  Edit1.Text:= Format('%u',[NUM2]);
end;
" اللهم أحسن خاتمتنا وأخرجنا من الدنيا علي خير"
أعضاء أعجبوا بهذه المشاركة : Polia
#3
(04-02-2020, 02:07 PM)TeRcO كتب : تفضل :

سهلة بالأسمبلي (: 
لكن حبدا لو تشرحلي السطر 
 

 
NUM1:= StrToInt(Format('%.8u',[Random(99999999)]));

رَبِّ إِنِّي لِمَا أَنْزَلْتَ إِلَيَّ مِنْ خَيْرٍ فَقِيرٌ 
أعضاء أعجبوا بهذه المشاركة :
#4
(04-02-2020, 02:27 PM)Polia كتب : NUM1:= StrToInt(Format('%.8u',[Random(99999999)]));

NUM1: متغير من نوع integer
StrToInt: تحويل متغير من نوع string الى  integer .......اضف SysUtils الى uses
Format('%.8u',[Random(99999999)]): توليد ارقام عشوائية"string "( 8 محارف)
" اللهم أحسن خاتمتنا وأخرجنا من الدنيا علي خير"
أعضاء أعجبوا بهذه المشاركة : Polia


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 3 ) ضيف كريم