информационная безопасность
без паники и всерьез
 подробно о проекте
Сетевые кракеры и правда о деле ЛевинаЗа кого нас держат?Страшный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Pascal] перезагрузка и вызов 23.07.01 11:21  Число просмотров: 968
Автор: Xoro Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Как из BorlandPascal вызвать внешнюю программу. Я
> пробовал
> > exec но не получается.
> > И как можно перезапустить комп. Как можно при помощи
> exec
> > вызвать
> > rundll.exe user.exe,exitwindows. Заранее благодарен.
>
> 1) для запуска .exe или .bat из программы можно
> использовать такую последовательность вызовов (см.
> TApplication.DosShell в исходниках RTL TV)
> DoneSysError;
> DoneEvents;
> DoneVideo;
> DoneDosMem;
> WriteShellMsg;
> SwapVectors;
> Exec(GetEnv('COMSPEC'),' /c user.exe');
> SwapVectors;
> InitDosMem;
> InitVideo;
> InitEvents;
> InitSysError;
>
> 2) перезагрузить комп можно с помощью такой проги:
> Program Reboot;
> Var
> bWarm: Boolean;
>
> Begin
>
> bWarm := False;
>
> { Warm = True triggers warm boot with no memory test: }
> IF bWarm THEN MEMW[$0040:$0072] := $1234
> { Warm = False triggers cold boot with full memory test: }
> ELSE MEMW[$0040:$0072] := 0;
> INLINE($EA/$00/$00/$FF/$FF); { JMP FFFF:0 }
> End.

Для запуска достаточно:
uses memory;

begin
DoneMemory;
Exec(GetEnv('COMSPEC'),' /c user.exe');
InitMemory;
end.
<programming>
[Pascal] перезагрузка и вызов 22.07.01 21:44  
Автор: GlAsS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как из BorlandPascal вызвать внешнюю программу. Я пробовал exec но не получается.
И как можно перезапустить комп. Как можно при помощи exec вызвать
rundll.exe user.exe,exitwindows. Заранее благодарен.
[Pascal] перезагрузка и вызов 23.07.01 10:18  
Автор: FFF Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Как из BorlandPascal вызвать внешнюю программу. Я пробовал
> exec но не получается.
> И как можно перезапустить комп. Как можно при помощи exec
> вызвать
> rundll.exe user.exe,exitwindows. Заранее благодарен.

1) для запуска .exe или .bat из программы можно использовать такую последовательность вызовов (см. TApplication.DosShell в исходниках RTL TV)
DoneSysError;
DoneEvents;
DoneVideo;
DoneDosMem;
WriteShellMsg;
SwapVectors;
Exec(GetEnv('COMSPEC'),' /c user.exe');
SwapVectors;
InitDosMem;
InitVideo;
InitEvents;
InitSysError;

2) перезагрузить комп можно с помощью такой проги:
Program Reboot;
Var
bWarm: Boolean;

Begin

bWarm := False;

{ Warm = True triggers warm boot with no memory test: }
IF bWarm THEN MEMW[$0040:$0072] := $1234
{ Warm = False triggers cold boot with full memory test: }
ELSE MEMW[$0040:$0072] := 0;
INLINE($EA/$00/$00/$FF/$FF); { JMP FFFF:0 }
End.
[Pascal] перезагрузка и вызов 23.07.01 11:21  
Автор: Xoro Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Как из BorlandPascal вызвать внешнюю программу. Я
> пробовал
> > exec но не получается.
> > И как можно перезапустить комп. Как можно при помощи
> exec
> > вызвать
> > rundll.exe user.exe,exitwindows. Заранее благодарен.
>
> 1) для запуска .exe или .bat из программы можно
> использовать такую последовательность вызовов (см.
> TApplication.DosShell в исходниках RTL TV)
> DoneSysError;
> DoneEvents;
> DoneVideo;
> DoneDosMem;
> WriteShellMsg;
> SwapVectors;
> Exec(GetEnv('COMSPEC'),' /c user.exe');
> SwapVectors;
> InitDosMem;
> InitVideo;
> InitEvents;
> InitSysError;
>
> 2) перезагрузить комп можно с помощью такой проги:
> Program Reboot;
> Var
> bWarm: Boolean;
>
> Begin
>
> bWarm := False;
>
> { Warm = True triggers warm boot with no memory test: }
> IF bWarm THEN MEMW[$0040:$0072] := $1234
> { Warm = False triggers cold boot with full memory test: }
> ELSE MEMW[$0040:$0072] := 0;
> INLINE($EA/$00/$00/$FF/$FF); { JMP FFFF:0 }
> End.

Для запуска достаточно:
uses memory;

begin
DoneMemory;
Exec(GetEnv('COMSPEC'),' /c user.exe');
InitMemory;
end.
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach