Перейти к содержанию
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
дополнение

Поделиться сообщением


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

используй цикл for

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, partoftheworlD сказал:

используй цикл for

это как?

  • Минус 1

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, Stigmaer сказал:

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

 

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

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

 

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

 

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

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

 

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

 

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

а минус ты зря

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, partoftheworlD сказал:

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

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

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

Изменено пользователем Stigmaer
  • Плюс 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
41 минуту назад, Stigmaer сказал:

Не все такие продвинутые как ты

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

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

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

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

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

И как у читься если не спрашивать?

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

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

Цитата

Удаляйте мой акаунт, мне не интересен форум

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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  сработает раньше ?

Нет

Поделиться сообщением


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

теперь буду  знать . надоел я наверное ))) .спасибо  большое за  помощь .  не дает форум  поставить плюсик

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Alex2411 сказал:

не дает форум  поставить плюсик

нужно подрасти: 

Спойлер

546abecd3a07bc816a85ed258c49db56.jpg

тогда и сможешь плюсики ставить

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 часов назад, Alex2411 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, Stigmaer сказал:

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

 

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

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

Спойлер

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


[DISABLE]
unregistersymbol(Alex2411)
dealloc(Alex2411)

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
27 минут назад, Garik66 сказал:

Видео:

Ты прежде чем выкладывать видео, замазал бы конфиденциальные данные пользователей.

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

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

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