

X86Jumps
Пользователи+-
Постов
122 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент X86Jumps
-
скрипт автоматического нажатия кнопки numpad6 для версии 1.5.2 (4d - клавиша numpad6 в кодах dinput) для версии 1.7.0
-
у тебя скрипт там есть вместо doKey или doKeyPress пиши writeBytes(0x0050F0C0+0xc8,1) c8 я для примера набрал, это Arrow Up потом у тебя sleep идет и уже keyUp, вместо его writeBytes(0x0050F0C0+0xc8,0) примерно так (1 раз) writeBytes(0x0050F0C0+0xc8,1) sleep(100) writeBytes(0x0050F0C0+0xc8,0) 2 раза writeBytes(0x0050F0C0+0xc8,1) sleep(100) writeBytes(0x0050F0C0+0xc8,0) sleep(100) writeBytes(0x0050F0C0+0xc8,1) sleep(100) writeBytes(0x0050F0C0+0xc8,0)
-
для версии 1,7,0 iDirectInputDevice GetDeviceState возвращает данные в стек, а потом копирует в 0050F0C0 данные в этом случае - массив 256 байт, коды кнопок не VK как в винде, а DirectInput keyboard scan codes http://www.flint.jp/misc/?q=dik&lang=en например установка в 1 байта 0050F0C0+C8 даст эмуляцию нажатия Up arrow (DIK_UP) пока так, если покопаться можно понять как кнопки конвертируются в кнопки пада (в текущей конфигурации)
-
нашел в программе где вызывается? дальше результат куда сохраняет?обычно результат в eax, после вызова но для подобных функций (COM) обычно это один из параметров https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.directinput8create(v=vs.85).aspx тут он 4й будет, в коде он будет 3 параметров (параметры от конца к началу идут) у меня в версии 1,5,2 типа такого есть ePSXe.exe+E05B - E8 80900200 - call ePSXe.exe+370E0 { ->->DINPUT.DirectInputCreateA } ePSXe.exe+E060 - 8B F8 - mov edi,eax
-
там нет никаких параметров?если просто ярлыком то CreateProcess работал бы
-
я когда разбирался как ре5 запускается из стима (потому что напрямую ошибку давал) вроде понял что устанавливается в оурежении чтото и еще что то
-
именно в ePsxe я еще давно пробовал не работало всякие там SendInput,doKeyDown,KeyDown там не долго искать, через поиск кода ищи вызов этой функции (ищи call DirectInput8Create)
-
он про стим ничего не говорил вроде
-
ну запустить ePsxe, открыть дизасемблер и там в enumerate dll чего то, поищи что то из DirectInput8Input посмотри где она вызывается в коде и смотри куда сохраняется
-
найти уже созданную проверяя где создается через DirectInput8Create
-
в ePSXe точно кажется через AutoIt не работало нажатие, скорее всего те 2 функции в CE тоже не помогут нужно ловить DirectInput
-
я находил функцию, которая возвращает нужный указатель по строке там ничего не выделяется, потому что все данные уже есть cSetItemInfo созданы уже были на каждый объект (бочки, зомби)
-
ну я же с чего-то должен был начать, нужна была зацепка в файлах спавна (.lot) указаны именно названия моделей, поэтому можно использовать хотя там же рядом есть вызов функции, которая по названию модели, вернула бы нужный указатель (который я вставлял)
-
точно не работает?может надо чтоб numpad включен был?
-
какой способ?)возможно тут сложнее чем в некоторых играх) потому что когда я спавню их (зомби), то они мне не дают ничего у них где то там еще инфа лежит о том, что примерно выпадает для ознакомительного видео я думаю хватит и того что есть это я еще не полез рассказывать про файлы .lot и еще другое) в первом видео я не сразу понял почему они были в начале на уровне головы там edi это CameraCtrl, поэтому у меня на видео они выше были чем голова
-
а ярлыком как запускается игра?
-
Записал видео в какой-то степени обучающего видео о том, как можно сделать спавн объектов и зомби. Сначала определяется как создаются объекты в игре, потом пытаемся воспроизвести спавн Так же используется condition breakpoint для отладки информации и еще некоторые возможности Cheat Engine (первое видео было записано 9 декабря 2017 года, второе - 24 декабря 2017 года) Видео 1 и скрипт к нему: Видео 2 и скрипт к нему:
-
создают D3DDevice снова и удаляют))
-
если задача просто чтоб [не] выполнился переход то не нужно знать адрес а так вопрос вообще не понятен
-
08778ED4 это адрес меняется? если он постоянно меняется то смотреть надо кто туда записывает и определить это защита такая что ли?
-
т.е. снимать один бряк и ставить следующий? странно что это получается быстрее чем lua функцией))