Жажда Знаний Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Всем Привет. Такая Проблема, никак не получается создать скрипт с идентификатором игрока при открытии нескольких указателей в структуре игрока. Вот скрипт: push ecx mov ecx,dword ptr [edx+40] - указатель mov ecx, dword ptr [edx+b4] - указатель cmp dword ptr [ecx+30],1 // Как правильно записать число 1 что бы скрипт работал Правильно ? Ecx+30 Находится в подструктуре указателя Edx+b4 pop ecx Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Если такой указатель [[[edx+40] + b4] + 30] , то : push ecx mov ecx, dword ptr [edx+40] mov ecx, dword ptr [ecx+b4] cmp [ecx+30],1 pop ecx Хотя лучше выложи полный АА листинг Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 15 минуту назад, partoftheworlD сказал: Если такой указатель [[[edx+40] + b4] + 30] , то : push ecx mov ecx, dword ptr [edx+40] mov ecx, dword ptr [ecx+b4] cmp [ecx+30],1 pop ecx Хотя лучше выложи полный АА листинг Если записать его так то он РАБОТАЕТ ПРАВИЛЬНО push ecx mov ecx,dword ptr [edx+40] - указательcmp byte ptr [ecx+b4] ,0 pop ecx Но как записать скрипт далее если сделать развертывание "b4", то есть продолжить скрипт. Как указать правильное смещение От [ecx+b4] на [ecx +30] ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 (изменено) Ну например если мы будем записывать 1 в В4 по смещению 30 с развернутой структуры В4 то это будет выглядеть так примерно push ecx mov ecx,[edx+40] mov ecx,[edx+b4] cmp ecx,edx pop ecx mov dword ptr [ecx+30],#1 -- Записываем 1 или 100 - 1000 по желанию Да и ты уточнил бы записать тебе надо или сравнить свой-чужой Изменено 8 апреля, 2017 пользователем Dison 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Скрипт для сравнения пытаюсь написать. Единицу пытаюсь вывести для сравнения, не для записи Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 push ecx mov ecx,[edx+40] mov ecx,[edx+b4] cmp dword ptr [ecx+30],1 pop ecx Попробуй так 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 (изменено) Нет, уже пробовал, не выходит. С Lea ничего не выйдет? Изменено 8 апреля, 2017 пользователем Жажда Знаний Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Скинь скрипт то полностью Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Подскажи, как Спойлером пользоваться? Скрывать Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 (изменено) 5 минут назад, Жажда Знаний сказал: Подскажи, как Спойлером пользоваться? Скрывать Скрытый текст Изменено 8 апреля, 2017 пользователем what228 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 (изменено) Да кстате так проще Изменено 8 апреля, 2017 пользователем Dison Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 (изменено) Скрытый текст Изменено 8 апреля, 2017 пользователем Жажда Знаний Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Ты лучше бы текстом скинул а не картинкой, все в ручную вбивать Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Скрытый текст aobscan(Test,8B 42 28 83 F8 00) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: push ecx mov ecx, dword ptr [edx+40] mov ecx, dword ptr [edx+b4] cmp dword ptr [ecx+30],1 pop ecx jne @f mov [edx+28],#20 @@: mov eax,[edx+28] cmp eax,00 jmp return Test: jmp newmem nop return: registersymbol(Test) [DISABLE] Test: db 8B 42 28 83 F8 00 unregistersymbol(Test) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: 0A582204 ""+A5821E1: 83 C4 10 - add esp,10 ""+A5821E4: 8B 4D E4 - mov ecx,[ebp-1C] ""+A5821E7: 85 C0 - test eax,eax ""+A5821E9: 75 2F - jne 0A58221A ""+A5821EB: 8B 4D E0 - mov ecx,[ebp-20] ""+A5821EE: 8D 89 A0 00 00 00 - lea ecx,[ecx+000000A0] ""+A5821F4: 8D 55 F0 - lea edx,[ebp-10] ""+A5821F7: E8 03 FF E0 4E - call "Adobe AIR.dll"+4E20FF ""+A5821FC: 8B 55 E4 - mov edx,[ebp-1C] ""+A5821FF: B9 00 00 00 00 - mov ecx,00000000 // ---------- INJECTING HERE ---------- ""+A582204: 8B 42 28 - mov eax,[edx+28] ""+A582207: 83 F8 00 - cmp eax,00 // ---------- DONE INJECTING ---------- ""+A58220A: 0F 4E C1 - cmovle eax,ecx ""+A58220D: 8B 4D F0 - mov ecx,[ebp-10] ""+A582210: 89 0D 54 B0 32 03 - mov [0332B054],ecx ""+A582216: 8B E5 - mov esp,ebp ""+A582218: 5D - pop ebp ""+A582219: C3 - ret ""+A58221A: 8B 41 28 - mov eax,[ecx+28] ""+A58221D: 8B 4D F0 - mov ecx,[ebp-10] ""+A582220: 89 0D 54 B0 32 03 - mov [0332B054],ecx ""+A582226: 8B E5 - mov esp,ebp } Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 (изменено) Скрытый текст [ENABLE] aobscan(Test,8B 42 28 83 F8 00) // should be unique alloc(newmem,$1000) registersymbol(Test) label(code) label(return) newmem: push ecx mov ecx, dword ptr [edx+40] mov ecx, dword ptr [edx+b4] cmp dword ptr [ecx+30],1 cmp ecx,edx jne @f mov [edx+28],#20 jmp code @@: mov eax,[edx+28] code: pop ecx mov eax,[edx+28] cmp eax,00 jmp return Test: jmp newmem nop return: registersymbol(Test) [DISABLE] Test: db 8B 42 28 83 F8 00 unregistersymbol(Test) dealloc(newmem) Исправил там code лишний стоял, проверь Изменено 8 апреля, 2017 пользователем Dison Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Происходить вылет игры( push ecx mov ecx, dword ptr [edx+40] cmp dword ptr [ecx+b4+30],1 cmp ecx,edx pop ecx Если Попробовать так ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Так тоже не выходит ничего Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 (изменено) Я скрипт скинул ты проверил его? По твоему способу не получится Изменено 8 апреля, 2017 пользователем Dison Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 да проверил, твой и свой , не получается Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 Скрытый текст [ENABLE] aobscan(Test,8B 42 28 83 F8 00) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: push ecx mov ecx, dword ptr [edx+40] mov ecx, dword ptr [edx+b4] cmp dword ptr [ecx+30],1 pop ecx jne @f mov [edx+28],#20 @@: mov eax,[edx+28] cmp eax,00 jmp return Test: jmp code -- Вот тут у тебя прыжок был на newmem, но ты то записывал в code. Поправил проверь nop return: registersymbol(Test) [DISABLE] Test: db 8B 42 28 83 F8 00 unregistersymbol(Test) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 (изменено) Сразу вылет Происходит при Активации. Что ж такое придумать еще. GlobalAlloc на это влияет? Изменено 8 апреля, 2017 пользователем Жажда Знаний Ссылка на комментарий Поделиться на другие сайты Поделиться
Dison Опубликовано 8 апреля, 2017 Поделиться Опубликовано 8 апреля, 2017 А у тебя правильный фильтр? Попробуй возьми по смещению 28 Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 8 апреля, 2017 Автор Поделиться Опубликовано 8 апреля, 2017 Фильтр стоит такой как показывает структура, погляди скрин, на b4 она работает далее при развертывании уже уже ничего не считывается Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения