-
Постов
107 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Trix
-
-
Ребята, всем привет. Столкнулся с такой проблемой - вчера делал AOB-injection, после инъекции крашится прога.
Как мне написали в урок(Позже общался с автором, у него все работает, полностью скопировал скрипт, когда уже ничего не помогало, увы, проблема не в моем написании) Разрядность видны та же, и качал ту версию CE(взламываем туториал, шаг 2ой).
Выглядит это так, за какую бы программу я не брался с подобной инъекцией все к черту крашится, логи не выдает просто окошечко "ожидается завершение программы".
Вот видео автора, который мне подсказал выполнить данную инъекцию ( Garik66 )За это ему отдельное спасибо. Функция срабатывает(видно, как меняется значение) но потом сразу крашится прога
Кто подскажет, с чем связано и как фиксить? Спасибо!)
-
6 минут назад, Dino сказал:
но даже по этим огрызкам я вижу что метод принадлежит классу, следовательно он __thiscall
Опыта мало, данную тему не понимаю, хоть и несколько раз к ней подходил с разных ракурсов
Быть может, это оно?
-
1 минуту назад, Dino сказал:
покажи асм код функции (скрин)
Как-то так
-
17 минуту назад, Dino сказал:
Из всего прочитанного возникает 1 вопрос : как ты ищешь адрес своей функции в CE?
Моя программа CrackMe выполняет команду, как во втором уроке туториала CE(отбивает одну единицу от числа, под которым подразумевается ХП)
я ищу через поиск сначала самого числа, потом смотрю "Что читает данный адрес" там нахожу адрес функции)) -
50 минут назад, keng сказал:
Кто писал? Где?
*Скорее всего не относится к теме*
Писал Сергей Терехов, вроде школа программистов, просто там были более менее свежие уроки Ассемблера.
Даже пришлось качать win32 на виртуальную машину, может быть я что-то не догоняю но fasm у меня на 64 просто отказывался работать)
-
2 минуты назад, gmz сказал:
закачай fasm, собери это:
писали, что x64 не поддерживает FASM
-
В 17.10.2016в13:36, keng сказал:
Аргументы пихаются в стек при помощи команды PUSH, так что в твоей функции как минимум один параметр. Можно так же посмотреть изнутри самой функции, поставив брейкпоинт на самое ее начало. В этом случае на стеке будут лежать все аргументы + адрес возврата, так как функции нужно знать, куда потом вернуть управление. Каждый аргумент занимает по 4 байта (или по 8, если ОС 64-разрядная).
Хорошо, получается моя задача - найти аргументы и поместить их в стек?
Скрытый текст[ENABLE] alloc(newmem,1024) createthread(newmem) newmem: push Аргумент call Адрес функции ret [DISABLE] dealloc(newmem)
Так будет выглядеть сам код или я что-то не понимаю?
-
5 минут назад, Xipho сказал:
Перед вызовом call нужно в стек поместить все парамеры, которые ей нужны, а ты этого не делаешь, так как не знаешь, какие именно параметры ей передавать. Отсюда и краш.
Хорошо, думаю, так оно и есть... правда функцию записывал без требований аргументов просто void func1()
я прикладывал картинки к теме, посмотрел, их, кажется, удалили. однако прикреплю их второй раз, можете ли вы что-то подсказать по ним?
Можно ли здесь увидеть нужные для вызова функции параметры? -
7 часов назад, Dejavu сказал:
От простого call крашится?
Да, просто крашится от call
Думаю, это не та функция, которую надо было вызвать, однако, когда я ее занопил, число не отнималось
-
Быть может адреса были не статичными?
-
Стало интересно, как можно вызвать функцию в какой-либо программе.
Написал простенький Крэкми (Нажимаю на кнопку и значение из переменной убавляется на единицу и выводится на экран)
Думаю, что мне удалось найти ту функцию(подкорректируйте меня, пожалуйста) выбрал на адресе моей подопытной переменной "Показать что читает из данного адреса", при нажатии кнопки, которая отнимает единицу у переменной в CE появляется функция, на сколько я понял, это она, я ее занопил, не работает, выключил, стало быть то, что мне надо?
Выглядит оно примерно так
[URL=http://hostingkartinok.com/show-image.php?id=3f7b02d0b762f8818c990828658537b8][IMG]http://s8.hostingkartinok.com/uploads/images/2016/10/3f7b02d0b762f8818c990828658537b8.png[/IMG][/URL] [URL=http://hostingkartinok.com/show-image.php?id=bff9fcc3f55e97b3afba0f4be5064aad][IMG]http://s8.hostingkartinok.com/uploads/images/2016/10/bff9fcc3f55e97b3afba0f4be5064aad.png[/IMG][/URL]
Окей, кажется, что-то начинаю понимать, открыл данный регион памяти в дизасм. CE, посмотрел, потупил, увы, ничего не понял
На данном форуме была тема, что можно вызвать функцию в Ассемблерной вставке CE, автор написал кож так
Скрытый текст[ENABLE] alloc(newmem,1024) createthread(newmem) newmem: mov eax, 199CD788 call game_x86_rwdi.dll+4CB1E0 ret [DISABLE] dealloc(newmem)
Хорошо, как мне сделать аналогичное? Моя функция не принимает никаких аргументов, по крайней мере не указывал никаких, следовательно mov мне не нужен?)
В прочем, когда я заставляю исполнить код, то программа вылетает.
Было бы очень интересно узнать. как мне вызвать мою функцию хотя бы из CE для начала)
-
Окей, это понятно) Хотелось бы увидеть ЖИВОЙ пример, на сколько я понял, есть
CreateRemoteThread
Как мне его использовать, не получается найти в поисковике пример, а MSDN не дает мне нужную информацию.
Есть примеры, кто-то пользовался?
1 час назад, Dino сказал:Через перехват или создание удаленного потока. Либо внедряешься в игру и все делаешь из ее адресного пространства
1 час назад, partoftheworlD сказал:Хуки, можно ещё через CE вызвать функцию.
-
Всем привет, заинтересовал вопрос, как можно написать программу, которая будет другую программу заставлять что-то делать?
Например есть в программе функция, как написать другую программу, которая будет вызывать эту функцию.Как управление персонажем или тд.
-
Это, конечно, круто, но неужели можно обойтись без низкоуровневого яп?
-
Всем привет. тема взлома игр все больше и больше втягивает меня, началось все с простого написания трейнера.
Сознаюсь, познания мои в этом деле весьма скудны - я пользуюсь языками среднего уровня и выше типа c#, немного знаю c++
Ассемблер и тд просто наотрез не понимаю. С чего следует начать системное обучение, чтобы не гов**кодить и не писать костыли.
Какой ассемблер учить и какие существуют вообще, в чем их отличия? Какой материал поможет мне в этой теме?
Напишите, пожалуйста, развернуто - с чего вы начинали и какие есть фичи в этом деле. Интересует тема более глобально как написание ботов, хуков, автоасм и тд. Чтобы не быть подснежником и учить все систематично. Заранее большое спасибо за развернутый ответ
-
Можете подсказать с чего следует начать обучение хуков на более практичных примерах, как например взлом какой-либо игры
благодаря форуму обучился созданию простых хуков(как например подменить одно окно другим) Где можно найти документацию
на эту тему, ведь класс MessagBox стандартный и параметры у него стандартный и вызов его можно описать в компиляторе, как в уроках.
А класс\функция, скажем, отвечающая за перемещение персонажа в игре не стандартна....
Смотрел урок по взлому FarCry там нужен SDK - ссылка битая, а в гуле не нашлось нужного архива...
Есть у вас рекомендуемый материал по написанию хуков на более практичных примерах, кроме как на CrackMe и тд. Очень бы хотелось изучить эту тему по-подробней.
Заранее спасибо -
Дружище, все понял!))
Как почитал, х32 не имеет доступа к х64, так что нужно сразу компилировать под х64!!!
Мне это помогло и я капец, как рад
На сколько я помню, в делфи(кодил в РэдСтудио) есть компиляция под х64
вся проблема только в этом!
Все отлично робит, большое спасибо за участие, надеюсь на своих ошибках и вопросах удалось кому-то помочь)))
-
36 минуты назад, MoL4uN87 сказал:
По названию exe видно что это 64битный процесс...для 64битного сам ищу как сделать для 32битного процесса смотри в конце мой пример
эх, я пишу на c#, по сути выглядит, как я понял у меня вот так
Console.WriteLine(prc.Modules);
а так же выдает ошибку при попытке...
A 32 bit processes cannot access modules of a 64 bit process.
как это обойти мне нужно как-то включить права доступа(как было в некоторых примерах R/W)
или это так всегда?
-
45 минуты назад, MoL4uN87 сказал:
Это модульная адресация. То есть, конечный адрес вычисляется как сумма стартового адреса модуля и адреса внутри модуля. Таким образом, адрес будет всегда актуальным, даже если модуль загрузиться по другому адресу. Часто такой вид бывает у указателей. Как использовать в проекте? Смотря что ты хочешь с ним делать?!.
Мне нужно привести к виду обычного адреса как например 0x111111
Использую это для чтения\записи данных.
Как можно узнать этот модуль и как его использовать? Есть ли где-то простая понятная для новичка документация, буду очень признателен?
-
<img src="http://www.cyberforum.ru/attachments/730355d1472590642">
Что это такое? как мне использовать данный адрес в своем проекте?
"PandaWoW-64.exe"+1545488
сам адрес постоянно меняется незначительно (середина 140***8B0(значения под *)
но CE его автоматически находит сам.
Как мне можно это использовать в своем проекте?
-
4 часа назад, Garik66 сказал:
Либо автоматический поиск указателей, либо продолжить искать смещения вручную.
Чтобы не было шаманских танцев пройди заново Шаг № 8 Туториала СЕ. (тогда всё будешь делать по католически)
Да, спасибо)) но я уже проходил этот шаг раза четыре))) я дошел как понял до конечного адреса(сомневаюсь) его "что пишет" и "что читает" ничего не отображает вообще, а смещение выглядит странно...
Может ли кто-то помочь мне в скайпе, говорю кратко по делу, без пререканий. -
Привет, форум, пытался создать чит для WOW 5.4.8(кажется)
Чит - флайхак, как обычно - персонаж может летать - 1, не может - 0, В итоге, шаманскими танцами с бубнами я нашел один из указателей на это адрес с двумя смещениями (+ 1b0 и + 50).
В итоге дела такие - вот адрес, который меняется при перезагрузке компьютера(повторюсь, при перезагрузки игры он вполне адекватно сохраняется) Однако он сохраняется в CE, вернее с маленьким изменением.
А если прибавить к его содержимому смещение, то он будет указывать именно туда, куда я записываю байты, чтобы персонаж летал или не мог летать. Подскажите, пожалуйста, как найти этот "динамический адрес, который заново появляется при перезагрузки CE
-
Не знаю, никогда не использовал CrackMe (возможно поможет запуск от имени администратора, но как я и сказал - я не знаю, я никогда эту программу не использовал). Попробуй Cheat Engine (но вроде с Windows 10 он как-то не дружит - как говорят, так что попробуй запустить его в режиме совместимости с более старыми версиями Windows).
Но как и сказал keng: будь осторожнее, т.к. тот же СЕ использует именно ReadProcessMemory и WriteProcessMemory соответственно. Лучше всего - создай какой-нибудь левый аккаунт, и пробуй на нем.
Вот сейчас я совсем не понял... CrackMe - это же программка-урок.... При чем здесь левые аккаутны и тд?... извиняюсь..
Сейчас я рассматриваю 10ый урок на сайте fastasm.ru как выше сказал Кенг(на этот форум я пререшел с его видео на ютубе)
Не получилось сделать на шаге "перезагрузка КракМи", можете подсказать, пожалуйста?
-
Нет, я не могу помочь ни в Скайпе, ни где-либо еще, просто потому, что на все это нужно время, которым я мало располагаю (а завтра так вообще меня не будет).
Попробуй сделать так, как я тебе написал. А автоматический поиск указателей он так и называется (в локализации от SER[G]ANT, в оригинале он называется "Pointer scan for this address"), нажми правой кнопкой мыши по адресу, и в меню увидишь этот пункт.
Главное - не забудь настроить поиск, и обязательно поставь обе галочки (см. скриншот).
Если какие-то проблемы или вопросы будут - пиши в эту тему, постараемся все вместе разобраться.
Начал делать как на 10ом уроке у Keng, не получается после Теперь перезапускаем CrackMe и нажимаем “Отладчик” и в верхнем меню “Поиск указателей” идет какой-то провал в алгоритме, увы...
что я сделал после этого?
выключил КракМи и снова включил, открыл процесс, нашел в нем адресс, нажал"Показать данный регион памяти" после - файл добавить, добавил старый скан, в итоге СОВСЕМ ПУСТО(в уроке сказано, что должно найти много адресов) подскажите, пожалуйста, где я оступился? там идет достаточно большой пробел в шагах...
Постоянный краш программ, в чем проблема?
in Train Me
Опубликовано
ОКей, вы можете помочь мне примеров в данном вопросе?