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

флаги на не однократное исполнение


Stigmaer

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

Посмотрел видео про флаги однократное исполнение у Hipho.

Спойлер

 

Только в моём скрипте, мне нужно почти такое же но иначе, вот скрипт

Спойлер

{ Game   : StarDefender3.exe
  Version: 
  Date   : 2019-01-18
  Author : Stigmaer

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(ammo,StarDefender3.exe,8B 50 2C 8B 45 08) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [eax+2C],7

code:
  mov edx,[eax+2C]
  mov eax,[ebp+08]
  jmp return

ammo:
  jmp newmem
  nop
return:
registersymbol(ammo)

[DISABLE]

ammo:
  db 8B 50 2C 8B 45 08

unregistersymbol(ammo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "StarDefender3.exe"+7F58D

"StarDefender3.exe"+7F57C: CC                 -  int 3 
"StarDefender3.exe"+7F57D: CC                 -  int 3 
"StarDefender3.exe"+7F57E: CC                 -  int 3 
"StarDefender3.exe"+7F57F: CC                 -  int 3 
"StarDefender3.exe"+7F580: 55                 -  push ebp
"StarDefender3.exe"+7F581: 8B EC              -  mov ebp,esp
"StarDefender3.exe"+7F583: 51                 -  push ecx
"StarDefender3.exe"+7F584: 89 4D FC           -  mov [ebp-04],ecx
"StarDefender3.exe"+7F587: 8B 45 FC           -  mov eax,[ebp-04]
"StarDefender3.exe"+7F58A: 8B 48 28           -  mov ecx,[eax+28]
// ---------- INJECTING HERE ----------
"StarDefender3.exe"+7F58D: 8B 50 2C           -  mov edx,[eax+2C]
"StarDefender3.exe"+7F590: 8B 45 08           -  mov eax,[ebp+08]
// ---------- DONE INJECTING  ----------
"StarDefender3.exe"+7F593: 89 08              -  mov [eax],ecx
"StarDefender3.exe"+7F595: 89 50 04           -  mov [eax+04],edx
"StarDefender3.exe"+7F598: 8B 45 08           -  mov eax,[ebp+08]
"StarDefender3.exe"+7F59B: 8B E5              -  mov esp,ebp
"StarDefender3.exe"+7F59D: 5D                 -  pop ebp
"StarDefender3.exe"+7F59E: C2 04 00           -  ret 0004
"StarDefender3.exe"+7F5A1: CC                 -  int 3 
"StarDefender3.exe"+7F5A2: CC                 -  int 3 
"StarDefender3.exe"+7F5A3: CC                 -  int 3 
"StarDefender3.exe"+7F5A4: CC                 -  int 3 
}

В общем где mov [eax+2C],7

мне нужно значение не только 7, а значение от 1 до 7, если выбрал 1, значит mov [eax+2C],1, а если выбрал 7, 1 отменяется 7 применяется, и так далее заранее благодарю.

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

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

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

7 часов назад, Stigmaer сказал:

мне нужно значение не только 7, а значение от 1 до 7

 

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

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

 

До редактирования сообщения в топике было вот так. Расскажи мне, как я должен был понять, что тебе нужно, если ты не можешь объяснить это? Чтение мыслей и магия запрещены вне Хогвартса.

 

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

мне умный человек на форуме сказал что этот форум для того чтоб учиться. 

 

Учиться пользоваться поисковыми системами? Если да, то ты ошибся форумом, здесь обучают тех, кто хочет учится и что-то делает, а не высасывает информацию по вопросу из пальца.

 

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

а минус ты зря

 

Разве? Подобный вопрос не однократно поднимался по форуме, что мешает воспользоваться поиском по форуму?

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

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

Разве? Подобный вопрос не однократно поднимался по форуме,

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

И для чего же форум если не учиться? И как у читься если не спрашивать?

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

8 часов назад, Stigmaer сказал:

мне нужно значение не только 7, а значение от 1 до 7, если выбрал 1, значит mov [eax+2C],1, а если выбрал 7, 1 отменяется 7 применяется, и так далее заранее благодарю.

Ты не в ту степь пошел.

Тебе не нужны флаги на разовое исполнение.

вот попробуй

На всякий случай и скрипт: 

Спойлер

{ Game   : StarDefender3.exe
  Version:
  Date   : 2019-01-18
  Author : Stigmaer

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(ammo,StarDefender3.exe,8B 50 2C 8B 45 08) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(Skoko_Nuzno)
registersymbol(Skoko_Nuzno)
registersymbol(ammo)

newmem:
  push [Skoko_Nuzno]
  pop [eax+2C]

code:
  mov edx,[eax+2C]
  mov eax,[ebp+08]
  jmp return

Skoko_Nuzno:    // по умолчанию будет 1, в табличке меняй на что угодно
  dd 1

ammo:
  jmp newmem
  db 90
return:

[DISABLE]
ammo:
  db 8B 50 2C 8B 45 08

unregistersymbol(Skoko_Nuzno)
unregistersymbol(ammo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "StarDefender3.exe"+7F58D

"StarDefender3.exe"+7F57C: CC                 -  int 3
"StarDefender3.exe"+7F57D: CC                 -  int 3
"StarDefender3.exe"+7F57E: CC                 -  int 3
"StarDefender3.exe"+7F57F: CC                 -  int 3
"StarDefender3.exe"+7F580: 55                 -  push ebp
"StarDefender3.exe"+7F581: 8B EC              -  mov ebp,esp
"StarDefender3.exe"+7F583: 51                 -  push ecx
"StarDefender3.exe"+7F584: 89 4D FC           -  mov [ebp-04],ecx
"StarDefender3.exe"+7F587: 8B 45 FC           -  mov eax,[ebp-04]
"StarDefender3.exe"+7F58A: 8B 48 28           -  mov ecx,[eax+28]
// ---------- INJECTING HERE ----------
"StarDefender3.exe"+7F58D: 8B 50 2C           -  mov edx,[eax+2C]
"StarDefender3.exe"+7F590: 8B 45 08           -  mov eax,[ebp+08]
// ---------- DONE INJECTING  ----------
"StarDefender3.exe"+7F593: 89 08              -  mov [eax],ecx
"StarDefender3.exe"+7F595: 89 50 04           -  mov [eax+04],edx
"StarDefender3.exe"+7F598: 8B 45 08           -  mov eax,[ebp+08]
"StarDefender3.exe"+7F59B: 8B E5              -  mov esp,ebp
"StarDefender3.exe"+7F59D: 5D                 -  pop ebp
"StarDefender3.exe"+7F59E: C2 04 00           -  ret 0004
"StarDefender3.exe"+7F5A1: CC                 -  int 3
"StarDefender3.exe"+7F5A2: CC                 -  int 3
"StarDefender3.exe"+7F5A3: CC                 -  int 3
"StarDefender3.exe"+7F5A4: CC                 -  int 3
}

 

 

 

For_Stigmaer_190119.CT

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

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

скрипт

 

объясни пожалуйста  в какой  момент  сработает метка Skoko_Nuzno  где стоит dd 1 ?
ammo  прыгает на newmem  потом идет метка code , а птотом  прыгает на  return  через  метку Skoko_Nuzno . не понятно  когда в  метке Skoko_Nuzno  будет 1

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

2 минуты назад, Alex2411 сказал:

не понятно  когда в  метке Skoko_Nuzno  будет 1

При активированном скрипте в метке будет всегда 1, пока не поменяешь значение в табличке 

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

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

При активированном скрипте в метке будет всегда 1, пока не поменяешь значение в табличк

 

это я знаю . мне  не понятно в какой момент  там появиться 1 . и не понятно  почему появиться когда все прыжки  идут мимо  этой метки

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

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

почему

я сейчас кушаю, а потом спать. Отвечу завтра.

А без шуток все просто

Skoko_Nuzno:   
  dd 1

мы записали в адрес [Skoko_Nuzno] еденичку и при обращении к [Skoko_Nuzno] в нем всегда будет 1

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

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

мы не записали в адрес [Skoko_Nuzno] еденичку и при обращении к [Skoko_Nuzno] в нем всегда будет 1

 

 

ты не понял .   мы говорим не про то . я знаю  что там  будет 1 . мне  не понятно когда  как и  почему она  там появиться .
скрипт  находит  аоб . аоб  указывает  на amm0 . ammo  прыгает  на newmem .  newmem переходит  на code .  code  прыгает  на return . return  уходит назад . получаеться такой путь . на  пути нет  метки Skoko_Nuzno .  тогда почему  там появляеться 1 ?
еще  мне не понятно  когда там появляеться 1 . раньше  чем сработает  путь скрипта или  позже ?

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

1 час назад, JustHack сказал:

Он таким не родился.

Какие тебе 50? Ты только недавно, со своим братом, в догонялки бегал играл по всему форуму.

Вот так и учиться, искать, читать и понимать. А не просить, чтобы тебя с ложечки кормил весь форум.

И да, ты же вроде сказал

Чего вернулся то?

Я 66 6 года а с братом мы блезнецы

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

13 минут назад, Alex2411 сказал:

мне  не понятно когда  как и  почему она  там появиться .

Тебя смущает что она у меня в скрипте находится где-то внизу?
Поставь эту директиву наверх к lable.
Если снова не понятно, может почитаешь немного: ТЫК

12 минут назад, Stigmaer сказал:

Я 66

Вот и не обращай на нашу звездную молодежь внимания. А для амнистии минуса я тебе плюс за один пост в этом теме поставлю. :D

 

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

Так.

Ветеранам форума:

        Прекратите лить желчь по поводу тех, кто только начал учиться, и, возможно, задает глупые вопросы, ответы на которые для нас, продвинутых, вполне очевидны. Форум для обучения, так помогайте обучаться, а не посылайте по каждому вопросу в гугл. Безусловно, когда человек не хочется учиться, но хочет сразу готовое - это не к нам. Но когда человек хочется учиться и ему непонятны какие-то моменты - помогите, объясните. Не зря вы разработчики и помогаторы.

 

Новичкам форума, желающим чему-то научиться:

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

 

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

Я все сказал. Спасибо за внимание.

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

23 минуты назад, Xipho сказал:
24 минуты назад, Xipho сказал:

Так.

Ветеранам форума:

Спасибо что поддержал

 

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

На всякий случай и скрипт: 

скрипт работает как надо, я там 7 горячих  клавиш назначил от1 до 7

1 час назад, Garik66 сказал:

Вот и не обращай

Спасибо за поддержку

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

4 часа назад, Garik66 сказал:

Тебя смущает что она у меня в скрипте находится где-то внизу?
Поставь эту директиву наверх

 

я понял
второй вопрос  объясни пожалуйста .  в Skoko_Nuzno  появляеться 1 всегда  раньше  чем сработает  путь скрипта ?
у тебя  в скрипте push [Skoko_Nuzno] . когда он сработает  в Skoko_Nuzno уже обязятельно  будет 1 ? может так  получиться  что в стек попадет  не 1 , а что то другое  потому  что push  сработает раньше ?

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

2 минуты назад, Alex2411 сказал:

второй вопрос  объясни пожалуйста .  в Skoko_Nuzno  появляеться 1 всегда  раньше  чем сработает  путь скрипта ?

ДА

2 минуты назад, Alex2411 сказал:

когда он сработает  в Skoko_Nuzno уже обязятельно  будет 1 ?

ДА

 

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

может так  получиться  что в стек попадет  не 1 , а что то другое  потому  что push  сработает раньше ?

Нет

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

12 часов назад, Alex2411 сказал:

объясни пожалуйста  в какой  момент  сработает метка Skoko_Nuzno

Игорь у меня вопрос близки к этому, какая команда отвечает за добавление квадратика в таблице Skoko_Nuzno ?

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

7 часов назад, Stigmaer сказал:

добавление квадратика в таблице 

 

14 часов назад, Alex2411 сказал:

теперь буду  знать

Спойлер

[ENABLE]
alloc(Alex2411,$1000)
registersymbol(Alex2411)
Alex2411:
  dd #66


[DISABLE]
unregistersymbol(Alex2411)
dealloc(Alex2411)

 

Видео: кинул в ЛС.

 

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

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

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

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