Views
3 years ago

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

НЕСЛУЧАЙНО CUDA ИДЕМ? phpMyAdmin - Xakep Online

взлом Module.

взлом Module. netmod ule Some.dll Манифест Module. netmod ule logo.jpeg Хеш Хеш Хеш logo.jpeg Цифровая подпись RSA Открытый+Закрытые ключи M0R0 / M0R0@INBOX.RU / ТРУДНОСТИ ПЕРЕВОДА УЧИМСЯ ЛОМАТЬ .NET-СБОРКИ Первая версия .NET впервые была представлена Microsoft в 2002 году. С тех пор утекло много воды, и на подходе уже 4-я версия фреймворка. Число софтин растет быстрее, чем размножаются хомячки, а ты боишься к ним даже приблизиться. Пора разобраться, что к чему, и восстановить справедливость. >> взлом ЗАГАДОЧНЫЙ ФРЕЙМВОРК Говоря о .NET, следует признать, что в Microsoft вовсе не дураки работают, и иногда в недрах корпорации рождаются поистине интересные решения. Я не буду вдаваться в подробности относительно противостояния .NET и Java, проводить детальные сравнения и меряться всем, чем можно. Факт налицо — .NET развивается и уже включен в официальную поставку новых ОС (Vista/2008/7) от Microsoft. Microsoft предоставляет не только среды разработки и исполнения, но и богатые библиотеки классов, позволяющие реализовать практически любой функционал пользовательского приложения. Совместно с Hewlett-Packard и Intel были стандартизованы CLI, C# и C++/CLI (ECMA-335, ECMA-334, ECMA- 372, соответственно). Это открыло дорогу для Novell с их проектом Mono, реализующим данные стандарты и позволяющим запускать приложения .NET на других, безоконных операционных системах. Microsoft делает ставку на .NET как на лидирующую среду для создания приложения под ОС Windows, а, значит, и нам следует отнестись к ней с уважением и научиться справляться с потенциальными трудностями. Одним из несомненных преимуществ .NET является поддержка нескольких языков программирования. В первую очередь, это заостренный C (C#) и, конечно же, Basic в формате VB.NET. В рамках одного проекта можно комбинировать сборки, разработанные на различных языках. Среда сама обеспечит корректность исполнения конечного решения. Каким же образом это достигается? Реализованы концепции песочницы, CLI и JIT. ОЛЬГА, ПРОЩАЙ! На самом деле, все достаточно просто (здесь опять можно вспомнить о Java, но мы этого делать не будем). Независимость от языка программирования и от конечной платформы достигается за счет компиляции приложения не в нативный, а в промежуточный байт-код. В терминологии 054 XÀÊÅÐ 07 /127/ 09

