![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не работает код
Igit © (2003-11-27 08:20:00)Если создать отдельную программу без VCL и KOL, то все работат, а в MCK этот код не работает
procedure MemPatch(filename:string);
const buf:array[0..1] of byte=($00,$90); // Первый байт - хоть что, второй опкод nop'а
var
rw:cardinal;
sti:tstartupinfo;
lpPi:tprocessinformation;
begin
// Создаем процесс
if not CreateProcess(nil,PChar(filename),nil,nil,false,CREATE_NEW_CONSOLE or
NORMAL_PRIORITY_CLASS,nil,nil,StI,lpPI) then
begin
ShowMessage('Can''t find...');
exit
end
else
while true do
if readprocessmemory(lppi.hProcess,pointer($4A1C91),@buf[0],1,rw) // Читаем один байт по адресу 00441785
then
if buf[0]<>$0 then // Проверяем на распакованность, если не 0 - то распаковалась
begin
// Подождем, пока asprotect проверит память, иначе будет писать 'Protection Error 15'
sleep(300);
//остановили процесс
suspendthread(lppi.hThread);
//записали что хотели
writeprocessmemory(lppi.hProcess,pointer($4A1C91),@buf[1],1,rw);
writeprocessmemory(lppi.hProcess,pointer($4A1C92),@buf[1],1,rw);
writeprocessmemory(lppi.hProcess,pointer($4A1C93),@buf[1],1,rw);
writeprocessmemory(lppi.hProcess,pointer($4A1C94),@buf[1],1,rw);
writeprocessmemory(lppi.hProcess,pointer($4A1C95),@buf[1],1,rw);
writeprocessmemory(lppi.hProcess,pointer($4A1C96),@buf[1],1,rw);
//поехали дальше!
resumethread(lppi.hThread);
closehandle(lppi.hprocess);
// Сами закрываемся
exit;
end;
end;
Вылетает ошибка на CreateProcess "Ошибка инициализации приложения..."
Дальше программа подвисает...
Igit (2003-11-29 08:03:00) [1]Спксибо, все работает.
SPeller (2003-11-27 15:09:00) [2]
> sti:tstartupinfo;
> lpPi:tprocessinformation
А эти структуры, случаем, инициализировать не надо? Хотябы нули туда записать?
Igit (2003-11-27 14:58:00) [3]Ну эт ясно что с кол...
SPeller (2003-11-27 14:43:00) [4]В МСК и не должно ничего работать. МСК к готовой программе не имеет никакого отношения. Может, программа всё-таки написана с КОЛ?
SPeller (2003-11-27 14:43:00) [5]В МСК и не должно ничего работать. МСК к готовой программе не имеет никакого отношения. Может, программа всё-таки написана с КОЛ?