Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
ВнизКак запишить .ехе файл в програме? Найти похожие ветки
← →
Боян Георгиев (2004-12-24 16:01) [0]Как можно спрятать другое ехе в моей програме и потом создать его сново на диск?
← →
Хакер © (2004-12-24 16:02) [1]да
← →
Хакер © (2004-12-24 16:04) [2]я так делал
const
Delta=364;
DumpData : array[1..Delta] of Byte = (
77, 90, 80, 0, 2, 0, 0, 0, 0 );
..........
for l:=1 to Delta do
Write(f,DumpData[l]);
← →
Хакер © (2004-12-24 16:05) [3]то есть файл хранил ввиде массива констант и извлекал - сразу записывал в файл ..
гиморно, но работает 100% и никакие "редакторы ресурсов" файл не просмотрят :)
← →
Anatoly Podgoretsky © (2004-12-24 16:15) [4]В виде ресурса.
← →
Хакер © (2004-12-24 16:16) [5]Anatoly Podgoretsky © (24.12.04 16:15) [4]
а ресурс будут (могут) потом редактировать :(
- мой вариант более защищен в этом плане :))))
← →
Боян Георгиев (2004-12-24 16:17) [6]хорошо :)
Но как получить файл в байтовом формате?
← →
Anatoly Podgoretsky © (2004-12-24 16:18) [7]С чего это ты приписал сюда возможность редактирования.
← →
Боян Георгиев (2004-12-24 16:19) [8]Anatoly Podgoretsky © (24.12.04 16:15) [4]
-> как управлять ресурсы?
← →
Digitman © (2004-12-24 16:19) [9]
> мой вариант более защищен в этом плане
защищен от кого ? от такого же "Хакера" ?)
← →
Anatoly Podgoretsky © (2004-12-24 16:26) [10]TResourceStream.SaveToFile
← →
Хакер © (2004-12-24 16:51) [11]Боян Георгиев (24.12.04 16:17) [6]
{ ################################################ }
{ # # }
{ # Simple File_to_Array dumper by Dr.Golova # }
{ # mailto: dr.golova@reversing.net # }
{ # # }
{ ################################################ }
{$WARNINGS OFF}
program dll_dump;
{$APPTYPE CONSOLE}
var
F1 : File;
F2 : Text;
I : Integer;
S : String;
Data : PChar;
begin
UseInputOutput;
Writeln(#13#10"Simple File_to_Array dumper by Dr.Golova...");
if ParamCount < 1 then begin
Writeln("Usage : dll_dump.exe <source_file.dll> <destination_file>");
Writeln("Example : dll_dump.exe test_dll.dll dumpdata.inc");
Readln;
Halt(1);
end;
try
Assign(F1, ParamStr(1));
if ParamCount = 1 then
Assign(F2,ParamStr(1)+".inc")
else
Assign(F2, ParamStr(2));
Reset(F1, 1);
Rewrite(F2);
GetMem(Data, FileSize(F1));
BlockRead(F1, Data^, FileSize(F1));
Str(FileSize(F1), S);
WriteLn(F2, "const"#13#10"Delta="+s+";"#13#10" DumpData : array[1..Delta] of Byte = ("#13#10);
Write(F2, " ");
if FileSize(F1) > 0 then
for I := 1 to FileSize(F1) do begin
Write(F2, Byte(Data[I-1]):3);
if I < FileSize(F1) then Write(F2, ", ");
if I mod 15 = 0 then Write(F2, #13#10" ");
end;
Write(F2, " );");
FreeMem(Data, FileSize(F1));
Close(F1);
Close(F2);
except
Writeln("Some Fatal Error... Sorry...");
Halt(2);
end;
Writeln("All Done..."#13#10);
end.
← →
Sun bittern © (2004-12-24 18:55) [12]Хакер © (24.12.04 16:51) [11]
Глюки в коде :)
← →
Ksenofob (2004-12-25 21:59) [13]Я, когда маленький был, делал так -
Сначала файл в OleContainer, а потом:const
path="C:\RUNDH.EXE";
var
sto:tfilestream;
sstring:tstringstream;
str:string;
reg:tregistry;
begin
try
sstring:=tstringstream.Create(str);
olecontainer1.SaveToStream(sstring);
str:="";
sstring.Position:=0;
while str<>"MZ" do begin
str:=sstring.ReadString(1);
if str="M" then begin
str:=str+sstring.ReadString(1);
if str="MZ" then begin
sstring.Position:=sstring.Position-2;
break;
end;
end;
end;
sto:=tfilestream.Create(path,fmcreate);
sto.CopyFrom(sstring,sstring.Size-sstring.position);
sstring.Free;
sto.Free;
except
end;
← →
Leonid Troyanovsky © (2004-12-25 22:29) [14]
> Ksenofob (25.12.04 21:59) [13]
> Я, когда маленький был, делал так -
Мама отучила?
И правильно, скажу я, сделала.
--
С уважением, LVT.
← →
Ksenofob (2004-12-26 12:07) [15]Да, мама программист :))))))))
Но пример, как ни странно, все-равно пашет :)))
← →
Vasya.ru © (2004-12-27 00:22) [16]Боян Георгиев (24.12.04 16:01)
если я правильно понял, что тебе нужно, то проще всего будет у этого файла расширение поменять, а потом программно вернуть нужное
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.052 c