gmz Опубликовано 2 февраля, 2016 Поделиться Опубликовано 2 февраля, 2016 (изменено) тогдааа... это будет выглядеть так:push 0x71 ;VK_F2call [GetAsyncKeyState]cmp [kOptionA+1],ahjz @fmov [kOptionA+1],ahtest ah,ahjz @fcmp [kOptionA],0jnz kkk1push 0push 1push 0push 0x4B ;Kcall [keybd_event]push 0push 2push 0push 0x4B ;Kcall [keybd_event]mov [kOptionA],1jmp @fkkk1:push 0push 1push 0push 0x45 ;Ecall [keybd_event]push 0push 2push 0push 0x45 ;Ecall [keybd_event]mov [kOptionA],0@@:kOptionA это db 0,0 Изменено 2 февраля, 2016 пользователем NullAlex 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 2 февраля, 2016 Автор Поделиться Опубликовано 2 февраля, 2016 kOptionA это db 0,0я так не могу, в случае пользователя, это конкретный статичный адрес.и потом возможно, что будет так:условие 1 - клавиша Аусловие 2 - клавиша Б Т.е. в игре будет допустим так 1,1, что ещё, 2, 1, 2, 2, что ещё. Т.е. нужно программное одноразовое нажатие на клавиши. А, А, ненажимаем, Б, А. Б, Б, не нажимаем. Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 2 февраля, 2016 Поделиться Опубликовано 2 февраля, 2016 так оно и было в пред. посл. куске кода. возможно там надо +1 cmp для блок след. нажатий когда игра не сразу меняет "условие" Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 2 февраля, 2016 Автор Поделиться Опубликовано 2 февраля, 2016 (изменено) пред. посл. куске кодаТы про этот? Если про него, то я его пока не тестил, думаю как его приспособить под нужды игры. я писал уже, что в игре kOptionA это статичный адрес. Я понял что нужно сделать флаг, отдельный. Вот сейчас сижу и думаю как это сделать. Вот я тормоз, второй флаг и всё работает. Попозже выложу результат. gmz, может в курсе, с чем может быть связан глюк:Когда писал скрипт строчка call keybd_event компилировалась СЕ.А теперь, если копирнуть скрипт и в новой таблице его попробовать добавить, строчка не компилируется. Как и обещал выкладываю скрипт, он работает у пользователя в игре:Но с ним какие-то странные глюки - он не хочет теперь компилироваться СЕ, если создать новую таблицу и в неё вставить скрипт.Предположение почему не компилирует СЕ, чтобы не повторятся здесь.{ Game : ePSXe ENG.exe Version: Date : 2016-02-02 Author : User This script does blah blah blah}[ENABLE]aobscan(INJECT,88 1C 08 81 E2 FC FF 1F 00) // should be uniquealloc(newmem,$1000)label(code)label(code1)label(return)label(flagUp)registersymbol(INJECT)newmem: cmp [00A47010],1 jne code1 cmp [flagUp],0 jne code1 pushad push 0 push 0 push 0 push #36 // Home call keybd_event push 0 push 2 push 0 push #36 call keybd_event mov [flagUp],1 popad jmp codecode1: cmp [00A47010],0 jne code cmp [flagUp],1 jne code pushad push 0 push 0 push 0 push #35 // End call keybd_event push 0 push 2 push 0 push #35 call keybd_event mov [flagUp],0 popadcode: mov [eax+ecx],bl and edx,001FFFFC jmp returnflagUp:dd 0INJECT: jmp newmem nop nop nop nopreturn:[DISABLE]INJECT: db 88 1C 08 81 E2 FC FF 1F 00unregistersymbol(INJECT)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: 02C802B402C8028B: 81 FA 00 00 80 1F - cmp edx,1F80000002C80291: 74 62 - je 02C802F502C80293: 8B 0D 84 0A 51 00 - mov ecx,["ePSXe ENG.exe"+110A84]02C80299: F7 C1 00 00 01 00 - test ecx,1000002C8029F: 75 53 - jne 02C802F402C802A1: 8B C8 - mov ecx,eax02C802A3: 89 C2 - mov edx,eax02C802A5: C1 E9 10 - shr ecx,1002C802A8: 25 FF FF 00 00 - and eax,0000FFFF02C802AD: 8B 0C 8D 40 AF 82 00 - mov ecx,[ecx*4+"ePSXe ENG.exe"+42AF40]// ---------- INJECTING HERE ----------02C802B4: 88 1C 08 - mov [eax+ecx],bl02C802B7: 81 E2 FC FF 1F 00 - and edx,001FFFFC// ---------- DONE INJECTING ----------02C802BD: BB 20 00 E9 02 - mov ebx,02E9002002C802C2: 03 DA - add ebx,edx02C802C4: 8B 03 - mov eax,[ebx]02C802C6: 3D 40 00 C8 02 - cmp eax,02C8004002C802CB: 75 01 - jne 02C802CE02C802CD: C3 - ret02C802CE: B8 40 00 C8 02 - mov eax,02C8004002C802D3: 8B 0C 10 - mov ecx,[eax+edx]02C802D6: B8 20 00 12 03 - mov eax,0312002002C802DB: 8B 04 10 - mov eax,[eax+edx]} Изменено 2 февраля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 февраля, 2016 Автор Поделиться Опубликовано 3 февраля, 2016 (изменено) почему не компилирует СЕ и как мне удалось сделать этот скрипт - ответ Изменено 4 февраля, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения