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

Plugin AA Maker (создание АА скриптов)


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

Just now, Garik66 said:

У меня 3.2.

Но я думаю это не проблема. Ты изложи суть ошибки. как я описал выше постом.

 

Ладно, попробую показать на примере 3.2, посмотрел сейчас, там тоже такую ошибку можно вызвать.
В версии 3.2 по адресу Tutorial-i386.exe+1D0551 расположена инструкция add ah,[edx+00]. Следующая за ней инструкция - lock add ah,[edx+00] и идёт она по адресу Tutorial-i386.exe+1D0554. Если по первой инструкции по адресу Tutorial-i386.exe+1D0551 создать скрипт (например, Injection), который ничего не делает, просто вкл/выкл, то включается он нормально, но вот при выключении первая инструкция возвращается на место где и была по адресу Tutorial-i386.exe+1D0551, а вот вторая встаёт не на Tutorial-i386.exe+1D0554, а на Tutorial-i386.exe+1D0553 и ниже по коду появляются нопы.
Проблема, насколько я понимаю, в том, что при отключении скрипта вместо изначального [edx+00] обратно возвращается [edx] без нулевого офсета (это видно в окне дизассемблера), а поскольку он занимает какую-то длину, то без него происходит сдвиг кода. Проверь на указанных мной адресах и убедишься.

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

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

Ладно, попробую показать на примере 3.2

ОК. Посмотрю. Но уже после перезаписи видео, Первое уже переснял. 

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

Заодно, на всякий случай, если кто надумает проверить эту ошибку на СЕ 6.6, то вот пример для версии туториала 3.3.
адреса:
Tutorial-i386.exe+14F465
Tutorial-i386.exe+14F469
инструкции по ним:
imul ebx,[edx+00],-24
imul ebx,[edx+00],3F
Если по первому адресу Tutorial-i386.exe+14F465 сделать Injection, то после включения и выключения скрипта оба [edx+00] сменятся на [edx], вторая инструкция попадёт на другой адрес, а туториал потом вылетает с ошибкой.

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

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

Заодно, на всякий случай, если кто надумает проверить эту ошибку

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

Если по первому адресу Tutorial-i386.exe+14F465 сделать Injection, то после включения и выключения скрипта оба [edx+00] сменятся на [edx]


У меня нет такой ошибки ни на 6.6 ни на 6.7 Все инъекции(AOB, Code injection, Full injection) отрабатывают вкл/выкл

 

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

Только что, partoftheworlD сказал:


У меня нет такой ошибки ни на 6.6 ни на 6.7 Все инъекции(AOB, Code injection, Full injection) отрабатывают вкл/выкл

 

А версия самого Плагина у тебя какая?

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

Just now, partoftheworlD said:

У меня нет такой ошибки ни на 6.6 ни на 6.7 Все инъекции(AOB, Code injection, Full injection) отрабатывают вкл/выкл

 

Именно по указанным мной адресам и указанным инструкциям в туториалах?

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

Just now, Garik66 said:

И судя по этому ты говоришь не про плагин, а про саму СЕ.

 

Так и я говорил про ошибку СЕ, а не плагина. Может мы не так поняли друг друга. Ошибка проявляется на любой версии плагина (2.4.2 и твоей) и на разных версиях СЕ (6.5.1 и 6.6). Сам плагин невиновен. Я ведь поэтому и спросил, куда отписать,

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

3 часа назад, Foxhound сказал:

P.S. Похоже, я нашёл редкую, но неприятную ошибку в СЕ. Проверил на 6.6.и 6.5.1 - проявляется.

 

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

ак и я говорил про ошибку СЕ,

Понял. Не внимательно посмотрел, Просто что-то подобное описывалось и на СЕ в топике Плагина, но с этим Гугл-переводчиком не до конца понятно.

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

3 часа назад, Foxhound сказал:

Nops на некоторых функциях (на imul, например) вместо создания скрипта выдаёт окно Lua, где написано: Error:Invalid class object.

И ты начинал писать про эту ошибку, мне нужно её будет тоже посмотреть.

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

Ага, я кажется понял, почему может не возникать ошибки. Ошибка появляется, когда в [DISABLE] прописаны именно инструкции. А когда последовательность байт, то ошибки нет. Т.е. если в плагине не поставить галку "Original code in bytes", возникает ошибка.
Но это только мои предположения, слово спецам.

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

