خطأ error i/o 104 عند انشاء ملف exe
#1
بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته
خطأ error i/o 104 عند انشاء ملف exe
شرح فكرة البرنامج المراد برمجته :
برنامج يقوم بقراءة سورس اي ملف exe وتشفيرها عن طريق خوارزمية RC4 وانتاج ملف مشفر exe جديد
كود :
[align=left] unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,rc4, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; procedure Button1Click(Sender: TObject); procedure Edit1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var f,n:TextFile; r,w:string; begin if not SaveDialog1.Execute then exit; while not Eof(f) do begin Read(f,r); AssignFile(f,SaveDialog1.FileName); Rewrite(f); Write(f,rc4code(r,'123')); end; closefile(f); AssignFile(n,'crypted.exe'); Rewrite(n); write(n, RC4Code(r,'123')); closefile(n); ShowMessage(SysErrorMessage(GetLastError)); try if not SaveDialog1.Execute then exit; AssignFile(f,SaveDialog1.FileName); //Append(f); while not eof(f) do begin Rewrite(f); write(f,RC4Code(r,'123')); end; closefile(f); ShowMessage('Crypted !'); finally end; end; procedure TForm1.Edit1Click(Sender: TObject); begin if not OpenDialog1.Execute then exit; edit1.Text:=OpenDialog1.FileName; end; end. [/align]
[COLOR="Red"]
وهذه هي وحدة ال RC4 [/COLOR]

كود :
[align=left] {************************************************************} { RC4 } { Copyright (c) 2004 Hagen Reddmann } {************************************************************} unit RC4; interface uses SysUtils; type TRC4Context = record D: array[Byte] of Byte; I,J: Byte; end; procedure RC4Init(var RC4: TRC4Context; const Key: String); procedure RC4Done(var RC4: TRC4Context); procedure RC4Code(var RC4: TRC4Context; const Source; var Dest; Count: Integer); overload; function RC4Code(var RC4: TRC4Context; const Value: String): String; overload; function RC4Code(const Value, Password: String): String; overload; implementation procedure RC4Init(var RC4: TRC4Context; const Key: String); var R,S,T,K: Byte; U,L: Integer; begin {$R-} {$Q-} L := Length(Key); with RC4 do begin I := 0; J := 0; for S := 0 to 255 do D[S] := S; R := 0; U := 0; for S := 0 to 255 do begin if U < L then K := PByteArray(Key)[U] else K := 0; Inc(U); if U >= L then U := 0; Inc(R, D[S] + K); T := D[S]; D[S] := D[R]; D[R] := T; end; end; end; procedure RC4Done(var RC4: TRC4Context); begin FillChar(RC4, SizeOf(RC4), 0); end; procedure RC4Code(var RC4: TRC4Context; const Source; var Dest; Count: Integer); overload; var S: Integer; T: Byte; begin with RC4 do for S := 0 to Count -1 do begin Inc(I); T := D[I]; Inc(J, T); D[I] := D[J]; D[J] := T; Inc(T, D[I]); TByteArray(Dest)[S] := TByteArray(Source)[S] xor D[T]; end; end; function RC4Code(var RC4: TRC4Context; const Value: String): String; overload; var Count: Integer; begin Count := Length(Value); SetLength(Result, Count); RC4Code(RC4, Value[1], Result[1], Count); end; function RC4Code(const Value, Password: String): String; overload; var RC4: TRC4Context; begin RC4Init(RC4, Password); try Result := RC4Code(RC4, Value); finally RC4Done(RC4); end; end; end. [/align]
على حسب التحليل الذي توصلت اليه من تفكيري <<< تحليلي على قدر ما فهمته من عالم التشفير:p
وهو برمجة برنامج يقوم بقراءة سورس الملف وتمريرة على خوارزمية تشفير حيث انه عند التنفيذ يقوم بفك التشفير والعمل ...
الرد


الردود في هذا الموضوع
خطأ error i/o 104 عند انشاء ملف exe - بواسطة مبرمج هاوي - 25-03-2013, 10:21 PM
خطأ error i/o 104 عند انشاء ملف exe - بواسطة SMP3 - 26-03-2013, 11:11 PM
خطأ error i/o 104 عند انشاء ملف exe - بواسطة SMP3 - 27-03-2013, 10:02 AM

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


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