Comeбacк [Немного инфы, немного привет]

cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
q. Кажется что прошло не так уж и много времени, но поверьте, это было время огромных перемен.

Что изменилось:
- DumpInvoker вырос в огромный проект под названием DPT (Dump Processing Tool). (Лицензия на год от 1,5k ? ? ? )
- DPT обрёл: D2D (DumpToDLL/Из дампа в полноценную дллку без зависимостей), SmartDumper, Invoker, Терминал для управления сегментами, и многое другое. (+GUI)
- DPT на Java (JNA/JFX/Etc stuff).

Q/A (Question/Answer):
Q: Ну а как жи OneTapPatcher веть это твой праект?

A: Да. Только вот я выпускал серию тем где объяснял что OneTapPatcher перерос в DumpInvoker. С DPT я так и не смог создать тему, т.к был в бане. Просить кого-то как минимум глупо, т.к это мой проджект.

Q: А что будет дальше с OneTap? Перестанешь ним заниматься?

A: Планирую перестать. Для обновы уже есть целых 2 человека, которые делают одно и тоже. Никсер (niceiq) и чел который кидает всем фри версию. Не знаю что по рмс/стиллеров у обоих, юзабле на свой страх и риск.

Q: И как ты собираешься билдить из сырого дампа полноценную дллку?

A: Главное это то, что представляет из себя дамп: Полноценную дллку с готовыми адресами и стёртым хеадером, или же кусок рандомного абстрактного кода. Из первого можно легко собрать дллку/Вызвать дамп, из второго все куда сложнее.
Для начала тебе нужно понять что представляет из себя этот кусок абстрактного кода, возможно это просто пару функций, а возможно это полноценный сегмент.

Q: Ну у меня в этом дампе сегмент, что дальше?
A: Для обратной загрузки (:siyozna:) дампа в процесс нужно 3 вещи: IAT (Imports Address Table), RAT (Relocations Address Table), OEP (OriginalEntryPoint/DLLMain).
SmartDumper достаёт их всех если работает прямо в процессе.

И так, для чего нужен каждый из них:
1. IAT - Указывает системному загрузчику по какому оффсету лежит импорт в дллке, чтобы он заменил этот адрес на текущий адрес функи.
Пример: У нас есть функция NtLoadLibrary которая вызывается из дллки ntdll.
Задача: Как заставить системный лоадер пропатчить функцию которая лежит поверх вызова (Т.е в дллке чтобы не делать огромную простыню из оффсетов, компилятор просто закидует вызов в отдельную функцию, которые вызывают другие функции (Уж сорян за тафтологию)).
Ответ: Поместить функцию которую нужно патчить, и через которую будет проходить вызов функции из либы в IAT. Для этого нужно: указать дллку в которой лежит нужная нам функция, указать оффсет по которому лежит функция в дллке (т.е ntdll), указать где лежит функция для патча в нашей дллке.

2. RAT - Обычные релокации, юзаются чтобы указать дллке где лежат данные внутри неё.
Пример: Глобальные переменные/Внутренние функи/Динамические данные.
Задача: У нас есть переменная [offsetTo] нужно сделать так чтобы программа поняла что лежит сейчас в переменной. [offsetTo] это глобальная переменная, именно по этому нужно чтобы программа понимала что СЕЙЧАС лежит в переменной. По стандарту значение в этой переменной: 0x24.
Ответ: Глобальная переменная [offsetTo] загрузится в динамическую память, и будет изменятся 24/7, но выгрузим её мы.
И так, компилятор указал что оффсет по которому лежит значение в переменной в памяти это [Текущий базовый адрес + 0x351D].
Теперь добавляем в RAT это: Оффсет переменной в памяти - 0x351D, Значение по стандарту - 0x24, Места где используется переменная - 0x032A, 0x950E. Запускаем. Магия.

3. OEP - Обычный DLLMain. Тут даже без задачи.
Пример: Системный лоадер выгрузил дллку в память, теперь он вызовет DLLMain с аргументами, т.к в хеадере написан оффсет где лежит этот самый OEP.

Q: Нихуя не понял. У меня дамп без хеадера, тут везде написано что нужен хеадер, ты еблан?
A: Хеадер нужен для системного загрузчика, но можно и без него обойтись, если хорошенько постараться.
Чтобы получить IAT нужно просто просканировать сегмент в процессе, чтобы получить RAT нужен Zydis и OEP, и немного магии, чтобы получить OEP нужен паттерн или же рантайм.

Q: Соболезную. И что теперь делать?
A: Ждать релиза софта/Пойти поиграть с OneTap/ПРОСИТЬ У МЕНЯ ONETAPPATCHER (Этим чувакам я особенно рад).

Q: Т.е мне нужно будет покупать этот софт чтобы дампнуть чит и играть с ним без лаунчера?
A: И да, и нет. Если в чите есть VMP/Аналогичная штучка которая защищает все что только можно и мутирует код - я не помогу. Ну а по поводу покупки: Иду по стопам продавца onetap.

Q: А нахуя мне эта информация?
A: Немного инфы никогда не помешает.

P.S Нет, на зоне не насиловали.
P.P.S Стикерпак про никсера (Telegram):
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Most importantly, remain calm at all times.
Пользователь
Статус
Оффлайн
Регистрация
7 Июл 2019
Сообщения
221
Реакции[?]
83
Поинты[?]
1K
QNA для каких то биг кодеров... а нам че?
 
cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
19 Фев 2018
Сообщения
647
Реакции[?]
167
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кто это?
 
cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
pido
Статус
Оффлайн
Регистрация
16 Май 2017
Сообщения
393
Реакции[?]
564
Поинты[?]
69K
cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Псевдоадмин
Администратор
Статус
Оффлайн
Регистрация
17 Май 2018
Сообщения
183
Реакции[?]
635
Поинты[?]
78K
Я думаю, что это нормальная тема анонсировать продажу тулзы, которая ничем не отличается от публичных аналогов, если не уступает им. 99% текста - вода, приправленная ошибочными толкованиями терминов и понятий, которым уже лет 20.

чтобы получить RAT нужен Zydis и OEP
А без zydis и OEP не обойтись? :kappa: Православный XED видимо инструкции не правильно декодит, если речь о релоках заходит. А линейный дизасм запрещен УК РФ.
 
гейский анал
Участник
Статус
Оффлайн
Регистрация
12 Сен 2016
Сообщения
678
Реакции[?]
439
Поинты[?]
0
q. Кажется что прошло не так уж и много времени, но поверьте, это было время огромных перемен.

Что изменилось:
- DumpInvoker вырос в огромный проект под названием DPT (Dump Processing Tool). (Лицензия на год от 1,5k ? ? ? )
- DPT обрёл: D2D (DumpToDLL/Из дампа в полноценную дллку без зависимостей), SmartDumper, Invoker, Терминал для управления сегментами, и многое другое. (+GUI)
- DPT на Java (JNA/JFX/Etc stuff).

Q/A (Question/Answer):
Q: Ну а как жи OneTapPatcher веть это твой праект?

A: Да. Только вот я выпускал серию тем где объяснял что OneTapPatcher перерос в DumpInvoker. С DPT я так и не смог создать тему, т.к был в бане. Просить кого-то как минимум глупо, т.к это мой проджект.

Q: А что будет дальше с OneTap? Перестанешь ним заниматься?

A: Планирую перестать. Для обновы уже есть целых 2 человека, которые делают одно и тоже. Никсер (niceiq) и чел который кидает всем фри версию. Не знаю что по рмс/стиллеров у обоих, юзабле на свой страх и риск.

Q: И как ты собираешься билдить из сырого дампа полноценную дллку?

A: Главное это то, что представляет из себя дамп: Полноценную дллку с готовыми адресами и стёртым хеадером, или же кусок рандомного абстрактного кода. Из первого можно легко собрать дллку/Вызвать дамп, из второго все куда сложнее.
Для начала тебе нужно понять что представляет из себя этот кусок абстрактного кода, возможно это просто пару функций, а возможно это полноценный сегмент.

Q: Ну у меня в этом дампе сегмент, что дальше?
A: Для обратной загрузки (:siyozna:) дампа в процесс нужно 3 вещи: IAT (Imports Address Table), RAT (Relocations Address Table), OEP (OriginalEntryPoint/DLLMain).
SmartDumper достаёт их всех если работает прямо в процессе.

