Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 03:57

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 10, 2009 16:48 
Для желающих поэкспериментировать и проследить трансформацию высокоуровневого кода в низкоуровневый можно воспользоваться, например, FreePascal’ем. Он позволяет получить оптимизированный и не оптимизированный ассемблерный код, который можно сравнить с дизассемблерным листингом самого исполняемого файла и процесса им созданного. Проделав то же самое в разных ОС, из различий складывается некоторое представление об их работе. Для руководства можно воспользоваться статьями о BASM’е http://podgoretsky.com/ftp/Docs/Delphi/ ... ers-ru.doc и http://pascal-books.narod.ru/books/asmindelphi.zip


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 13, 2010 09:50 
Вот, нашел http://fforum.winglion.ru/viewtopic.php ... a9ae391dfd
Когда я выше говорил о совмещении участков кода из разных библиотек, то листинг из Hex-редактора – это один из возможных вариантов. Предположим, мы имеем программу А, которая использует библиотеку В. Библиотека В содержит функцию С, которая своими параметрами использует системную библиотеку D и так далее, возможно, до ядра ОС. В дизассемблере смотрим точки и адреса перехода из библиотеки в библиотеку. Затем, совмещаем нужные участки кода в один листинг и получаем что-то типа:
Код:
AAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCDDDDDAAAAAAAAAA…

ОС в реальной работе устраивает много проверок и зафиксировать только нужный алгоритм проблемно. Однако, собрав все нужные библиотеки в одном листинге, разруливать переходами проще.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 17, 2010 19:05 
4.03.10 Вопрос снят


Последний раз редактировалось idem Чт мар 04, 2010 12:04, всего редактировалось 2 раз(а).

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 18, 2010 11:27 
Крис Касперски «Фундаментальные основы хакерства. Искусство дизассемблирования»
Цитата:
Содержание
Предисловие редактора …. 3

Шаг седьмой. Идентификация ключевых структур языков высокого уровня …. 84
Идентификация функций …. 85
Идентификация стартовых функций …. 97
Идентификация виртуальных функций …. 101
Идентификация конструктора и деструктора …. 124
Идентификация объектов, структур и массивов …. 133
Идентификация аргумента this …. 146
Идентификация операторов new и delete …. 147
Идентификация библиотечных функций …. 150
Идентификация аргументов функций …. 156
Идентификация значения, возвращаемого функцией …. 216
Идентификация локальных стековых переменных …. 252
Идентификация регистровых и временных переменных …. 266
Идентификация глобальных переменных …. 276
Идентификация констант и смещений …. 282
Идентификация литералов и строк …. 293
Идентификация условных операторов if-then-else …. 306
Идентификация операторов switch-case-break …. 341
Идентификация циклов …. 355
Идентификация математических операторов …. 386

Заключение …. 443


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 06, 2010 08:04 
В заключении книги «Фундаментальные основы хакерства. Искусство дизассемблирования» Крис Касперски, приглашая к дискуссии, пишет
Цитата:
Гарантированно воспрепятствовать анализу кода позволяет только шифрование программы… Если ключ содержится внутри программы, стойкость такой защиты близка к нулю… Другое дело, если ключ содержится вне программы. Тогда стойкость защиты определяется стойкостью используемого криптоалгоритма (при условии, что ключ перехватить не возможно)… В общих чертах идея защиты заключается в описании алгоритма с помощью некой математической модели, одновременно с этим используемой для генерации ключа. Разные ветви программы зашифрованы различными ключами… Для реализации этой идеи автором был создан специальный событийно-ориентированный язык программирования…
Это всё для меня слишком сложно. Однако, полагаю, что всё перечисленное возможно реализовать, переводя исполняемый файл в текстовый формат, создавая ключ на ключ с последующим восстановлением по технологии представленной выше в данной теме и обходиться без специального ЯП. Или я в чем-то ошибаюсь?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 06, 2010 17:18 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
А зачем защищать код? Парить мозг для того, чтобы все остальные тоже парили себе мозг?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 06, 2010 20:32 
dynamic-wind писал(а):
А зачем защищать код? Парить мозг для того, чтобы все остальные тоже парили себе мозг?
Вообще-то, тема на различных форумах обсуждаемая. В связи с чем – не знаю точно, не вникал. На первый взгляд, шифруются там, где есть чего прятать(банки и еже с ними), ну и вирусы уже без этого не могут. Мне же интересна техническая сторона вопроса – сделать проще и надежнее или убедиться, что в данном случае будут уязвимости. Развлечение такое:)


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB