🥷 Крякаем софты недо-доксеров и воруем API-ключи
👋 Приветствую всех! В данной статье я расскажу про кряк софтов по "пробиву".
Сегодня мы разберем софт под названием "Enter"
💁♀️ Объяснение
Представим, что в нашем коде есть функция internal_function, которая никак не задействована. С помощью PyInjector мы можем внедрить свой код и вызвать эту функцию
🤓 Подготовка
- Python (любая последняя версия)
- PyInjector
- Process Hacker
Также вам нужно найти программу для кряка, которая должна быть написана на Python (подойдут скомпилированные через PyInstaller)
Это можно проверить через Detect It Easy. В нашем случае программа скомпилирована через PyInstaller.
🧑💻️ Практика
Все файлы (программа / .dll) должны находиться в одной папке.
Создаём в папке файл code.py и вставляем туда этот код:
Запускаем Process Hacker и Enter.exe. В Process Hacker ищем процесс под названием Enter.exe
Мы замечаем то, что процесса два. Один из них является дроппером. Нам нужен тот процесс, который потребляет больше памяти.
Нажимаем правой кнопкой по этому процессу, наводим на вкладку "Miscellaneous" и выбираем "Inject DLL...". Далее выбираем DLL из нашей папки.
Если вы все сделали правильно - то в папке с файлами появится новый файл под названием "functions.json".
Если открыть его через текстовый редактор - то мы увидим все функции программы.
В нашем случае нам нужна функция "check_key"
Нам нужно перезаписать функцию check_key из класса KeyChecker таким образом, чтобы функция возвращала значение True.
Снова открываем файл code.py и пишем данный код:
def custom_check(*args, **kwargs):
return True
KeyChecker.check_key = custom_checkПерезапускаем Enter.exe, снова инжектим DLL и вводим любой ключ.
Ура, мы успешно крякнули софт для "докса" и можем ломать жопы!
Поскольку, данная программа использует API LeakOsint'а мы можем украсть API-ключ.
Первый способ: с помощью HTTP Debugger. Но в данном случае это не получится сделать, т.к тут используется пиннинг. Поэтому переходим ко второму способу.
Если ещё раз проанализировать файл functions.json - то мы можем заметить что программа использует библиотеку requests для отправки запросов.
Нам нужно перезаписать функцию requests.post таким образом, чтобы логировать все исходящие запросы.
Заходим в code.py и вводим следующий код:
Инжектим dll-ку, делаем поиск по номеру телефона.
Если вы все правильно сделали - то у вас появится файл log.log в котором вы увидите API-ключ.