И так, для чего нужен каждый из них:
1. IAT - Указывает системному загрузчику по какому оффсету лежит импорт в дллке, чтобы он заменил этот адрес на текущий адрес функи.
Пример: У нас есть функция NtLoadLibrary которая вызывается из дллки ntdll.
Задача: Как заставить системный лоадер пропатчить функцию которая лежит поверх вызова (Т.е в дллке чтобы не делать огромную простыню из оффсетов, компилятор просто закидует вызов в отдельную функцию, которые вызывают другие функции (Уж сорян за тафтологию)).
Ответ: Поместить функцию которую нужно патчить, и через которую будет проходить вызов функции из либы в IAT. Для этого нужно: указать дллку в которой лежит нужная нам функция, указать оффсет по которому лежит функция в дллке (т.е ntdll), указать где лежит функция для патча в нашей дллке.

2. RAT - Обычные релокации, юзаются чтобы указать дллке где лежат данные внутри неё.
Пример: Глобальные переменные/Внутренние функи/Динамические данные.
Задача: У нас есть переменная [offsetTo] нужно сделать так чтобы программа поняла что лежит сейчас в переменной. [offsetTo] это глобальная переменная, именно по этому нужно чтобы программа понимала что СЕЙЧАС лежит в переменной. По стандарту значение в этой переменной: 0x24.
Ответ: Глобальная переменная [offsetTo] загрузится в динамическую память, и будет изменятся 24/7, но выгрузим её мы.
И так, компилятор указал что оффсет по которому лежит значение в переменной в памяти это [Текущий базовый адрес + 0x351D].
Теперь добавляем в RAT это: Оффсет переменной в памяти - 0x351D, Значение по стандарту - 0x24, Места где используется переменная - 0x032A, 0x950E. Запускаем. Магия.

3. OEP - Обычный DLLMain. Тут даже без задачи.
Пример: Системный лоадер выгрузил дллку в память, теперь он вызовет DLLMain с аргументами, т.к в хеадере написан оффсет где лежит этот самый OEP.

Q: Нихуя не понял. У меня дамп без хеадера, тут везде написано что нужен хеадер, ты еблан?
A: Хеадер нужен для системного загрузчика, но можно и без него обойтись, если хорошенько постараться.
Чтобы получить IAT нужно просто просканировать сегмент в процессе, чтобы получить RAT нужен Zydis и OEP, и немного магии, чтобы получить OEP нужен паттерн или же рантайм.

Q: Соболезную. И что теперь делать?
A: Ждать релиза софта/Пойти поиграть с OneTap/ПРОСИТЬ У МЕНЯ ONETAPPATCHER (Этим чувакам я особенно рад).

Q: Т.е мне нужно будет покупать этот софт чтобы дампнуть чит и играть с ним без лаунчера?
A: И да, и нет. Если в чите есть VMP/Аналогичная штучка которая защищает все что только можно и мутирует код - я не помогу. Ну а по поводу покупки: Иду по стопам продавца onetap.

Q: А нахуя мне эта информация?
A: Немного инфы никогда не помешает.

P.S Нет, на зоне не насиловали.
P.P.S Стикерпак про никсера (Telegram):
Пожалуйста, авторизуйтесь для просмотра ссылки.
Прорезюмируй суть отсыла, будь добр, потому что доверять такому голословному совету я не могу. Не будь быдлом, изложи в паре абзацев, почему я, и те, кто сейчас в ридонли должы прочесть то, что ты указал? Какова суть, основная концепция, в чем драма...???
 
cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
которая ничем не отличается от публичных аналогов
Ждал такого комента. Я возможно неправильно искал, могёшь подсказать где есть аналоги?
приправленная ошибочными толкованиями терминов и понятий, которым уже лет 20.
Буду рад если исправишь меня, я не отрицаю что возможно неправильно понял инфу, не хочется разносить бред из-за того что я неправильно написал.
Православный XED видимо инструкции не правильно декодит, если речь о релоках заходит. А линейный дизасм запрещен УК РФ.
Ну если подскажешь как это перенести на JNA буду только рад)
 
cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Прорезюмируй суть отсыла, будь добр, потому что доверять такому голословному совету я не могу. Не будь быдлом, изложи в паре абзацев, почему я, и те, кто сейчас в ридонли должы прочесть то, что ты указал? Какова суть, основная концепция, в чем драма...???
Ты выделил абсолютно все, не понимаю о каком именно совете идёт речь.
 
