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

Как записать скрипт с развернутыми указателями структур


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

Just now, Dison said:

скрипт

 

Поясни пожалуйста, в этом месте
mov ecx, dword ptr [edx+40]
mov ecx, dword ptr [edx+b4]
мне не совсем понятно, во второй строке почему [edx+b4], а не [ecx+b4]?

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

3 часа назад, Жажда Знаний сказал:

Всем Привет. Такая Проблема, никак не получается создать скрипт с идентификатором игрока при открытии нескольких указателей в структуре игрока. Вот скрипт:

push ecx
mov ecx,dword ptr [edx+40] - указатель
mov ecx, dword ptr [edx+b4] - указатель --- Вот смотри edx
cmp dword ptr [ecx+30],1   // Как правильно записать число 1 что бы скрипт работал Правильно ? Ecx+30 Находится в подструктуре указателя Edx+b4
pop ecx

 

В первом посте у тебя ведь указано именно так

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

4 часа назад, Жажда Знаний сказал:

Проблема, никак не получается создать скрипт с идентификатором игрока при открытии нескольких указателей в структуре игрока

Попробуй так:

Скрытый текст

[ENABLE]
aobscan(Test,8B 42 28 83 F8 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Test)

newmem:
  mov eax,[edx+40]
  mov eax,[eax+b4]
  cmp [eax+30],1
  jne code
  mov [edx+28],#20

code:
  mov eax,[edx+28]
  cmp eax,00
  jmp return

Test:
  jmp newmem
  db 90
return:

[DISABLE]
Test:

  db 8B 42 28 83 F8 00
unregistersymbol(Test)
dealloc(newmem)

 

 

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

Ого, да Garik66 твоя версия сработала, только с присваиванием термина Главных указателей ( Dword Ptr) Но Почему именно так, не мог бы объяснить ?

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

41 минуты назад, Foxhound сказал:

 

Поясни пожалуйста, в этом месте
mov ecx, dword ptr [edx+40]
mov ecx, dword ptr [edx+b4]
мне не совсем понятно, во второй строке почему [edx+b4], а не [ecx+b4]?

Потому что с есх не срабатывало, потому пробовал разные варианты

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

Только что, Жажда Знаний сказал:

Ого, да Garik66 твоя версия сработала, только с присваиванием термина Главных указателей ( Dword Ptr) Но Почему именно так, не мог бы объяснить ?

Потому что вы оба с Дисоном косячили в скриптах, посмотри разницу. А Дворды не нужны, так как по умолчанию читаются именно 4 байта

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

3 минуты назад, Жажда Знаний сказал:

только с присваиванием термина Главных указателей ( Dword Ptr)

Проверь ещё раз, должно работать без Двордов. Коперни по новой скрипт.

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

1 минуту назад, Жажда Знаний сказал:

Да ты Прав, работает. По такому принципу можно любой уровень развертывания Ук вписывать ?

 

Да

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

Спасибо за помощь. Теперь я стал сильнее. Кстати Великий Keng почему то не смог это решить. Сказал что это возможно на другом языке програмирования

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

ЗЫ: Только обрати внимание, я использовал eax так как он "Свободный" - он дальше по коду перезаписывается. Если нету свободного регистра, то обязательно нужно Push/pop(Сохранить регистр перед использованием/восстановить его после использования).

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

Мм, не совсем понимаю про свободный регистр, на примере напиши Пожалуйста. Я понимаю так Mov  [eax+200],ecx < тут нет свободного регистра?

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

27 минуты назад, Жажда Знаний сказал:

Мм, не совсем понимаю про свободный регистр, на примере напиши Пожалуйста. Я понимаю так Mov  [eax+200],ecx < тут нет свободного регистра?

Смотри:

Скрытый текст

newmem:
  mov eax,[edx+40]
  mov eax,[eax+b4]
  cmp [eax+30],1
  jne code
  mov [edx+28],#20

code:
  mov eax,[edx+28]    // Здесь eax перезаписывается поэтому используя его, мы ничего не ломаем.
  cmp eax,00
  jmp return

 

 

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

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

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

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