взлом CRACKME ОТЧАЯННО СОПРОТИВЛЯЕТСЯ ШИФРУЕМ СБОРКУ Microsoft он носит название MSIL (Microsoft Intermediate Language), а после стандартизации все называют его просто CIL (Common Intermediate Language) или, еще круче, — IL. CLR (Common Language Runtime) отвечает за компиляцию байт-кода в нативный, обеспечивая его выполнение на целевой системе. При этом используется подход JIT (Just-In-Time), согласно которому компиляция производится оперативно по мере необходимости. Посмотрим, что представляет собой .NET-приложение глазами Ольги. Для этого создадим простенькое приложение Windows.Forms, содержащее одну кнопку и вызывающее MessageBox с сообщением «Hello, World» при ее нажатии. Не правда ли, очень оригинально? Создал? Тогда грузи сборку в Ольгу и наслаждайся результатом. Приложение загрузилось, а в окне дизассемблера — пусто. Обидно до соплей. Точку входа не поймали и чего дальше делать — непонятно. Жмем паузу и переходим к отладке программы. Ставим условную точку останова на TranslateMessage для перехвата нажатий левой кнопки мыши (WM_LBUTTONUP: MSG == 202). Кликаем и погружаемся в транс — казалось бы, элементарный вызов MessageBox заставляет Ольгу совершать кучу действий и не дает никакого понимания логики работы программы. Наверное, не все так уж и ужасно, но сей факт заставляет задуматься о целесообразности использования классического отладчика для работы с .NET-сборками. Итак, продолжим поиск новых друзей-отладчиков. БРАТЬЯ-БЛИЗНЕЦЫ: ILASM И ILDASM Динамическое компилирование делает процедуру отладки практически невозможной для сложных приложений. Но зачем пытаться отлаживать нативный код, когда можно подняться выше и работать на уровне IL? Первая проблема — как этот самый код получить, XÀÊÅÐ 07 /127/ 09 имея под рукой только бинарник. Для этого сама Microsoft предлагает инструмент под названием ILDASM. Название выбрано неспроста (надеюсь, ты уже догадался, что к чему). ILDASM устанавливается автоматически при установке Visual Studio, так что, поверь, он у тебя уже есть. Запускаем консоль студии (или просто подгружаем переменные среды с помощью скрипта vsvars32.bat) и запускаем ildasm. Открываем наше приветливое приложение и утыкаемся в нечто похожее на диаграмму классов. Развертывая метод любого из классов, получаем его IL-код. С кодом мы разберемся немного позже, а сейчас проведем эксперимент. Выбираем меню File Dump и сохраняем код всего приложения в текстовый файл Sample1.il. После этого запускаем ILASM (угадай для чего): ilasm Sample1.il. Получаем файл с непонятным расширением exe, запускаем и видим до боли знакомую форму. Перед нами простейший алгоритм патчинга приложений: • дизассемблируем код в IL-язык; • дампим в текстовый файл; • корректируем текст в любимой среде программирования aka «Блокнот»; • собираем приложение из IL-кода. УЧИМ МАТЧАСТЬ Итак, IL. Неплохо хотя бы немного представлять, как писать на IL, скажешь ты, и будешь абсолютно прав. Чтобы разбираться в логике работы, а тем более, иметь возможность ее изменять, нам нужно изучить азы языка. Этим сейчас и займемся. Для начала определимся с инструментом. «Блокнот» — великая вещь, но хотелось бы иметь под рукой среду, обеспечивающую комфортную работу на всем цикле разработки: подсветку синтаксиса, автоматическую компиляцию и линковку, отладку. Напрашивается Visual Studio, ан нет, Microsoft не реализует поддержку IL. Возможно, есть какиенибудь плагины, но мне их найти не удалось. По большому счету, можно программировать прямо ВОССТАНАВЛИВАЕМ БИНАРНИК ИЗ IL-КОДА в IL, поэтому будем искать среду программирования и отладки. Проектов таких два: DILE и ILIDE#. Первый — редактор, позволяющий отлаживать исполняемый код. Самое смешное, что как раз редактировать он и не умеет (классно назвали). Второй проект представляет собой полноценную среду программирования. Однако попытка импортировать код, полученный из ILDASM, приводит к невозможности компиляции (классная IDE). В конечном итоге выбор пал на среду SharpDevelop, в которой можно создавать проекты с поддержкой IL. Такую же поддержку предоставляет MonoDevelop, однако у меня он работать отказался, а то, что не работает, идет в топку. Недостатки SharpDevelop: отсутствует поддержка автодополнения и невозможна работа с диаграммами классов. Напишем небольшое консольное приложение, на примере которого рассмотрим основные языковые конструкции. Программа будет складывать два числа и выводить их сумму. Вся программа состоит из набора директив и команд. Директивы начинаются с символа точки и реализуют декларативные функции: • .assembly — объявляет определение манифеста и указывает, какой сборке принадлежит текущий модуль; • .method — объявляет метод; • .entrypoint — объявляет, что указанный метод реализует точку входа в приложение; • .maxstack — указывает максимальное количество слотов в стеке для передачи параметров функции; •.locals — объявляет локальные переменные метода. 055

Скачать - Xakep Online
ИюНь - Xakep Online
Май - Xakep Online
Ноябрь - Xakep Online
ЛУЧШИХ ВИРУСОВ - Xakep Online
JIT SPRAY АНАЛИЗ TDSS - Xakep Online
Скачать - Xakep Online
Январь - Xakep Online
УЧИМ КАКОценить сбалансированность системы ... - Xakep Online
ЛЕГКИЙ ХАК - Xakep Online
КОНКУРС - Xakep Online
Офисное западло - Xakep Online
ВЗЛОМ ИНТЕРНЕТ-МАГАЗИНА: - Xakep Online
7 ЧУДЕС KDE - Xakep Online
Скачать - Xakep Online
Ноябрь - Xakep Online
Взлом GSM - Xakep Online
Untitled - Xakep Online
WebMoney - Xakep Online
с татьи - Xakep Online
сишься, что левые трояны, вирусы и всякая про ... - Xakep Online
2009 - Xakep Online
cамые лучшие материалы 1-4 номеров + вся ... - Xakep Online
c-лето ;) - Xakep Online
Много новогодних конкурсов Много новогодних ... - Xakep Online
содержание 10 (59) - Xakep Online
ЗАКАДРИ КАРДИНГ НАШИ ИДУТ! - Xakep Online