гейский анал
Участник
Статус
Оффлайн
Регистрация
12 Сен 2016
Сообщения
678
Реакции[?]
439
Поинты[?]
0
2.1. Запрещено оскорбление участников форума в любом виде. В том числе проявление любой грубости, угроз и нецензурных высказываний даже в скрытой форме.
Ты выделил абсолютно все, не понимаю о каком именно совете идёт речь.
Пожри говна, уёбок. Кто ты такой, чтобы указывать мне, человеку, на место в жизни? Ты почему считаешь, шарлатан, что кто-то должен тебя внимательно слушать и мотать на ус чью-то очередную сомнительную модель мироустройства, вместо того, чтобы работать над своей, каждодневно совершенствуя её в ногу со временем? Хуесос ты, а не авторитет. Забирай свое говно и иди кормить им свою мамашу, припёздок. Тоже мне, блеадь, философ, кумир миллионов. Нахуй отсюда пошел со своей лапшой, не расслышал? Будешь люмпенам её развешивать, а здесь люди себя уважающие собрались. Распиаренный ублюдок. А ведь многие идиоты еще и платят пдобным опущенцам за их пропагандистские лекции. Вали отсюда, никчемный придурок. Пришел к дженьельменам и начал среди них срать, пытаясь выдать говно свое за нечто сверх-необхолдимое. Но не вышло, накормили ублядка сполна. А теперь проваливай и больше сюда не суйся, щенок.
 
Начинающий
Статус
Оффлайн
Регистрация
3 Ноя 2019
Сообщения
407
Реакции[?]
18
Поинты[?]
0
Пожри говна, уёбок. Кто ты такой, чтобы указывать мне, человеку, на место в жизни? Ты почему считаешь, шарлатан, что кто-то должен тебя внимательно слушать и мотать на ус чью-то очередную сомнительную модель мироустройства, вместо того, чтобы работать над своей, каждодневно совершенствуя её в ногу со временем? Хуесос ты, а не авторитет. Забирай свое говно и иди кормить им свою мамашу, припёздок. Тоже мне, блеадь, философ, кумир миллионов. Нахуй отсюда пошел со своей лапшой, не расслышал? Будешь люмпенам её развешивать, а здесь люди себя уважающие собрались. Распиаренный ублюдок. А ведь многие идиоты еще и платят пдобным опущенцам за их пропагандистские лекции. Вали отсюда, никчемный придурок. Пришел к дженьельменам и начал среди них срать, пытаясь выдать говно свое за нечто сверх-необхолдимое. Но не вышло, накормили ублядка сполна. А теперь проваливай и больше сюда не суйся, щенок.
Все окей? Дурку вызывать надо?
 
cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Псевдоадмин
Администратор
Статус
Оффлайн
Регистрация
17 Май 2018
Сообщения
183
Реакции[?]
635
Поинты[?]
78K
Ждал такого комента. Я возможно неправильно искал, могёшь подсказать где есть аналоги?
А что твоя тулза то умеет? Дампить? Так дамперов полно(scylla/ph/etc...). Сигсканить? Так это в ида есть. Фиксить импорты? Этого в интернетах хватает (scylla/wannabeUIF/importREC/etc) Ответь мне на вопрос про уникальные фичи твоей тулзы. (ну кроме всратого ЯП)

Буду рад если исправишь меня, я не отрицаю что возможно неправильно понял инфу, не хочется разносить бред из-за того что я неправильно написал.
Как так то? Разработчик тулзы для работы с PE не шарит за него. А гонору то было ...

Пример: У нас есть функция NtLoadLibrary которая вызывается из дллки ntdll.
Задача: Как заставить системный лоадер пропатчить функцию которая лежит поверх вызова (Т.е в дллке чтобы не делать огромную простыню из оффсетов, компилятор просто закидует вызов в отдельную функцию, которые вызывают другие функции (Уж сорян за тафтологию)).
Ответ: Поместить функцию которую нужно патчить, и через которую будет проходить вызов функции из либы в IAT. Для этого нужно: указать дллку в которой лежит нужная нам функция, указать оффсет по которому лежит функция в дллке (т.е ntdll), указать где лежит функция для патча в нашей дллке.
Шикарное обьяснение работы системы импортов. Не думал пойти преподавать в гарварде CS?

OEP - Обычный DLLMain
OEP - Original Entry Point aka DLLMain так и запишем.

[Текущий базовый адрес + 0x351D].
Я так понимаю релокать можно только указатели?

