Загрузчик приложений
Может кто-то знает ссылку на статью, в которой подробно описывается работа загрузчика, или сам может
-
Может кто-то знает ссылку на статью, в которой подробно описывается работа загрузчика, или сам может пошагово описать работу загрузчика.
В настоящий момент мне интересно, каким образом в куче по умолчанию появляются данные из РЕ-заголовка, почему изменяются данные в образе секции данных файла (не смещение), выполняется ли какая то часть приложения в процессе работы загрузчика, откуда в блоке данных потока берутся данные (не случайные). Какую информацию вообще передает загрузчик приложению.
Вопрос возник в связи с попыткой снять защиту целостности файла. Может кто-то подскажет общий принцип защиты и способ ее снятия. Может существует общий алгоритм подсчета контрольной суммы в исполняемом файле, по которому можно обнаружить его. Используется ли при сравнении контрольная сумма, прописанная в РЕ-заголовке. И вообще, как можно больше толковой (не заумной) информации по этой теме.
Спасибо.20 марта 2019 - 11:09 / #1 -
21 марта 2019 - 23:09 / #2
-
Цитата: NNK_RTRМожет существует общий алгоритм подсчета контрольной суммы в исполняемом файле, по которому можно обнаружить его.
Ищем в отладчике обращение к одной из этих функций. И далее:Цитата: NNK_RTRМожет кто-то подскажет общий принцип защиты
1. Объект (файл, секция, ресурс) защиты проецируется в память.
2. Вычисляется его контрольная сумма, которая...
3. Сравнивается с эталонным значением.
22 марта 2019 - 00:40 / #3 -
Спасибо.
Первая статья мне попадалась, вторую прочитал (пока бегло) и сделал вывод, что загрузчик работает стандартно для всех приложений и в проверке целостности файла не участвует.
Наличие указанных вами функций я проверял раньше и сейчас еще раз проверил (в отладчике и APImonitor) - отсутствуют.
Изменение контрольной суммы в заголовке РЕ файла в шест. редакторе на работоспособность программы не влияют. Вывод - эти данные в проверке целостности не участвуют и сам заголовок не проверяется на предмет изменений.
Если внести изменения в код или данные программы в отладчике, непосредственно после загрузки, то программа работает нормально. Вывод, проверяется файл на диске, а не в памяти.
Я несколько дней потратил на поиск считывания из файла (ReadFile) данных и последующей обработке этих данных, надеясь найти место подсчета контрольной суммы - не нашел.
Вы натолкнули меня на мысль, что, возможно, файл повторно отображается в память (для проверки целостности используется второй образ файла).
Попробую обнаружить такие действия.
Еще раз спасибо за отклик. Если Вы в моих выводах видите ошибку, или у Вас есть другие идеи, сообщите пожалуйста.22 марта 2019 - 11:20 / #4 -
Проверка цифровой подписи выполняется функцией WinVerifyTrust.
Посмотрите видео уроки по снятию CRC проверок (Урок #2). Возможно это ваш случай.22 марта 2019 - 22:55 / #5 -
Урок 3 дает пищу для размышлений.
Однако возникла "загвоздка". Программа перестает работать после установки контрольной точки, хотя скрытие отладчика включено. Я раньше встречал в этой программе типовую защиту от трассировки, но она должна срабатывать только в случае, если контрольная точка установлена вблизи кода защиты.
Я продолжу исследование, но на случай, если кому-то интересно, выкладываю программу
Может "ларчик открывается просто" и я не на тот "шпенек" нажимаю.
Я перевел в шест. редакторе всего одну подсказку. Программа запускается, подсказка отображается правильно, больше того, при перемещении "Цели" в окно другой программы, эта программа сворачивается и разворачивается штатным образом, но после щелчка по кнопке "Старт" ничего не происходит.Сообщение отредактировал NNK_RTR 23 марта 2019 - 14:1123 марта 2019 - 14:09 / #6 -
Цитата: NNK_RTRЯ продолжу исследование, но на случай, если кому-то интересно, выкладываю программу
Вот с этого и нужно было начинать, а то полезли в какие-то дебри, которые тут вообще и никаким боком. По факту имеем неделю потерянного времени. Для вас, возможно, оно было плодотворным, но для участников форума - потрачено в пустую. Больше так не делайте.
WinAPIOverride
Мощнейший API-монитор, который позволяет анализировать, отслеживать, внедрять и заменять любые вызовы функций API для приложений Windows.
Инструмент очень специфичный и в локализации, по моему скромному мнению, абсолютно нее нуждается. Кто в теме, и так все понимает.
Зачем переводить то, что не будет востребовано пользователями?
У вас есть опыт по исследованию и дективации защит?
Нужно просить помощи специалистов на краклабе или руборде. При указании заявки обязательно укажите, что это для последующей локализации приложения.
У меня вообще нет никаких мыслей в какую сторону копать. Если глянуть крипто функции, используемые в программе, то такого разнообразия я еще никогда не встречал.24 марта 2019 - 14:39 / #7 -
Если Вы посмотрите другие переведенные мною программы, то заметите, что большая часть из них специфичны.Кто в теме, и так все понимает
Согласен. Я сам себе задавал этот вопрос.
У меня на яндекс-диске включен счетчик скачивания файлов. ollydbg, например, приближается к 2000.для участников форума время потрачено в пустую
Извините. Я воспринимаю все это, как хобби, не как работу, думал и все так...
Вы предлагаете вообще не задавать вопросов? По какому-то признаку сортировать вопросы? По какому? По моему, отвечать на вопросы дело абсолютно добровольное. Жалко Вам времени - не отвечайте.
Мне тоже поступает много вопросов, правда пишут в основном на почту.
Я не считаю, что напрасно трачу время, даже, если по вопросу вижу, что спрашивает дилетант. Наоборот, стараюсь, как можно популярней и подробней изложить ответ. Не на все вопросы я могу ответить, но все равно стараюсь помочь. Вот Вы, например, здорово помогли мне. Дали ссылки на уроки. Спасибо. Кстати, что это за приведенная Вами на скриншоте программа, мой PEiD_v0.95 находит несколько меньше. Дадите ссылочку?
Почему я не обращаюсь на специализированные форумы? Как правило там отвечают "через губу".
Этот сайт тем и хорош, что советуют по доброму.
Вопрос ко всем.
Вы считаете, что не нужно переводить "специфические" программы?
Вы считаете, что вопросы на этом сайте нужно ограничивать по некоторому принципу?24 марта 2019 - 15:48 / #8 -
NNK_RTR, вы неправильно меня поняли (или я неправильно выразился). Я имел в виду, что сразу бы в первом сообщении написали: такая-то программа, такой-то сайт, такая-то ссылка скачать, такая-то проблема. Мы бы сразу вели предметный разговор и к этому моменту уже бы имели какой-то результат.
А переводить или не переводить - это сугубо личное дело каждого. Есть желание, то почему-бы и нет. Я озвучил собственную позицию.Цитата: NNK_RTRКстати, что это за приведенная Вами на скриншоте программа, мой PEiD_v0.95 находит несколько меньше. Дадите ссылочку?
Это анализатор PE-файлов "Detect It Easy", ссылка - http://ntinfo.biz. PEiD_v0.95 - безбожно устарел и очень-очень давно не развивается. Нет смысла им пользоваться. Опять же - по желанию. Нравится PEiD_v0.95 - пользуйтесь.
С наилучшими пожеланиями.24 марта 2019 - 16:12 / #9 -
Во зараза, а на виртуалке она не работает, требует лицензию и при нажатии на кнопку старта ничего не происходит! Шайтан однако.Сообщение отредактировал Krig 24 марта 2019 - 16:4324 марта 2019 - 16:39 / #10
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
---
- Создано тем
- 1197
- Всего сообщений
- 15762
- Пользователей
- 18015
- Новый участник
- HELIUM