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

как правильно соединять два скрипта или несколько в один скрипт ?


Alex2411

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

1 час назад, ЛАГАРИУМ сказал:

вот поменяеш на своы сигнатури и код

 

не годиться . я спросил как  правильно выделить память  когда несколько скриптов соединять в один скрипт  в 64 бит игре .
кстати  твой скрипт кривой

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

В 04.11.2019 в 14:02, Alex2411 сказал:

если так же , тогда что писать в скобках  alloc

Если aobscan выдает СЕ (при создании скрипта), то я делаю так:

aobscan(Quantity,48 63 40 30 83 F8 01 0F XX XX XX XX XX 49 ) // should be unique
alloc(newmem,$1000,Quantity)  //т.е. вот здесь заменяю адрес инструкции на метку, в моей игре адреса инструкций меняются.

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

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

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

здесь заменяю адрес инструкции на метку,

 

 

когда метка  одна это понятно , а когда два аобскан две инжекции  и две метки тогда  какую метку написать ? или надо  две памяти выделять ? мне как раз это не понятно . в 32 бит играх такого нет.


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

alloc(newmem,2048,game.exe+1234)

потом я сделал другой скприт то же через шаблон чит енжин

alloc(newmem,2048,blabla.dll+5678)

мне надо соединить эти скрипты в один скрипт. если я  выделю  один участок памяти в новом скрипте

alloc(newmem,2048,........)

тогда что надо написать где точки ?

 

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

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

тогда что надо написать где точки ?

В этом случае в одном из, объединяемых скриптов ничего не меняешь.
во втором пишешь label(newmem1)
ЗЫ уже ранее все отвечено

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

ЗЫ: для кого я вообще записывал, старался видео? Не понимаю,
Пересмотри видео: 

Спойлер

 

Может в голове, встанет все на место.

 

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

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

В этом случае в одном из, объединяемых скриптов ничего не меняешь.
во втором пишешь label(newmem1)
ЗЫ уже ранее все отвечено

 

ты не читаешь  что я спрашиваю ?  причем тут метка ? я знаю что надо название newmem изменить  что бы не одинаковые метки были из разных скриптв. я  спросил не про метку , а про адрес  который написан  после выделение размера памяти 2048 . в одном скрипте адрес  game.exe+1234 , а в другом  скрипте blabla.dll+5678 . а елси скрипт сделать их двух один  тогда какой адрес надо написать ?

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

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

В этом случае в одном из, объединяемых скриптов ничего не меняешь.
во втором пишешь label(newmem1)

 

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

ты не читаешь  что я спрашиваю ?

это ты не читаешь, что я отвечаю,
Если до сих пор не понял, кидай оба скрипта - объединю.

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

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

это ты не читаешь, что я отвечаю,
Если до сих пор не понял, кидай оба скрипта - объединю.

 

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

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

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

 твой видео ролик  не чего не объясняет

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

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

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

должен сам научиться  как делать

Вот ссылка с привязкой ко времени, посмотри я объединяю два скрипта, если и это не поможет, то не знаю....................:

Спойлер

 

 

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

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

Объясняет, если бы ты понял, то не задавал бы вопросов.

 

чего он объясняет  если в ролике  ты сразу процесс даже не правильный выбрал ? дальше ролик  можно было вобще не смотреь . я все время  спрашиваю про 64 бит , а ты выбрал процесс  32 бит  . открой процесс  64 бит сделай скрипт, тогда посмотри  какой скрипт получиться . не такой как 32 бит . в 32 бит память  для инжекции  выделяеться  alloc(newmem,4096) , а в 64 бит  alloc(newmem,4096, process.exe+1234) . видишь адрес  process.exe+1234 ? теперь понятно  про что я спрашиваю ?

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

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

чего

Але друг, ты на меня не наезжай,  По-моему это я тебе помогаю.
На самом деле, ты просто зациклился и не можешь понять,
Поэтому проще, последний раз предлагаю, кинь оба скрипта, я объединю, ты проверишь работоспособность объедин.скрипта  И потом спокойно посмотришь - как сделано и где ты циклился и перечитаешь топик
Зы: а потом надеюсь, извинишься

 

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

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

ты не читаешь  что я спрашиваю ?  причем тут метка ? я знаю что надо название newmem изменить  что бы не одинаковые метки были из разных скриптв. я  спросил не про метку , а про адрес  который написан  после выделение размера памяти 2048 . в одном скрипте адрес  game.exe+1234 , а в другом  скрипте blabla.dll+5678 . а елси скрипт сделать их двух один  тогда какой адрес надо написать ?

Можешь не ставить третий параметр в alloc, но jmp будет длинным.

 

 

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

7 минут назад, Hack сказал:

