![]() |
eXeL@B —› Вопросы новичков —› Дебаг FireFox 11 версии |
Посл.ответ | Сообщение |
|
Создано: 31 декабря 2019 20:06 · Личное сообщение · #1 Всем привет. С наступающим сразу, нечем мне заняться под конец года свиньи, поэтому, мужики, вот вам такой вопрос. Начал дебажить по винде, цель в принципе обрести навыки реверса бинарных файлов, прочувствовать суть - кто знает тот поймет о чем я) Задача 1 Сделал Hello World, cin >> в переменную, условие от нее с выводом, олькой поставил break, понял значение start/pause/step over/step into/animate over/animate into(ну или думаю что понял), поменял cmp (if изначальный) на MessageBox, короче все четко. Задача 2 Скачал FireFox 11, запустил через ольку, завелся FF. Ниже - Полный букет проблем, непониманий, и тд, но цель - хочу отловить функцию сетевого запроса от ФФ, будь то GET/POST/HEAD/DELETE/e.t.c. Ничо с ней не делать, просто как факт отловить, MessageBox туда засобачить, да хоть break для начала. Пытаюсь делать паузу в ольке, не могу открыть приложение что-нибудь сделать - все ясно, ставлю breakpoint-ы, чо то невпопад, будто Exception таймаутер какой-то фигачит, ну и при включенных бриках одна ветка, при выключенных другая, вот где-то сейчас нагуглил комбо Ctrl+G, переход к функции по label, как я понимаю, и тут просто ступор: windows network / kernel network/ curl / e.t.c., вообще ничего из этих функций не могу найти, тут хотя б сетевой запрос как факт поймать. Короче я вообще не могу подступиться к этому зверьку. Суть данной темы - кто может проконсультировать - помогите пожалуйста с этим делом, реально уже сил нет ) Мне нужен не результат - а процесс, как и почему - в инете тонны хлама, короче сами знаете ) Я платежеспособен, ценю свое и ваше время и готов финансово отблагодарить за консультацию, также буду благодарен если компетентные специалисты оставят свой email/vk/whatsup/tg/e.t.c., для инд. занятий +- на неделю, часа думаю по 4 в сутки. По оплате договоримся. Всех благодарю кто дочел досюда, с наступающим еще раз! ![]() |
|
Создано: 31 декабря 2019 20:40 · Личное сообщение · #2 |
|
Создано: 31 декабря 2019 22:18 · Личное сообщение · #3 |
|
Создано: 01 января 2020 00:42 · Личное сообщение · #4 |
|
Создано: 01 января 2020 03:51 · Личное сообщение · #5 |
|
Создано: 01 января 2020 04:21 · Поправил: plutos · Личное сообщение · #6 f13nd пишет: левый вспомогательный сепулькатор при рассинхроне интерцепторов так фигачит, почти наверняка дело в этом Да не, бро, это лимиты експосуров девиируют от конгруентого бэкгроунда инвайронмента темплетной парадигмы... ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 01 января 2020 14:57 · Поправил: wcy97484 · Личное сообщение · #7 Да я понимаю, nss.dll/e.t.c., просто если брать это в качестве тестового занятия, для себя. Есть бинарник - нужно найти функцию. Опенсорс/готовый ответ(поэтому 11 версия)/e.t.c., это все и так понятно. Мне не результат нужен для этой задачи, а пройти это с осознанием . Готов подкрепить монетой кто поможет Грубо говоря, есть знание что за запрос будет отвечать PR_Write, но как добыть эту информацию, из просто бинарника, без просмотра сорцов... ![]() |
|
Создано: 01 января 2020 15:01 · Личное сообщение · #8 Задача сформулирована чётко ![]() Что тут скажешь, апп большое, так что нужно крутить автоматикой, предсказуемый ответ конечно, но это по времени наилучшее решение. Добавлено спустя 10 минут wcy97484 > Грубо говоря, есть знание что за запрос будет отвечать PR_Write, но как добыть эту информацию Ты выбрал не подьёмную тебе задачу. Впрочем это хорошо что сразу решил все сложности понять, респект. Зачем начинать с малого, тогда не будут трудности понятны. Видеокурсы, иной подход. Увидев весь масштаб только можно найти что конкретно изучать, иначе утонешь в материале, который по большей части - вода". ----- vx ![]() |
|
Создано: 02 января 2020 02:29 · Личное сообщение · #9 |
|
Создано: 02 января 2020 08:56 · Поправил: wcy97484 · Личное сообщение · #10 difexacaw, так потому что с малыми задачами я справляюсь и понимаю как это работает) Как минимум дебага журналированием огромный опыт, дебага дебагером в linux'е тоже, но там другое ) Есть ли возможность у тебя за $ подтянуть в направлении поиска нужной функции в огромном приложении? morgot, вопрос не в том, как хукинг функции DLL чужого процесса сделать. Вопрос как найти ту самую функцию куда инжектить. Как хукать это и ежу понятно. ![]() |
|
Создано: 02 января 2020 14:07 · Личное сообщение · #11 |
|
Создано: 02 января 2020 15:45 · Личное сообщение · #12 Apocalypse, я уже ответил выше, мне не надо хукать процесс, меня интересует другая сторона медали, скорее всего неверно изначально сформулировал проблему: меня интересует, откуда мы знаем, что за это отвечает именно PR_Write, то есть, если не брать что это Open Source/документации МОЗИЛЛЫ, ведь в жизни бывает много других приложений, который не так лояльны к 3rd. Меня интересует как имея бинарник этой же самой мозиллы мы узнаем, что хукать НУЖНО именно PR_Write. ![]() |
|
Создано: 02 января 2020 16:19 · Поправил: cppasm · Личное сообщение · #13 Практически в любой ОС всё упирается в API - напрямую с железом приложения работать не могут. Стало быть в случае с Windows идёшь на MSDN и читаешь какие у приложения есть варианты организовать сетевой обмен данными (сокеты там и т.п.). Ставишь бряки на API функции и смотришь какие сработают. Дальше от задачи зависит - либо поднимаешься выше по стеку вызовов и дойдёшь до своей PR_Write рано или поздно, либо если просто данные посмотреть - они в API функцию в буфере передаются (в ту же WSASend например, смотришь в отладчике данные и всё). Интересно мне как ты там в Линуксах что-то дебажил если задаёшь такие вопросы - принцип одинаковый везде. ![]() |
|
Создано: 02 января 2020 16:26 · Личное сообщение · #14 wcy97484 > в направлении поиска нужной функции в огромном приложении? Для этого нужен инструмент, который может отслеживать любые события, в частности адресацию. Сетевой интерфейс реализован не как сервисы, а как запросы в драйвера(IOCTL). Если даже допустить что интерфейс не известен, а задача найти его, то это можно сделать лишь по ссылкам на данные. А вручную такое не сделаешь и отладчиком тоже. Вы хотите сразу всё, такого не бывает и дело совсем не в деньгах. Добавлено спустя 31 минуту morgot Если бы вас мой друг отпустили, ты бы зашёл первым делом на васм. А так это походу полкан с погонами тут пишет.) ----- vx ![]() |
|
Создано: 02 января 2020 18:17 · Личное сообщение · #15 wcy97484 пишет: Меня интересует как имея бинарник этой же самой мозиллы мы узнаем, что хукать НУЖНО именно PR_Write. Чисто гипотетически, допустим, у меня есть некая программа, которая в некоей ситуации (ну, допустим, чисто гипотетически, отсутствие связи с интернетом) выдает некое сообщение. Тогда я беру в руки дизасм и нахожу ссылку на вызов этого сообщения, затем беру в руки деблохер и ставлю бряк на вызов этого сообщения, затем разматываю назад цепочку вызовов, которая порождает эту ветку кода. Я понятно излагаю? ![]() |
|
Создано: 02 января 2020 19:03 · Личное сообщение · #16 |
![]() |
eXeL@B —› Вопросы новичков —› Дебаг FireFox 11 версии |
Эта тема закрыта. Ответы больше не принимаются. |