Хотел сегодня записать скринкаст, но быстро остыл, так что ловите очередную статью из цикла "Easy crack", цикла, который доказывает, что для взлома даже серьезных(на первый взгляд) программ не обязательно владеть отладчиком, как дирижер палочкой. Сегодня на повестке дня у нас получение исходных кодов "серьезной" программы. Конечно серьезной, ведь совсем недавно ее ценник находился в районе 300 мертвых енотов. Название ей - OSP(Odnoklassniki spamer). Пользуясь случаем передаю привет explo1t'y, который мало того, что не умеет поддерживать свой софт, так еще и говнокодит.
Начнем. Нам уже известен ЯП, на ктором написана программа(автор сам его нам сказал), это C#. Пораскинув мозгами, собрав их обратно предполагаем, что автор не извращенец и использовал .Net. Для начала проверим с помощью DiE не запакована ли наша программа. Нет, значит мы спокойно можем скачивать .net reflector и пробовать декомпилировать с помощью него нашу программу.
Для справки:
Скачиваем, запускаем, как обычно - File -> Open, видим следующее:.NET Reflector
Материал из Википедии — свободной энциклопедии
.NET Reflector — бесплатная утилита для Microsoft .NET, комбинирующая браузер классов, статический анализатор и декомпилятор, изначально написанная Lutz Roeder.
Возможности
Программа может использоваться для навигации, поиска и анализа содержимого .NET-компонентов, а также сборок и переводить двоичные данные в форму, пригодную для чтения человеком. Reflector позволяет производить декомпиляцию .NET-сборок на языки C#, Visual Basic .NET и MSIL. Reflector также включает дерево вызовов (англ. Call Tree), которое может использоваться для навигации вглубь IL-методов с целью определения, какие методы они вызывают. Программа отображает метаданные, ресурсы и XML-документацию. .NET Reflector может быть использован .NET-разработчиками для понимания внутренней работы библиотек кода, для наглядного отображения различий между двумя версиями сборки, и того, как различные части .NET-приложения взаимодействуют друг с другом.
.NET Reflector может использоваться для нахождения мест, имеющих проблемы с производительностью и поиска багов. Он также может быть использован для поиска зависимостей сборки. Программа может быть использована для эффективной конвертации кода между C# и VB.NET.
Клик правой кнопкой мыши -> disassemble:
Раскрыв список, мы можем наблюдать различные участки кода, отлично, мы получили исходный код, благодаря халатности автора, он мог бы обфусцировать код, тогда бы нам пришлось выполнять еще несколько лишних шагов, но в данном случае нам этого не потребовалось.
Теперь остался один небольшой шаг, экспортируем проект для редактирования в удобной для нас среде. Правый клик на OSP -> Export, выбираем путь для сохранения нашего проекта и открываем его. Я использовал Microsoft Visual C# Express(распространяется бесплатно), но если вы по каким-то причинам не можете или не хотите ее скачивать, то предлагаю вам альтернативный вариант - Sharp Develop.
Все готово, теперь нам осталось подредактировать код, исправить ошибки, которые выдаст студия при запуске(а она их выдаст) и наслаждаться проделанной нами работой.
Update1: KSDR скинул интересный crackme, который идеально подходить для закрепления материала. Скачать с нашего сервера.
Всегда ваш, dahaka. И помните - все не так сложно, как вам кажется.
© r0 Crew







Reply With Quote
Thanks