Можешь не ставить третий параметр в alloc, но jmp будет длинным.

 

 

Зачем ты уводишь его от понимания, он не может понять фразы:

 

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

В этом случае в одном из, объединяемых скриптов ничего не меняешь.
во втором пишешь label(newmem1)

Что он может выбрать любой из двух скриптов за основной и в нем ничего не менять, а во втором скрипте, допустим этот:

alloc(newmem,2048,blabla.dll+5678)вместо алок написать label(newmem1) 

  

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

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

Але друг, ты на меня не наезжай,  По-моему это я тебе помогаю.

 

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

 

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

Поэтому проще, последний раз предлагаю, кинь оба скрипта, я объединю

 

раньше я уже написал  пример что мне нужно соединить . игра обязятельно 64 бит.
например это выделение памяти в разных двух скриптах
alloc(metka1,2048,process.exe+1234)
alloc(metka2,2048,game.dll+5678)
 мне нужно понять  как правильно  соединить эти две памяти в одном скрипте или надо оставить две отдельно. важно для 64 бит . для 32 бит я сам  знаю как скрипты соединить и память выделить.

 

 

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

Можешь не ставить третий параметр в alloc, но jmp будет длинным.

 

если не ставить тогда у меня вылетает игра . и еще disable не работает . про это я и спрашивал .

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

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

мне нужно понять  как правильно  соединить эти две памяти в

Кинь скрипты. Если не хочешь здесь - в личку

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

27 минут назад, Hack сказал:

Что? alloc не нужен?

ТС объединяет два скрипта, достаточно выделить память при объединению только одну. Что не понятного?

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

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

если не ставить тогда у меня вылетает игра . и еще disable не работает . про это я и спрашивал .

Если не ставить, то там может использоваться jmp размером 16 байт.

 

Вот проблема. Когда автоматический переводится код в автоассемблер,

то туда переводятся только три инструкции с размером 6 байт. А этот jmp весит 16 байт.

Дописывай все инструкции которые jmp сотрет.

 

Вот можно укоротить jmp до 7ми байт.

mov eax, newmem

jmp eax

 

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

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

Вот проблема. Когда автоматический переводится код в автоассемблер,

то туда переводятся только три инструкции с размером 6 байт. А этот jmp весит 16 байт.

Дописывай все инструкции которые jmp сотрет.

 

 теперь мне вроде понятно в чем дело. спасибо что объяснил. попробую так делать . а кроме этого длинного прыжка еще на что то нужно обратить внимание в 64 бит ?

объясни пожалуйста еще . если я оставлю два разных  выделения памяти для каждого скрипта , то можно одним скриптом читать значение из выделенной памяти другого скрипта ? там один скрипт находит значение и записывает в свою память ,а в другой скрипт это значение я ставлю как фильтр . в 64 бит это так же работает как обычно в 32 бит ?

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

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

 

 теперь мне вроде понятно в чем дело. спасибо что объяснил. попробую так делать . а кроме этого длинного прыжка еще на что то нужно обратить внимание в 64 бит ?

объясни пожалуйста еще . если я оставлю два разных  выделения памяти для каждого скрипта , то можно одним скриптом читать значение из выделенной памяти другого скрипта ? там один скрипт находит значение и записывает в свою память ,а в другой скрипт это значение я ставлю как фильтр . в 64 бит это так же работает как обычно в 32 бит ?

registersymbol - эта функция даст адресу имя. по имени можно обращаться с разных мест.

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

16 часов назад, Hack сказал:

registersymbol - эта функция даст адресу имя. по имени можно обращаться с разных мест.

 

я понял . значит можно  как обычно .
слушай объясни пожалуйста почему длинный прыжок получаеться ты говоришь 16 байт . мне не понятно . в 32 бит инжекция занимает 5 байт когда один байт это прыжок и 4 байт адрес куда прыгнуть. тогда в 64 бит вроде должно быть 9 байт потому что адрес куда прыгнуть в два раза длиннее чем 32 бит это получиться 8 байт и еще один байт прыжка. а почему тогда 16 байт ?

 

 

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

Ты разобрался?

 

похоже да . хак все понятно объяснил про адреса которые я спрашивал.  получаеться что в 64 бит обычным способом как в 32 бит соеденить скрипты нельзя поэтому у меня игра и крашилась. что бы выделить один участок памяти для двух скриптов в 64 бит нужно переделать всю инжекцию из за длинного прыжка. в каждый скрипт надо  добавить инструкции , которые стирает длинный прыжок . еще думаю  надо проверить как работает return и добавить байты disable . или можно оставить два выделения памяти от каждого скрипта  когда там указываються модули в адресе.

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

  • Xipho закрыл тема
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

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

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