Foxhound Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Just now, Dison said: скрипт Поясни пожалуйста, в этом месте mov ecx, dword ptr [edx+40] mov ecx, dword ptr [edx+b4] мне не совсем понятно, во второй строке почему [edx+b4], а не [ecx+b4]? Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Ого, да Garik66 твоя версия сработала, только с присваиванием термина Главных указателей ( Dword Ptr) Но Почему именно так, не мог бы объяснить ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 41 минуты назад, Foxhound сказал: Поясни пожалуйста, в этом месте mov ecx, dword ptr [edx+40] mov ecx, dword ptr [edx+b4] мне не совсем понятно, во второй строке почему [edx+b4], а не [ecx+b4]? Потому что с есх не срабатывало, потому пробовал разные варианты Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Только что, Жажда Знаний сказал: Ого, да Garik66 твоя версия сработала, только с присваиванием термина Главных указателей ( Dword Ptr) Но Почему именно так, не мог бы объяснить ? Потому что вы оба с Дисоном косячили в скриптах, посмотри разницу. А Дворды не нужны, так как по умолчанию читаются именно 4 байта Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 3 минуты назад, Жажда Знаний сказал: только с присваиванием термина Главных указателей ( Dword Ptr) Проверь ещё раз, должно работать без Двордов. Коперни по новой скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Да ты Прав, работает. По такому принципу можно любой уровень развертывания Ук вписывать ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 1 минуту назад, Жажда Знаний сказал: Да ты Прав, работает. По такому принципу можно любой уровень развертывания Ук вписывать ? Да Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Спасибо за помощь. Теперь я стал сильнее. Кстати Великий Keng почему то не смог это решить. Сказал что это возможно на другом языке програмирования Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 ЗЫ: Только обрати внимание, я использовал eax так как он "Свободный" - он дальше по коду перезаписывается. Если нету свободного регистра, то обязательно нужно Push/pop(Сохранить регистр перед использованием/восстановить его после использования). Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Только что, Жажда Знаний сказал: Кстати Великий Keng почему то не смог это решить Просто посмотрел второпях скорее всего. Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Мм, не совсем понимаю про свободный регистр, на примере напиши Пожалуйста. Я понимаю так Mov [eax+200],ecx < тут нет свободного регистра? Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Все Уяснил. Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения