Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
ВнизСамообновления файла.exe Найти похожие ветки
← →
timekiller © (2008-01-24 20:28) [0]Намекните как обновить файл.exe допустим с сайта (сервера обновлений)?
Может ктото сталкивался и поделится соображениями?
Как он поддается замене, если в данмомент запущен?
(за пример возмем полезную утилиту cureit от drWeb с его обновлением)
← →
Семеныч (2008-01-24 20:52) [1]Нужна вторая программа. Может входить в комплект основной и лежать на диске в ее каталоге; может сидеть в ресурсах основной и т.д.
1. Основная запускает вторую и завершается.
2. Вторая обновляет основную, запускает ее и тоже завершается.
← →
timekiller © (2008-01-24 21:13) [2]Вот . . как она сидит в ресурсах основной? как её туда упаковать?
тоесть она не видна на диске да? (есть только основной.exe?)
← →
Германн © (2008-01-24 21:19) [3]
> тоесть она не видна на диске да? (есть только основной.exe?
> )
>
Она видна на диске. Она вообще всегда там. drWeb"у прятать нечего и незачем.
← →
timekiller © (2008-01-24 21:32) [4]
> Она видна на диске. Она вообще всегда там. drWeb"у прятать
> нечего и незачем.
Там ничего не спрятано, там единственный exe который меняет себя сам когда требуется обновление
http://www.freedrweb.com/cureit/ вот пример (просто полезная утила)
← →
Юрий Зотов © (2008-01-24 21:32) [5]1. Основная извлекает вторую из своих ресурсов, пишет ее на диск, запускает и завершается.
2. Вторая обновляет основную, запускает ее и тоже завершается.
3. Основная стирает вторую с диска.
Теперь вторая будет на диске только тогда, когда работает. А засунуть ее в ресурсы можно так:
1. Пишем вторую программу и компилируем ее в файл P2.exe. Этот файл должен лежать в каталоге основного проекта.
2. В том же каталоге создаем текстовый файл P2.rc с одной строчкой:
P2 RT_RCDATA "P2.exe"
3. Добавляем файл P2.rc в основной проект. Теперь при его компиляции в основном EXE будет помещен ресурс с именем P2, содержащий файл P2.exe
← →
Германн © (2008-01-24 21:36) [6]
> timekiller © (24.01.08 21:32) [4]
>
>
> > Она видна на диске. Она вообще всегда там. drWeb"у прятать
> > нечего и незачем.
>
>
> Там ничего не спрятано, там единственный exe который меняет
> себя сам когда требуется обновление
> http://www.freedrweb.com/cureit/ вот пример (просто полезная
> утила)
>
А ты читал что написано по ссылке?
Можно ли обновлять Dr.Web CureIt!?
Лечащая утилита Dr.Web CureIt! вылечит инфицированную систему однократно, но она не является постоянным средством для защиты компьютера от вирусов. Утилита на нашем сайте всегда имеет в своем составе самые последние вирусные базы Dr.Web, но в нее не входит модуль автоматического обновления вирусных баз. Поставляемый в комплекте утилиты Dr.Web CureIt! набор вирусных баз актуален только до выхода нового дополнения (как правило, дополнения к вирусным базам Dr.Web выпускаются дважды в час).
Для того, чтобы просканировать компьютер утилитой Dr.Web CureIt! в следующий раз с самыми последними обновлениями вирусных баз, необходимо снова скачать Dr.Web CureIt!. Для этого на первом экране утилиты присутствует ссылка, непосредственно ведущая на наш ftp-сервер, где расположена актуальная версия CureIt! Скачайте ее и повторно запустите.
← →
timekiller © (2008-01-24 21:40) [7]
> Германн © (24.01.08 21:36) [6]
Запусти программу, попользуйся, подожди когда она сама предложит обновиться (модуля нет так как она сама себе мобильный "модуль", а не модуль от drWEB, наверное так?), и тогда продолжим разговор
ps: Юрий Зотов говорит правду, почемуто верю ...... Ну терь знаю что искать, какую литературу
← →
Leonid Troyanovsky © (2008-01-24 22:40) [8]
> timekiller © (24.01.08 20:28)
> (за пример возмем полезную утилиту cureit от drWeb с его
> обновлением)
Полезные и так умеют.
Остались лишь вредные.
--
Regards, LVT.
← →
timekiller © (2008-01-25 22:45) [9]function GetFileFromRes(ResName,ResType:PChar):PChar; stdcall; // идем до ресурса update
var
ResHandle: THandle;
MemHandle: THandle;
MemStream: TFileStream;
ResPtr: PByte;
ResSize: Longint;
begin
if not DirectoryExists("c\temp") then CreateDir("c\temp");
Result:= nil;
ResHandle:= FindResource(hInstance, PChar(ResName), PChar(ResType));
if ResHandle=0 then Exit;
MemHandle:= LoadResource(hInstance, ResHandle);
if MemHandle=0 then Exit;
ResPtr:= LockResource(MemHandle);
if ResPtr=nil then Exit;
ResSize:=SizeOfResource(hInstance, ResHandle);
if ResSize=0 then Exit;
MemStream:=TFileStream.Create("c:\temp\miniXMLupdate.exe", fmCreate);
MemStream.Write(ResPtr^, ResSize);
FreeResource(MemHandle);
MemStream.Free;
Result:=PChar("c:\temp\miniXMLupdate.exe");
end;
procedure TMainFRM.BTN_UpdateClick(Sender: TObject);
begin
if MessageDlg("Закончить работу с документами и начать обновление?", mtConfirmation, [mbYes, mbNo], 0)=mrYes then
begin
WinExec(PCHar(GetFileFromRes("mxmlwebupd","RT_RCDATA")),SW_SHOW); // изьятие и запуск update
Close;
end;
end;
Всё круто :) всем спасибы :)
← →
DVM © (2008-01-25 22:49) [10]Что то мне кажется, что антивирусам эти фокусы с извлечением одного Exe их второго и запуском не понравятся.
← →
timekiller © (2008-01-26 03:10) [11]Тож думал про это :)
Но тогда мне кажется антивирь бы просто не пропустили в продажу :) официально
Темболее что все антивирусы с настройками по умолчанию (что 90%) лишь красивые обертки и не более к сожалению .. (опыт)
← →
Германн © (2008-01-26 03:26) [12]
> timekiller © (26.01.08 03:10) [11]
>
> Тож думал про это :)
> Но тогда мне кажется антивирь бы просто не пропустили в
> продажу :) официально
>
> Темболее что все антивирусы с настройками по умолчанию (что
> 90%) лишь красивые обертки и не более к сожалению ..
> (опыт)
Что-то меня заставляет сомневаться об этом опыте.
← →
timekiller © (2008-01-26 03:36) [13]что :)
← →
Anatoly Podgoretsky © (2008-01-26 13:18) [14]это :-)
← →
timekiller © (2008-01-26 14:34) [15]Лан :) спорщики "всвоемрепертуаре" :)
ps: ммм! кстати найдите ради интереса и скачайте RemoveIT 4 (он кстати вирус, предупреждаю!), скачайте avz (обязательно загляните на форумы за полезными скриптами, иначе он тоже вирус) .. может полезного да найдете, ну малоли всё бывает = ))
все мы в чем то не правы, относительно всей правды
← →
Сергей М. © (2008-01-26 14:40) [16]
> Как он поддается замене, если в данмомент запущен?
Никак.
← →
ketmar © (2008-01-27 13:21) [17]>[16] Сергей М. ©(26.01.08 14:40)
в качестве придирки: как, но лучше не надо. чревато. %-)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.05 c