Понял в чем баг попробую поискать, при считывании инструкций плагин пропускает нули из-за проверки типа if a ~= nil then которая как мне кажется и отбрасывает нули.  

Как более простое решение предлагаю, вместо оригинальных инструкций восстанавливать её в байтах.

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

2 часа назад, Foxhound сказал:

В версии 3.2 по адресу Tutorial-i386.exe+1D0551 расположена инструкция add ah,[edx+00].

Эта ошибка и у меня сейчас подумаю, как поправить.

 

28 минуты назад, Garik66 сказал:

Error:Invalid class object.

И эта ошибка. Они обе помоему были решены Мастером, судя по тому что я почитал в Топике СЕ, в в.2.4.2.

 

Так что самое простое решение для меня сделать обратный теперь реверс: Взять за основу 2.4.2 и вернуть в неё плюшки из 2.4.0.G66

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

1 минуту назад, partoftheworlD сказал:

Пока такая заплатка, посмотрю завтра внимательней код, возможно поправлю.

А что ты именно добавил, можешь сказать. чтобы посмотреть, потому что я собирался посидеть и потестить сегодня ночью. 

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

18 минуту назад, Garik66 сказал:

А что ты именно добавил, можешь сказать. чтобы посмотреть, потому что я собирался посидеть и потестить сегодня ночью. 

 

766 строка

 

if origCodeType == true then script = string.gsub(script,"->>originalCode", originalBytes)
        else script = string.gsub(script,"->>originalCode", originalCode) end

 

на

if origCodeType == false then script = string.gsub(script,"->>originalCode", originalBytes)
        else script = string.gsub(script,"->>originalCode", originalCode) end

 

т.е теперь если ставим галочку, по стандарту везде задается генерация инструкций, то будет генерироваться инструкция. Завтра посмотрю, как можно будет нормально по фиксить и где плагин нули отбрасывает.

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

Просмотрел весь код, видимо это ошибка CE, даже в обычных скриптах восстанавливаются байты, а не инструкции, если уж так не обходим этот функционал, то восстанавливать байты и писать коментарии к ним.

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

Just now, Garik66 said:

сделать обратный теперь реверс: Взять за основу 2.4.2 и вернуть в неё плюшки из 2.4.0.G66

 

Вооот! Я же сразу просил 2.4.2 допилить. Но мы лёгких путей не ищем, верно? :) Ну, а если без шуток, то большое спасибо за твой труд и отзывчивость.
Если получится, постарайся пожалуйста добавить из своей версии в 2.4.2 увеличение адреса на 1 (вместо неудобного одинакового INJECT) и шаблон aobscan. Всякие 64-битные доработки не прошу, для меня они не актуальны, а вот эти две опции хотелось бы. Ну и баг с одинаковыми символами поправить, по возможности.

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

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

Вооот!

+ к тому что ты написал, я всё таки хочу видеть скрипт "NOP" именно как я его написал (сразу же с аобом), её тоже нужно править. и 64-битные тоже конечно нужны.

 

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

 

10 час назад, Foxhound сказал:

Вооот! Я же сразу просил 2.4.2 допилить.

Из этой идеи ничего хорошего не получилось, вроде бы всё сделал, какие ошибки контролировал исчезли, но появились другие баги. Да и сложно это, количество переменных увеличивается грубо говоря в два раза, так как Мастер в 2.4.2 при переписывании заменил некоторые переменные на другие.

Так что продолжу лучше пилить 2.4.0.G66:

Что сделано, после отказа от "обратного реверса":

Вместо adress теперь 

aobscanmodule(INJECT8,Tutorial-i386.exe+23AC3,81 BB 80 04 00 00 E8 03 00 00)
registersymbol(INJECT8)

с счётчиком конечно. Чтобы было более похоже на СЕ.

 

поправлено это:

В 28.04.2017в11:17, Garik66 сказал:

3.03. При деактивации моего нового скрипта "NOP" не восстанавливается игровой адрес в отладчике, а остаётся название адреса из скрипта.

 

Продолжаю тестить.:D

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

11 час назад, partoftheworlD сказал:

Пока такая заплатка

Дошёл до проверки и этого

Эта заплатка лишает плагин ещё одной опции "Original code in bytes", а это не есть хорошо ибо эта опция тоже фишка Плагина.

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

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

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

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