Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.06.2011, 16:23
divineberserk divineberserk вне форума
Прохожий
 
Регистрация: 05.06.2011
Сообщения: 1
Репутация: 10
По умолчанию поис значения адреса

в игре л2 нашол адреса и через арт моней про смотрел значения и всё прекрасно смотрелось, когда я попробовал сделать это своей прогой тоничего не вышло, точней она запускается работает но вместо значений выводит нули вот исход
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;

Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
Edit4: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
WindowName: integer;// Для удобства объявим как глобальные переменные.
ProcessId: integer; // Все эти переменные нужны для того, чтобы найти
ThreadId: integer; // процесс с игрой.
HandleWindow: Integer; //
read: cardinal; // В эту переменную попадёт количество записанных байтов.
bufX: LongWord;
bufY: LongWord;
const
WindowTitle = 'Lineage II'; // Заголовок окна с игрой

koordinataX = $0011F3F0;
koordinataY = $00127D18;
NumberOfBytes = 4; // Количество байт, которые будем заменять.

implementation

{$R *.dfm}
function EnableDebugPrivilege(const Value: Boolean): Boolean;
const
SE_DEBUG_NAME = 'SeDebugPrivilege';
var
hToken: THandle;
tp: TOKEN_PRIVILEGES;
d: DWORD;
begin
Result := False;
if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken) then
begin
tp.PrivilegeCount := 1;
LookupPrivilegeValue(nil, SE_DEBUG_NAME, tp.Privileges[0].Luid);
if Value then
tp.Privileges[0].Attributes := $00000002
else
tp.Privileges[0].Attributes := $80000000;
AdjustTokenPrivileges(hToken, False, tp, SizeOf(TOKEN_PRIVILEGES), nil, d);
if GetLastError = ERROR_SUCCESS then
begin
Result := True;
end;
CloseHandle(hToken);
end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
EnableDebugPrivilege(True);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
WindowName := FindWindow(nil,WindowTitle);
If WindowName = 0 then begin // Если окошка у нас нет, то и изменять нечего.
Form1.Close;
end;

ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId); // Ищем хэндл процесса
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,false,ProcessId); // с нашей игрой.
ReadProcessMemory(HandleWindow, ptr($0011F3F0), @bufX, 4, read);
Edit3.Text:=IntToStr(lStrLen(nil));
ReadProcessMemory(HandleWindow, ptr(koordinataY), @bufY, 4, read);
Edit4.Text:=IntToStr(lStrLen(nil));
Edit1.Text:=IntToStr(bufX);
Edit2.Text:=IntToStr(bufY);
end;

end.
Админ: Пользуемся тегам и для формления кода!

кто может помогите
как решить эту проблему надо чтоб выводились значение, что это может быть, защита или что то ещё, подскажите как её обойти и т.п

Последний раз редактировалось Admin, 05.06.2011 в 17:38.
Ответить с цитированием
  #2  
Старый 07.06.2011, 09:50
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Походу адрес указывается без учета ImageBase
Попробуй так

PHP код:
ReadProcessMemory(HandleWindowptr($0051F3F0), @bufX4read); 
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #3  
Старый 07.06.2011, 10:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А не выйдет у вас нифига так. Ничего вы не поправите, а еще более того ваш ак заблокируют. Линейка все данные хранит на серваке, а клиент их только отображает и сколько вы там не меняйте на клиенте, серверу это по барабану.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter