Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.047 c
2-1200923476
zeroed
2008-01-21 16:51
2008.02.17
Отображение анимационных гифов


2-1200839300
wii
2008-01-20 17:28
2008.02.17
eval() в Delphi


2-1201119724
AntonUSAnoV
2008-01-23 23:22
2008.02.17
простой вопрос


2-1201165220
Guriev
2008-01-24 12:00
2008.02.17
Как сделать. чтобы ComboBox-ы заполнились и "зафиксировались"?


2-1201310538
BBCHa
2008-01-26 04:22
2008.02.17
Создание сервисов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский