Garik66 Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 (изменено) 2 минуты назад, NullAlex сказал: Используй FindWindow, укажешь заголовок окна и его класс, и при нахождении такого окна - получишь его дескриптор. Дальше тебе останется только получить ID процесса - тут уже используй GetWindowThreadProcessId, с полученным дескриптором. В итоге у тебя будет ID процесса, и дальше к нему подключайся в обычном режиме, а скрипт активируй уже как душе угодно. Garik66 тебе уже предложил вариант. NullAlex я уже сделал ему именно как он хочет в предыдущем сообщении. Изменено 18 июня, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 4 минуты назад, Garik66 сказал: NullAlex я уже сделал ему именно как он хочет в предыдущем сообщении. Когда писал сообщение - не видел. Ну пусть будет, может кому пригодится, и не придется мозг ломать Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 1 минуту назад, NullAlex сказал: Когда писал сообщение - не видел. Ну пусть будет, может кому пригодится, и не придется мозг ломать Не я не к тому, что твоё сообщение не нужно. Чем больше вариантов и информации - всегда лучше. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 18 июня, 2016 Автор Поделиться Опубликовано 18 июня, 2016 (изменено) А МЫСЛЬ Я ИЗЛАГАЛ GARIK66 ПРАВИЛЬНО, Я ДАЖЕ СКРИПТ СДЕЛАЛ, И У КАЗАЛ ТАМ ЧТО БЫ НЕ НАЗВАНИЯ СКАНИРОВАЛО, А СИГНАТУРУ. СПАСИБО ТЕБЕ ОГРОМНОЕ Garik66 ЗА ТРУДЫ СПАСИБО ТЕБЯ NullAlex за помощь, NullAlex но мене эти функции мало о чем говорят я не такой умный в программировании как ты FindWindow GetWindowThreadProcessId Изменено 18 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 8 минут назад, Baracuda сказал: А МЫСЛЬ Я ИЗЛАГАЛ GARIK66 ПРАВИЛЬНО, Я ДАЖЕ СКРИПТ СДЕЛАЛ, И У КАЗАЛ ТАМ ЧТО БЫ НЕ НАЗВАНИЯ СКАНИРОВАЛО, А СИГНАТУРУ. Это тоже понятно, но если прочитать это: "Автоматическое отключения скрипта AA при закрытии игры, " То совсем не понятно, так как перед отключением игры, нужно вначале деактивировать скрипт, иначе "крестик" перед скриптом остаётся. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 18 июня, 2016 Автор Поделиться Опубликовано 18 июня, 2016 (изменено) что то я делаю не так, почему то не запускается автоматически. Изменено 18 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 (изменено) 21 часа назад, Baracuda сказал: что то я делаю не так, почему то не запускается автоматически. А выложить, чтобы посмотреть? Кстати вместо 21 часа назад, Garik66 сказал: "Автоматическое отключения скрипта AA при закрытии игры, " можно автоматически закрыть всю СЕ с таблицей. Скрытый текст function SetStateRecord(ID, state) addressList = getAddressList() memoryRecord = addressList.getMemoryRecordByID(326) memoryRecord.Active = state end timerAutorun = createTimer(nil,true) timerAutorun.Interval = 1000 timerAutorun.OnTimer = function () signatura = AOBScan("8B 84 98 1C 01 00 00") if signatura ~= nil then SetStateRecord("326",true) else if signatura == nil then closeCE() return caFree end end end ЗЫ: тебе в скрипте нужно только подставить ID твоего скрипта (который ты хочешь активировать) и любую сигнатуру для этой игры, (лучше именно из этого скрипта). Короткое видео: по этому скрипту Изменено 19 июня, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 18 июня, 2016 Автор Поделиться Опубликовано 18 июня, 2016 АВТО ВКЛЮЧЕНИЯ СКРИПТА, РАБОТАЕТ ТОЛЬКО С ТАЙМЕРОМ, Я ВОТ Я ТАЙМЕ ДОБАВИЛ, И ВСЁ НОРМАЛЬНО СТАЛО. Скрытый текст function SetStateRecord(description, state) local addressList = getAddressList() local memoryRecord = addressList.getMemoryRecordByDescription(description) memoryRecord.Active = state end local timerAutorun = createTimer(nil, true) timerAutorun.Interval = 1000 timerAutorun.OnTimer = function () signatura = AOBScan("C3 00 00 00 00 48 8D 64 24 D8 C6") if signatura ~= nil then SetStateRecord("Step2", true) end end Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 18 июня, 2016 Автор Поделиться Опубликовано 18 июня, 2016 (изменено) Попробую поискать, по гаг лить, чтобы при закрытии,игры или программы Авто Отключался Скрипт. Изменено 18 июня, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 (изменено) 6 минут назад, Baracuda сказал: Попробую поискать, по гаг лить, чтобы при закрытии,игры или программы Авто Отключался Скрипт. Не парься - не найдёшь. Если только сделать авто пере-подключение СЕ к другому процессу (не игровому, ну например к калькулятору виндовому), при выключении игры, тогда можно будет сделать, а так крестик в таблице так и будет оставаться. Но это уже совсем херня. Зачем это нужно? Изменено 18 июня, 2016 пользователем Garik66 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 ЗЫ: А в способе NullAlex 1 час назад, NullAlex сказал: Используй FindWindow, укажешь заголовок окна и его класс, тоже самое, название окна игры может поменяться в МОДах и Репаках, так как оно скорее всего будет совпадать с названием exe-ника игры. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 18 июня, 2016 Автор Поделиться Опубликовано 18 июня, 2016 Понятно Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 18 июня, 2016 Поделиться Опубликовано 18 июня, 2016 1 час назад, Garik66 сказал: ЗЫ: А в способе NullAlex тоже самое, название окна игры может поменяться в МОДах и Репаках, так как оно скорее всего будет совпадать с названием exe-ника игры. Собственно, ничего не мешает вместо названия окна игры передать NULL, а класс окна уж точно не поменяется. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 2 июня, 2021 Поделиться Опубликовано 2 июня, 2021 (изменено) В 17.06.2016 в 17:46, Garik66 сказал: с автооткрытием процесса игры а если только эту часть Спойлер function SetStateRecord(description, state) local addressList = getAddressList() local memoryRecord = addressList.getMemoryRecordByDescription(description) memoryRecord.Active = state end local timerAutorun = createTimer(nil, true) timerAutorun.Interval = 1000 timerAutorun.OnTimer = function () if (getProcessIDFromProcessName("Tutorial-i386.exe")~=nil) then OpenProcess("Tutorial-i386.exe") SetStateRecord("Step2", true) SetStateRecord("Step3", true) SetStateRecord("Step4", true) SetStateRecord("Step5", true) SetStateRecord("Step6", true) SetStateRecord("Step7", true) SetStateRecord("Step8", true) SetStateRecord("Step9", true) else мне надо этот скрипт Спойлер { Game : SR2_pc.exe Version: Date : 2021-04-26 Author : Pitronic This script does blah blah blah } [ENABLE] aobscanmodule(_deloper_1_,SR2_pc.exe,8B * * * * * DB * * * * * 85 * B3 * 7D) alloc(newmem_deloper_1_,$1000) label(code_deloper_1_) label(return_deloper_1_) label(sutki) label(pogoda) label(explosion) label(onk) label(gravitaciya) label(rostigroka) label(rostpeshehodov) label(racce) label(PlayerMisfires1) label(PlayerMisfires2) label(CarSlaughter1) label(CarSlaughter2) label(AngryCars1) label(AngryCars2) label(Endurance1) label(Endurance2) label(WithoutRecharging1) label(WithoutRecharging2) label(RainOfPedestrians1) label(RainOfPedestrians2) label(ThePedestrianWar1) label(ThePedestrianWar2) label(DrunkPedestrians1) label(DrunkPedestrians2) label(SuperSaints1) label(SuperSaints2) label(EndlessAmmo1) label(EndlessAmmo2) label(TheDeadFlyToTheSky1) label(TheDeadFlyToTheSky2) label(heallth) registersymbol(_deloper_1_) registersymbol(code_deloper_1_) registersymbol(sutki) registersymbol(pogoda) registersymbol(explosion) registersymbol(onk) registersymbol(gravitaciya) registersymbol(rostigroka) registersymbol(rostpeshehodov) registersymbol(racce) registersymbol(PlayerMisfires1) registersymbol(PlayerMisfires2) registersymbol(CarSlaughter1) registersymbol(CarSlaughter2) registersymbol(AngryCars1) registersymbol(AngryCars2) registersymbol(Endurance1) registersymbol(Endurance2) registersymbol(WithoutRecharging1) registersymbol(WithoutRecharging2) registersymbol(RainOfPedestrians1) registersymbol(RainOfPedestrians2) registersymbol(ThePedestrianWar1) registersymbol(ThePedestrianWar2) registersymbol(DrunkPedestrians1) registersymbol(DrunkPedestrians2) registersymbol(SuperSaints1) registersymbol(SuperSaints2) registersymbol(EndlessAmmo1) registersymbol(EndlessAmmo2) registersymbol(TheDeadFlyToTheSky1) registersymbol(TheDeadFlyToTheSky2) registersymbol(heallth) newmem_deloper_1_: push eax mov edx,[code_deloper_1_+2] fld [rostigroka] fstp [edx+139831C] fld [rostpeshehodov] fstp [edx+1398318] fld [explosion] fstp [edx+1398314] fld [gravitaciya] fstp [edx+1398324] cmp [sutki],#1 jne @f mov [edx],#1074000000 mov [sutki],#0 jmp code_deloper_1_ @@: cmp [sutki],#2 jne @f mov [edx],#2148000000 mov [sutki],#0 jmp code_deloper_1_ @@: cmp [sutki],#3 jne @f mov [edx],#3222000000 mov [sutki],#0 jmp code_deloper_1_ @@: cmp [sutki],#4 jne @f mov [edx],#0 mov [sutki],#0 jmp code_deloper_1_ cmp [pogoda],#0 jne @f mov [edx+11186E0],#0 jmp code_deloper_1_ // гнев бога @@: cmp [pogoda],#1 jne @f mov [edx+11186E0],#296053440 mov [pogoda],#0 jmp code_deloper_1_ // пасмурная погода @@: cmp [pogoda],#2 jne @f mov [edx+11186E0],#296053008 mov [pogoda],#0 jmp code_deloper_1_ // ливень @@: cmp [pogoda],#3 jne @f mov [edx+11186E0],#296053440 mov [pogoda],#0 jmp code_deloper_1_ // летний дождь @@: cmp [pogoda],#4 jne @f mov [edx+11186E0],#296052792 mov [pogoda],#0 jmp code_deloper_1_ // чистое небо @@: cmp [pogoda],#5 jne @f mov [edx+11186E0],#296052360 mov [pogoda],#0 jmp code_deloper_1_ @@: cmp [onk],#1 jne @f mov [edx+1398310],(float)6 mov [edx+139832C],(float)11 mov [edx+1398330],(float)22 jmp code_deloper_1_ @@: cmp [onk],#0 jne @f mov [edx+1398310],(float)0 mov [edx+139832C],(float)0 mov [edx+1398330],(float)0 jmp code_deloper_1_ code_deloper_1_: // mov edx,[SR2_pc.exe+100E734] readmem(_deloper_1_,6) pop eax jmp return_deloper_1_ sutki: dd 0 pogoda: dd 0 explosion: dd (float)0 onk: dd 0 gravitaciya: dd (float)0 rostigroka: dd (float)1 rostpeshehodov: dd (float)0 racce: dd 0 // Осечки Игрока PlayerMisfires1: dd 0 PlayerMisfires2: dd 0 // Резня Машин CarSlaughter1: dd 0 CarSlaughter2: dd 0 // Злые Тачки AngryCars1: dd 0 AngryCars2: dd 0 // Выносливость Endurance1: dd 0 Endurance2: dd 0 // Без Перезарядки WithoutRecharging1: dd 0 WithoutRecharging2: dd 0 // Дождь Пешеходами RainOfPedestrians1: dd 0 RainOfPedestrians2: dd 0 // Война Пешеходов ThePedestrianWar1: dd 0 ThePedestrianWar2: dd 0 //Пьяные Пешеходы DrunkPedestrians1: dd 0 DrunkPedestrians2: dd 0 // Супер Святые SuperSaints1: dd 0 SuperSaints2: dd 0 // Бесконечные Боеприпасы EndlessAmmo1: dd 0 EndlessAmmo2: dd 0 // Мёртвые Улетают На Небо TheDeadFlyToTheSky1: dd 0 TheDeadFlyToTheSky2: dd 0 heallth: dd 0 _deloper_1_: jmp newmem_deloper_1_ db 90 return_deloper_1_: [DISABLE] _deloper_1_: // db 8B 15 34 E7 40 01 readmem(code_deloper_1_,6) unregistersymbol(_deloper_1_) unregistersymbol(code_deloper_1_) unregistersymbol(sutki) unregistersymbol(pogoda) unregistersymbol(rostigroka) unregistersymbol(rostpeshehodov) unregistersymbol(explosion) unregistersymbol(onk) unregistersymbol(heallth) unregistersymbol(gravitaciya) unregistersymbol(rostigroka) unregistersymbol(rostpeshehodov) unregistersymbol(racce) unregistersymbol(PlayerMisfires1) unregistersymbol(PlayerMisfires2) unregistersymbol(CarSlaughter1) unregistersymbol(CarSlaughter2) unregistersymbol(AngryCars1) unregistersymbol(AngryCars1) unregistersymbol(Endurance1) unregistersymbol(Endurance2) unregistersymbol(WithoutRecharging1) unregistersymbol(WithoutRecharging2) unregistersymbol(RainOfPedestrians1) unregistersymbol(RainOfPedestrians2) unregistersymbol(ThePedestrianWar1) unregistersymbol(ThePedestrianWar2) unregistersymbol(DrunkPedestrians1) unregistersymbol(DrunkPedestrians2) unregistersymbol(SuperSaints1) unregistersymbol(SuperSaints2) unregistersymbol(EndlessAmmo1) unregistersymbol(EndlessAmmo2) unregistersymbol(TheDeadFlyToTheSky1) unregistersymbol(TheDeadFlyToTheSky2) unregistersymbol(heallth) dealloc(newmem_deloper_1_) { // ORIGINAL CODE - INJECTION POINT: SR2_pc.exe.text+A9DFB SR2_pc.exe.text+A9DD2: B9 09 00 00 00 - mov ecx,00000009 SR2_pc.exe.text+A9DD7: 8D 74 24 6C - lea esi,[esp+6C] SR2_pc.exe.text+A9DDB: 8D 7C 24 48 - lea edi,[esp+48] SR2_pc.exe.text+A9DDF: 89 5C 24 1C - mov [esp+1C],ebx SR2_pc.exe.text+A9DE3: F3 A5 - repe movsd SR2_pc.exe.text+A9DE5: 8B 75 08 - mov esi,[ebp+08] SR2_pc.exe.text+A9DE8: 83 FE FF - cmp esi,-01 SR2_pc.exe.text+A9DEB: 0F 84 C7 02 00 00 - je SR2_pc.exe.text+AA0B8 SR2_pc.exe.text+A9DF1: 80 7D 0C 01 - cmp byte ptr [ebp+0C],01 SR2_pc.exe.text+A9DF5: 0F 85 81 02 00 00 - jne SR2_pc.exe.text+AA07C // ---------- INJECTING HERE ---------- SR2_pc.exe.text+A9DFB: 8B 15 34 E7 40 01 - mov edx,[SR2_pc.exe+100E734] // ---------- DONE INJECTING ---------- SR2_pc.exe.text+A9E01: DB 05 34 E7 40 01 - fild dword ptr [SR2_pc.exe+100E734] SR2_pc.exe.text+A9E07: 85 D2 - test edx,edx SR2_pc.exe.text+A9E09: B3 01 - mov bl,01 SR2_pc.exe.text+A9E0B: 7D 06 - jnl SR2_pc.exe.text+A9E13 SR2_pc.exe.text+A9E0D: D8 05 D8 BF E5 00 - fadd dword ptr [SR2_pc.exe.rdata+A3FD8] SR2_pc.exe.text+A9E13: DC 0D 30 C0 E5 00 - fmul qword ptr [SR2_pc.exe.rdata+A4030] SR2_pc.exe.text+A9E19: 8B 4D 48 - mov ecx,[ebp+48] SR2_pc.exe.text+A9E1C: 85 C9 - test ecx,ecx SR2_pc.exe.text+A9E1E: D9 5C 24 10 - fstp dword ptr [esp+10] SR2_pc.exe.text+A9E22: 7C 3A - jl SR2_pc.exe.text+A9E5E } чтоб сам включался только с одним универсальным Step чтоб во все любые скрипты такие вставить и они автоматический активировались. а отключать не обязательно, отключать и включать через флаги можно. Возожно так? Это мне нужно для так называемого скрипта Активировать трейнер. Чтоб на одну гарячую клавишу меньше, и ушла необходимость объединять скрипты. Очень надо! Пожалуйста. Изменено 2 июня, 2021 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 3 июня, 2021 Поделиться Опубликовано 3 июня, 2021 9 часов назад, Pitronic сказал: mov [edx+1398310],(float)0 Что то какая то не логичная бессмыслица.... Строчку с адресом пропускаешь в поиске места... "8B 15 34 E7 40 01" а во что (что то пишешь) не далеко от адреса то ушло. И если уж будет другая версия игры, то во что ты пишешь, явно будет другим, а это вылет. Далее следуют комментарии, мол игра то вылетает (при активации той или иной функции) , а ты сиди и думай, почему это происходит А ответ прост: другая версия игры. Так что смысла в пропуске aobscan байт - ну просто нет, и меньше будет проблем. Уж лучше пусть не работает, чем вылетает. Или же я ошибаюсь, а ты уже проверил и учел этот момент и всё работает ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 3 июня, 2021 Поделиться Опубликовано 3 июня, 2021 11 часов назад, Pitronic сказал: чтоб сам включался только с одним универсальным Step чтоб во все любые скрипты такие вставить и они автоматический активировались А в чём проблема? Бери, да вставляй. Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 3 июня, 2021 Поделиться Опубликовано 3 июня, 2021 (изменено) 1 час назад, LIRW сказал: всё работает ? Всё работает, уже трейнер на форуме залит, ты же сам в нужный раздел его оформлял. мне просто было нужно на будуюшее чтоб не писать все скрипты в один, а все сразу и чтоб автоматом активировались когда игра запущена. Изменено 3 июня, 2021 пользователем Pitronic Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 3 июня, 2021 Поделиться Опубликовано 3 июня, 2021 В 18.06.2016 в 12:56, Garik66 сказал: Скрипт: этот скрипт срабатывает только при нажатии кнопочки поддтвердить, в трейнере этого не сделаешь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 4 июня, 2021 Поделиться Опубликовано 4 июня, 2021 14 часов назад, Pitronic сказал: этот скрипт срабатывает только при нажатии кнопочки поддтвердить, в трейнере этого не сделаешь. Как это не сделаешь? Еще как сделаешь. Что мешает тебе этот скрипт стриггерить при показе формы трейнера? Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 4 июня, 2021 Поделиться Опубликовано 4 июня, 2021 (изменено) 1 час назад, Xipho сказал: стриггерить при показе формы трейнера А как это реализовать? Что в луа дописать надо? Изменено 4 июня, 2021 пользователем Pitronic исправление грам ошибок Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 4 июня, 2021 Поделиться Опубликовано 4 июня, 2021 34 минуты назад, Pitronic сказал: А как это реализовать? А что ты всё хочешь сделать я не пойму активировать же трейнер можно и клавишу.. Или что ты конкретно задумал в кратце ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 4 июня, 2021 Поделиться Опубликовано 4 июня, 2021 Только что, LIRW сказал: А что ты всё хочешь сделать я не пойму само активацию чтоб без клавиши Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 4 июня, 2021 Поделиться Опубликовано 4 июня, 2021 Всё разобрался, его надо не в таблицу а в само луа писать, работает! Вот сюда. Спойлер Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 4 июня, 2021 Поделиться Опубликовано 4 июня, 2021 6 часов назад, Pitronic сказал: А как это реализовать? Что в луа дописать надо? Надо дописать код, который сработает на событие открытия формы трейнера, и в этом коде прописать активацию того скрипта, который автоматически активирует те твои "активационные скрипты". Ссылка на комментарий Поделиться на другие сайты Поделиться
Pitronic Опубликовано 5 июня, 2021 Поделиться Опубликовано 5 июня, 2021 15 часов назад, Xipho сказал: Надо дописать код, Я уже нашёл как реализовать, Уже здесь ответил. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения