Перейти к содержанию

Vlad2

Ветераны
  • Постов

    279
  • Зарегистрирован

  • Посещение

  • Победитель дней

    13

Весь контент Vlad2

  1. function ReadFloat(Address: Cardinal): Single;varReaden: Cardinal;Data: Double;begin ReadProcessMemory(PidHandle, Pointer(Address), @Data, SizeOf(Data), Readen); result:=Data;end;Вывод : Edit1.Text := FloatToStr(readFloat(Adress));
  2. Сигнатура у меня уникальная. Но этой функцией я могу сканировать только статическую память. А когда сканирую сигнатуру из динамической, то она ничего не находит!
  3. unction ScanSignature(base: Cardinal; size: Cardinal; sign: PByte; mask: PAnsiChar): integer;var mbi: MEMORY_BASIC_INFORMATION; offset: Cardinal; buffer: PByte; BytesRead: Cardinal; i: integer;begin offset := 0; while (offset < size) do begin VirtualQueryEx(m_hProc, Pointer(base + offset), mbi, sizeof(MEMORY_BASIC_INFORMATION)); if (mbi.State <> MEM_FREE) then begin GetMem(buffer, mbi.RegionSize); ReadProcessMemory(m_hProc, mbi.BaseAddress, buffer, mbi.RegionSize, BytesRead); for i := 0 to mbi.RegionSize do begin if (DataCompare(PByte(Integer(buffer) + i), sign, mask)) then begin FreeMem(buffer); result := integer(mbi.BaseAddress) + i; exit; end; end; FreeMem(buffer); end; offset := offset + mbi.RegionSize; end; result := 0; end;Вот функция сканирования, которая ток статические сканирует.
  4. Вот нашел проект со сканером, но он сканирует только статическую память, а к динамической не притрагивается. а мне очень нужно, что делать? SigScanner.zip
  5. Всем привет!) Столкнулся с нуждой сделать произвольную форму в Delphi 7 с максимально четкой границей. Полез в гугл и нашел такое видео: Здесь показано, как сделать форму по заготовленной маске. И конечный результат вроде неплохой. Но моя Дельфи отказывается устанавливать компонент shapedform, пишет: Could not create output file ...'FormsChanging.bpl'Ну так вот, подскажите, как сделать сложную произвольную форму, чтоб ее окантовка не казалась пиксельной? Повторяю, форма сложная и сделать ее через такие программы типа "Регионы 7.0" не получится.
  6. lamalamaz, .С наступающим! У меня была похожая проблема в одной игре. Долго мучился, искал, ничего не помогало. Потом психонул и в СЕ сделал такой поиск: Допустим адрес здоровья 805E6840. Искал диапазон 4 байта в Hex, от 805E0000 до 805EFFFF (можно диапазон сделать побольше). Среди найденных адресов был один статический. Я его определил, как указатель, а смещение до жизней подвел вручную. Попробуй, может получится
  7. Отладчик -> Инструменты -> Автоассемблер. Туда вставляешь это: [ENABLE]{$LUA}writeInteger('[08B60780]+4', 1)[DISABLE]{$LUA}writeInteger('[08B60780]+4', 257)[08B60780]+4 - это указатель. Вместо его вставь свой адрес. Далее, Файл -> Добавить скрипт в таблицу. Потом просто делаешь HotKey на переключения скрипта нужной кнопкой.
  8. Ок, а то я уже удалил что делал. Скину позже.
  9. Вроде что то нашел. http://cheaton.ru/f30/poisk-signatur-bazovyh-adresov-dlya-dayz-8343/ Помогите оптимизировать под Delphi 7!
  10. Самое главное чтоб адрес возвращал и искал массивом) а где такие видео? не нашел...
  11. Привет, форумчане! Помогите, нужно в дельфи сделать AOBScan, который бы умел искать байты такого типа "00 01 ?? 03 04", и возвращал адреса по которым он находил такие байты.
  12. Спасибо, Все работает, код чуть-чуть подправил только) procedure TForm1.Timer1Timer(Sender: TObject);begin if (GetAsyncKeyState(VK_UP) <> 0) then begin // Тут код end;end;
  13. Всем привет! Объясните пожалуйста, как работать с компонентом HotKey в Delphi. И как с помощью этого компонента сделать горячие клавиши для трейнера, чтоб можно было не сворачивая игру пользоваться функционалом трейнера? Нашел пример, но он не подходит, потому что если в программе зарегистрировать клавишу, то она кроме программы нигде не сработает. unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private procedure WMHOTKEY(var Msg: TMessage); message WM_HOTKEY; { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin RegisterHotKey(Handle, 1, 0, VK_DOWN); RegisterHotKey(Handle, 2, 0, VK_UP);end;procedure TForm1.WMHOTKEY(var Msg: TMessage);begin case Msg.WParam of 1: MessageBox(Handle, 'Down', 'WMHOTKEY', MB_OK or MB_SYSTEMMODAL); 2: MessageBox(Handle, 'Up', 'WMHOTKEY', MB_OK or MB_SYSTEMMODAL); end;end;end.
  14. Вопрос: как за этими адресами наблюдать? можно примерчик?
  15. Привет форумчане! Стоит задача обезопасить трейнер написаный на Delphi. А конкретно, предотвратить перехват читаемых и записываемых параметров и не дать сканером памяти подключатся к процессу трейнера. Как можно это реализовать?
  16. Насколько я помню, это должно было выглядеть бы так: 1. Выделяешь Edit1 (поле для ввода текста). 2. Переходишь в Events. 3. Тыкаешь на OnChange. 4. Создастся процедура, туда вставишь этот код: double Q, E, S;Q = Edit1->Text.ToDouble;E = Edit2->Text.ToDouble;S = Q*E + 320;Edit3->Text = FloatToStr(S);5. Выделишь Edit2 и перейдешь в Events. 6. В OnChange выберешь Edit1Change. Если что ни так, камнями не кидайтесь, Последний раз в Borland С++ 6 работал, пишу по памяти.
  17. A1t0r, вот. Что-то нашел, но пока нет времени разбираться. delphi_extras.zip crystal_lua.zip
  18. Ах жаль(( Мнеб серийник жесткого диска запрашивать, да пару методов шифрования использовать.
  19. Во! Работает на 64-битной версии CE, а на 32 - нет. Нужен способ реализации такой dllки на Delphi, исходник в студию))
  20. Coder, A1t0r, Спасибо. С функцией вызова dllки разобрался, но вот возникла проблемма с написанием dllлок на Delphi. library Project2; uses SysUtils, Classes; {$R *.res} function Symma(a,b:integer):Integer;stdcall;begin Result :=a+b;end; exports Symma; beginend.Вот код dllки, функция вычисляет сумму 2 чисел, передаваемых ей и возвращает результат. Использование в СЕ. Symma = package.loadlib("D:\\Program Files (x86)\\Cheat Engine 6.4\\Project2.dll", "Symma")res = Symma(1, 2)print(res)Программа сообщает о неопределенной ошибке. Поясните, что нетак!
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.