Для обратной загрузки (:siyozna:) дампа в процесс нужно 3 вещи: IAT (Imports Address Table), RAT (Relocations Address Table), OEP (OriginalEntryPoint/DLLMain).
Угу, это определенно весь возможный список. (spoiler: нет) А если ты обходишься минимально необходимым набором, ответь мне. Накой ляд тебе релоки? Что мешает форсить адрес для выделения памяти. hint: VirtualAlloc msdn.

2. RAT - Обычные релокации, юзаются чтобы указать дллке где лежат данные внутри неё.
Пример: Глобальные переменные/Внутренние функи/Динамические данные.
Задача: У нас есть переменная [offsetTo] нужно сделать так чтобы программа поняла что лежит сейчас в переменной. [offsetTo] это глобальная переменная, именно по этому нужно чтобы программа понимала что СЕЙЧАС лежит в переменной. По стандарту значение в этой переменной: 0x24.
Ответ: Глобальная переменная [offsetTo] загрузится в динамическую память, и будет изменятся 24/7, но выгрузим её мы.
И так, компилятор указал что оффсет по которому лежит значение в переменной в памяти это [Текущий базовый адрес + 0x351D].
Теперь добавляем в RAT это: Оффсет переменной в памяти - 0x351D, Значение по стандарту - 0x24, Места где используется переменная - 0x032A, 0x950E. Запускаем. Магия.
Есчо одно описание заслуживающие оскара .

Ну если подскажешь как это перенести на JNA буду только рад)
Православный ЯП однако ты выбрал для разработки этой софтины(гидра привет). Но доеб не к дизасму был, а к формулировке. Если ты пытаешься обьяснить алгоритм работы для чего ты конкретизируешь используемые тобой библиотеки, как единственно верные для этой задачи. На кой ляд тебе OEP необходим для поиска релоков в дампе можешь обьяснить? Или линейный дизасм использовать религия не позволяет. (Сразу контрю аргумент про скрытые инструкции. Рекурсивным дизасмом в дампе ты рискуешь потерять больше половины необходимого кода.)

p.s
Красивые истории про автоматический отлом софта этой тулзой можешь рассказывать свидетелям иегова. А нормальных людей, но не разбирающихся в теме уведомляю. Процент софтов с которыми это чудо будет реально работать близиться к 1%. Но такие софты отламываются и без крутых тулз от нолика за 1 секунду обычным хуком на WPM/списком загруженных библиотек.
 
Последнее редактирование:
cpuid inc.
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2019
Сообщения
1,064
Реакции[?]
760
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А что твоя тулза то умеет? Дампить? Так дамперов полно(scylla/ph/etc...). Сигсканить? Так это в ида есть. Фиксить импорты? Этого в интернетах хватает (scylla/wannabeUIF/importREC/etc)
Все по отдельности, у меня все в одном и с приятным интерфейсом. Да, согласен, это не оправдание, но это априоре удобнее чем скачивать кучу разных утилит.
Как так то? Разработчик тулзы для работы с PE не шарит за него. А гонору то было ...
С чего бы? Я не писал что я гипер-мега разработчик который за все шарит, я предполагаю что у меня есть ошибки в формулировке, не хочу дизинформировать народ своими ошибками.
Я так понимаю релокать можно только указатели?
Есть у меня такая глупая привычка, писать ПРИМЕР, если я привожу лишь один ПРИМЕР.
Православный ЯП однако ты выбрал для разработки этой софтины(гидра привет).
Не понимаю в чем доеб однако.
На кой ляд тебе OEP необходим для поиска релоков в дампе можешь обьяснить?
То с чего нужно начинать анализировать дамп.
Накой ляд тебе релоки? Что мешает форсить адрес для выделения памяти. hint: VirtualAlloc msdn.
А что тогда мешает тогда перезапускать приложение пока адреса библиотек не станут как в дампе?

Энивей, я просил объяснить где я ошибся ты начал джаст доебываться к тексту, хз даже где ты меня исправлял.
 
Псевдоадмин
Администратор
Статус
Оффлайн
Регистрация
17 Май 2018
Сообщения
183
Реакции[?]
635
Поинты[?]
78K
Ясно, уносите шизоида.

То с чего нужно начинать анализировать дамп.
Не понимаешь терминологии? Загугли.

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

Все по отдельности, у меня все в одном и с приятным интерфейсом. Да, согласен, это не оправдание, но это априоре удобнее чем скачивать кучу разных утилит.
Все это "многобразие уникальных функций" поставляется с x64dbg.

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