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

Delphi AOBScan с маской


Рекомендуемые сообщения

Ребята такой вопрос...
Почему если искать сигнатуру так:

var poisk: array of byte;constmask = 'xxxxxxxxx';beginsetLength(poisk, 9);  poisk[0] := $xx ; poisk[1] := $xx ; poisk[2] := $xx ; poisk[3] := $xx ; poisk[4] := $xx ; poisk[5] := $xx ; poisk[6] := $xx ; poisk[7] := $xx ; poisk[8] := $xx ; poisk[9] := $xx ; // p.s. xx - какойто байт.m_Sign := ScanSignature(integer(module.modBaseAddr), $7fffffff, @poisk, Mask);end;

то сканер ничего не находит?

А если искать так: 

constmask = 'xxxxxxxxx';poisk: array [0..9] of byte =  ($xx, $xx, $xx, $xx, $xx, $xx, $xx, $xx, $xx, $xx); // xx - какой то байтbeginm_Sign := ScanSignature(integer(module.modBaseAddr), $7fffffff, @poisk, Mask);end;

То сигнатура найдется.

Почему через динамический массив не хочет искать?

Ссылка на комментарий
Поделиться на другие сайты

Ребят, ну помогите, я уже как только не пробовал передавать динамический массив, не ищет его и все.

function ScanSignature(base: Cardinal; size: Cardinal; sign: PByte; mask: PAnsiChar): integer;

функция принимает PByte, но как? Мы же массив передаем...
Пробовал и так 

poisk[0] := PByte($xx);

Не получается.

Ссылка на комментарий
Поделиться на другие сайты

PByte - это pointer to Byte. То есть, указатель на однобайтовое значение. В С++ тип легко привести к массиву байт, он более либерален к типам. В Делфи тебе, скорее всего, нужно передать как Array of char или что-то в этом духе.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Всем привет ремята в этой теме вы скинули исходник трейнера на делпхи там есть модуль TScanner у меня вопрос не можете ли вы мне дать исходник этого модуля пожалуйста ? 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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