Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.034 c
3-1102935792
Barsky
2004-12-13 14:03
2005.01.16
Как изменить параметры поля в DBF


14-1104033725
antonn
2004-12-26 07:02
2005.01.16
И опять тестирование программы. Если времени не жалко:)


1-1103847642
Lexa
2004-12-24 03:20
2005.01.16
Компилятор


3-1103051174
SergP
2004-12-14 22:06
2005.01.16
Есть ли в SQL возможность не указывать имена полей?


1-1104142701
ceval
2004-12-27 13:18
2005.01.16
подскажите пожалуста почему не полностью удаляется dir





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский