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

partoftheworlD

Пользователи+
  • Постов

    2 687
  • Зарегистрирован

  • Посещение

  • Победитель дней

    172

Весь контент partoftheworlD

  1. Да, но не настолько медленный, так же еще зависит от того сколько кода вторая часть обработчика проверяет(которая SINGLE STEP). Явно, если пошаговая отладка будет работать для 10000 инструкций в поиске той самой на которую повешен хук, то быстродействия ждать не стоит.
  2. Хоть тысячу, хук работает как в CE, главное чтобы состояние измененных регистров не приводило к крашу. Это не так работает, советую посмотреть основы о том как работает стек. Да
  3. Лучше так вообще не делать, а отлавливать исключения и делать возврат на оригинал сразу как копия становится не нужной, чем скорее управление вернется в оригинальный код тем лучше. Чтобы посчитать адрес возврата достаточно воспользоваться стеком, например так, сразу перед записью нового EIP. jmp_original = (DWORD)(pExceptionInfo->ContextRecord->Esp);
  4. 10 байт размер инструкций, но защита все равно поставится на весь регион памяти. Да, хотя не уверен, проблем не должно быть, ведь по идее ведь код одинаковый везде будет, но желательно вернуть управление оригинальному коду.
  5. https://pastebin.com/4tXXM0av Думаю подставить вместо &value адрес указывающий на копию куска памяти не составит труда. Нет
  6. По тому коду, который ты используешь оно даже работать не будет. Сейчас код напишу и закомментирую.
  7. Было бы интересно про это более подробное узнать. Просто мне кажется, что даже если отреверсишь алгоритм генерации хеша для проверки, в любом случае придется его брутить, чтобы найти пароль. Ладно, можно обойти проверку хеша, чтобы открыть контейнер, но если в нем все файлы упакованы архиватором и запаролены, то без пароля и делать нечего.
  8. нет, это код из обработки исключений отладчиком. Почему бы просто не убивать поток с проверкой целостности? Вроде так, думаю переписать на C++ не составит труда тут все тоже самое за исключением скобок
  9. Можно отлавливать события с помощью WaitForDebugEvent, после открывать поток при срабатывании события, через хендл потока можно получить его контекст со всеми регистрами, а дальше все как в коде. Сейчас пример накатаю.
  10. EXCEPTION_POINTERS* pExceptionInfo Без понятия, ведь ты не указал какую ошибку выдает твой код или какое поведение у кода, что говорит отладчик? Если так с ходу, то не работает потому, что где-то ошибка или не правильный отлов исключения. UnhandledExceptionFilter вообще написан странно у тебя в коде и не будет ничего отлавливать. Кусок кода с подменой адресов должен быть примерно такой.
  11. CopyGame(тут хранится начало скопированного модуля) + 0x13263B, возможно не учитывается заголовок.
  12. По правде, это бесполезная защита, которая защитит, разве что от школьников увидевших впервые отладчик. Лучше использовать шифрованный с помощь ключа контейнер, где ключ состоит из соли + железа, который сверяет ключ по хешу, например тому же SHA-1, а файлы сжаты каким-нибудь lzma2 с ключом. https://www.codeproject.com/Tips/5098831/Reading-Compressed-LZMA-Files-on-the-fly-using-a-C
  13. Может для начала стоит изучить основы и прочитать про динамическое выделение памяти? ASLR не имеет никакого отношения к тому что на скрине и не понятно, зачем надо было его приплетать, а на скрине глобальный адрес указывающий на структуру, указатель на которую выделяется в куче, а как происходит выделение? Функция просматривает список занятых/свободных областей памяти, размещённых в куче, в поисках свободной области подходящего размера; В случае нехватки свободной памяти может запросить дополнительную память у ОС; Добавляет найденную область в список занятых областей (или помечает область как занятую); Возвращает указатель на начало области памяти; Записывает данные по этому указателю.
  14. RC3: https://cheatengine.org/download/beta/08132019/CheatEngine70RC3.exe
  15. Тогда это очень странно. Вот все что делал от установки до подключения, вне видео открываю сайты в Safari.
  16. Глупый вопрос, но все же на Inspect нажимал, который под Target?
  17. В настройках Safari включен Web Inspector?
  18. На винде вообще не стоит ничего отлаживать(горький опыт), когда-то надо было сайт отладить, делал по этой статье на убунте в виртуалке. https://medium.com/@nikoloza/how-to-debug-remote-ios-device-using-chrome-devtools-f44d697003a7 Все работало. До сих пор работает.(без джейлбрейка)
  19. а debugserver не подходит, тот что в статье? Я его специально приложил, чтобы не надо было шаманить с виртуалкой.
  20. Реверсить. Имея размер пакета, можешь найти участок кода, который вычисляет размер пакета, имея участок кода для вычисления пакета, можешь найти функцию, которая формирует пакет.
  21. addr = 0x1581500 result = readInteger(addr) print(string.format('[0x%x] = %d', addr, result)) for i = 0x01, 0xFFFFFFFF do writeInteger(addr, i) --print(string.format('%d written at address 0x%x', i, addr)) end
  22. Да, напиши обычный CE скрипт запихни туда цикл и перебирай в отдельном потоке. Если не хочется возиться с asm, используй lua.
×
×
  • Создать...

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

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