delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف برمجة برنامج تشفير بدلفي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

الان لدي ذلك البرنامج :
كود :
http://www5.0zz0.com/2013/06/07/18/782152566.png

كود :
http://www5.0zz0.com/2013/06/07/18/388299951.png

وهو كما ترون يتكون من 2 button و 1 edit و المكون Opendialog

وقمت بوضع ذلك الكود في الزر الاول ( زر Open ) :

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin

if opendialog1.Execute then
begin
    edit1
.Text := opendialog1.FileName ;
end 

ووضع الكود هذا في الزر الثاني ( زر Crypt ) :

PHP كود :
procedure TForm1.Button2Click(Sender: TObject);
var
filehandle : Tfilestream ;
path , Code : string ;
begin

path 
:= edit1.Text ;

if 
fileexists(path) then
begin
  filehandle 
:= Tfilestream.Create(path,fmopenreadwrite);
  
Code := '16568652112211dfkjgkjdfgkdjfg916861615615f6fg16f8h6fg15f33fg000';
  
filehandle.Write(pointer(code)^,length(code)); 
  
filehandle.Free ;
end 

أي ان البرنامج يقوم بأختيار ملف معين ،،، ثم أضافة قيم نصية ( ليس لها معني ) الي ذلك الملف ،، وبالطبع أذا كان الملف تنفيذي سيؤدي ذلك الي أنعطاب ذلك الملف ،، فكيف اقوم بالاتي :

1- أختيار الملف ثم تحوليه الي String ،،
2- تشفير ذلك الــ String بخوازمية Xor ثم عند التشغيل يتم فك ذلك التشفير بالطبع ،،
3- تشفير ذلك الــ String بخوازمية Rc4 ثم عند التشغيل يتم فك ذلك التشفير بالطبع ،،
4- تشفير ذلك الــ String بخوازمية Rc5 ثم عند التشغيل يتم فك ذلك التشفير بالطبع ،،
5- تشفير ذلك الــ String بخوازمية Aes ثم عند التشغيل يتم فك ذلك التشفير بالطبع ،،
6- ضغط الملف بخوارزمية ضغط ( أي خوارزمية ضغط ) ،،
7- تشفير الملف ثم فك تشفيره في الذاكرة ( RunPe )
بالرغم اني اعلم اين ستضع الكود والموضوع
PHP كود :
function FileToString(const AFileName: string): AnsiString;
var
  
f: TFileStream;
  
l_onexite: Integer;
begin
  Result 
:= '';
  
f := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);
  try
    
l_onexite := f.Size;
    if 
l_onexite > 0 then
    begin
      SetLength
(Result, l_onexite);
      
F.ReadBuffer(Result[1], l_onexite);
    
end;
  finally
    
F.Free;
  
end;
end; 
لتحويل ملف الى string

PHP كود :
function XorStr(Stri, Strk: String): String;
var
    
Longkey: string;
    
I: Integer;
    
Next: char;
begin
    
for I := 0 to (Length(Stri) div Length(Strk)) do
    
Longkey := Longkey + Strk;
    for 
I := 1 to length(Stri) do
    
begin
        Next 
:= chr((ord(Stri[i]) xor ord(Longkey[i])));
        
Result := Result + Next;
    
end;
end 
PHP كود :
XorStr(FileToString('Project1.exe'),'onexite') 
ولم أضع الكود بالمكان الذي تتوقعه أو بأي مكان