Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

readwrite

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 10.04.2013, 20:38   #1
 Разведчик
Аватар для RamDigga
 
RamDigga неизвестен в этих краяхRamDigga неизвестен в этих краях
Регистрация: 27.10.2012
Сообщений: 24
Популярность: -183
Сказал(а) спасибо: 35
Поблагодарили 23 раз(а) в 14 сообщениях
Отправить сообщение для RamDigga с помощью Skype™
 
По умолчанию readwrite

Нашёл книжку GHBook.
Решил затестить код трейнера на делфи.
Вот собственно код :

Цитата:
var
Form1: TForm1;
WindowName : integer;
ProcessId : integer;
ThreadId : integer;
HandleWindow : Integer;
b: dword;
readwrite:cardinal;
buf : dword;
Const WindowTitle = 'SimCity 4';
Address = $B321E4;
NumberOfBytes = 4;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
WindowName := FindWindow(nil,WindowTitle);
If WindowName = 0 then
begin
MessageDlg('Игра должна быть запущена до трейнера. Запустите ее, потом трейнер', mtwarning,[mbOK],0);
end;
ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);

ReadProcessMemory(HandleWindow,ptr(address),@b,4,r eadwrite);
b:=b+40;
buf:=$FFFFFFFF;
WriteProcessMemory(HandleWindow, ptr(b), @buf, 4, readwrite);
end;

Компилятор кричит на строчки :

Цитата:
ReadProcessMemory(HandleWindow,ptr(address),@b,4,r eadwrite);

и

Цитата:
WriteProcessMemory(HandleWindow, ptr(b), @buf, 4, readwrite);


Сама ошибка :

Цитата:
[DCC Error] Unit1.pas(51): E2033 Types of actual and formal var parameters must be identical


Каким образом её можно исправить ?
  Ответить с цитированием
Старый 13.04.2013, 02:06   #2
Reaper
 Фельдмаршал
Аватар для Dinmaite
 
Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
Отправить сообщение для Dinmaite с помощью ICQ
 
По умолчанию Re: readwrite

Неверно указали типы переменных
Код:
var
HandleWindow, readwrite: DWord;
  Ответить с цитированием
Пользователь сказал cпасибо:
RamDigga (13.04.2013)
Старый 13.04.2013, 08:16   #3
 Разведчик
Аватар для RamDigga
 
RamDigga неизвестен в этих краяхRamDigga неизвестен в этих краях
Регистрация: 27.10.2012
Сообщений: 24
Популярность: -183
Сказал(а) спасибо: 35
Поблагодарили 23 раз(а) в 14 сообщениях
Отправить сообщение для RamDigga с помощью Skype™
 
По умолчанию Re: readwrite

Цитата:
Сообщение от DinmaiteПосмотреть сообщение
Неверно указали типы переменных
Код:
var
HandleWindow, readwrite: DWord;

Все равно эта же ошибка
  Ответить с цитированием
Старый 13.04.2013, 11:17   #4
Reaper
 Фельдмаршал
Аватар для Dinmaite
 
Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
Отправить сообщение для Dinmaite с помощью ICQ
 
По умолчанию Re: readwrite

Ошибся. В последних версиях Делфи

readwrite:SIZE_T;


для справки:
Код:
function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
  nSize: SIZE_T; var lpNumberOfBytesRead: SIZE_T): BOOL; stdcall;
  Ответить с цитированием
Пользователь сказал cпасибо:
RamDigga (13.04.2013)
Старый 13.04.2013, 16:45   #5
 Разведчик
Аватар для RamDigga
 
RamDigga неизвестен в этих краяхRamDigga неизвестен в этих краях
Регистрация: 27.10.2012
Сообщений: 24
Популярность: -183
Сказал(а) спасибо: 35
Поблагодарили 23 раз(а) в 14 сообщениях
Отправить сообщение для RamDigga с помощью Skype™
 
По умолчанию Re: readwrite

Цитата:
Сообщение от DinmaiteПосмотреть сообщение
Ошибся. В последних версиях Делфи

readwrite:SIZE_T;


для справки:
Код:
function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
  nSize: SIZE_T; var lpNumberOfBytesRead: SIZE_T): BOOL; stdcall;

Ещё вопрос)
Каким образом мне записать моё смещение, если оно 26с?
Просто на (с) компилятор ругается)
  Ответить с цитированием
Старый 13.04.2013, 18:56   #6
Reaper
 Фельдмаршал
Аватар для Dinmaite
 
Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
Отправить сообщение для Dinmaite с помощью ICQ
 
По умолчанию Re: readwrite

b:=$26c;
  Ответить с цитированием
Пользователь сказал cпасибо:
RamDigga (14.04.2013)
Старый 02.05.2013, 09:39   #7
 Разведчик
Аватар для RamDigga
 
RamDigga неизвестен в этих краяхRamDigga неизвестен в этих краях
Регистрация: 27.10.2012
Сообщений: 24
Популярность: -183
Сказал(а) спасибо: 35
Поблагодарили 23 раз(а) в 14 сообщениях
Отправить сообщение для RamDigga с помощью Skype™
 
По умолчанию Re: readwrite

Как можно сделать что бы адрес считывался с переменной или же с эдита ?
На это компилятор ругается :

Цитата:
Address = Edit1.Text;
Address = peremennaya;

  Ответить с цитированием
Старый 02.05.2013, 11:44   #8
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: readwrite

Цитата:
Сообщение от RamDiggaПосмотреть сообщение
Как можно сделать что бы адрес считывался с переменной или же с эдита ?

Свойство Text компонента TEdit имеет тип string. DWord - это целочисленный без знаковый тип данных. Можешь попробовать StrToInt ну или же Val паскалевский.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Пользователь сказал cпасибо:
RamDigga (02.05.2013)
Старый 02.05.2013, 15:36   #9
 Разведчик
Аватар для RamDigga
 
RamDigga неизвестен в этих краяхRamDigga неизвестен в этих краях
Регистрация: 27.10.2012
Сообщений: 24
Популярность: -183
Сказал(а) спасибо: 35
Поблагодарили 23 раз(а) в 14 сообщениях
Отправить сообщение для RamDigga с помощью Skype™
 
По умолчанию Re: readwrite

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
Свойство Text компонента TEdit имеет тип string. DWord - это целочисленный без знаковый тип данных. Можешь попробовать StrToInt ну или же Val паскалевский.

Не выходит...
  Ответить с цитированием
Старый 02.05.2013, 15:51   #10
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: readwrite

Цитата:
Сообщение от RamDiggaПосмотреть сообщение
Не выходит...

Весьма странно.
Код:
var d:DWord; s:string;
begin
s:='12345';
d:=StrToInt(s);
end;
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Пользователь сказал cпасибо:
RamDigga (02.05.2013)
Старый 02.05.2013, 16:30   #11
 Разведчик
Аватар для RamDigga
 
RamDigga неизвестен в этих краяхRamDigga неизвестен в этих краях
Регистрация: 27.10.2012
Сообщений: 24
Популярность: -183
Сказал(а) спасибо: 35
Поблагодарили 23 раз(а) в 14 сообщениях
Отправить сообщение для RamDigga с помощью Skype™
 
По умолчанию Re: readwrite

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
Весьма странно.
Код:
var d:DWord; s:string;
begin
s:='12345';
d:=StrToInt(s);
end;

Так то всё норм, а ты попробуй с кодом в 1-ом посте. Там компилятор кричит )

Добавлено через 14 минут
Вроде бы разобрался ) Спасибо )

Последний раз редактировалось RamDigga; 02.05.2013 в 16:45. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 11:55.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net