
Быстрый поиск
Введите фрагмент названия статьи для поиска

Распаковка и расшифровка скриптов JavaScript
04.11.2008 | Категория: Темная сторона Силы | Автор: ManHunter
Эта статья - дополнение к статье про деобфускацию скриптов. Здесь будут рассмотрены основные принципы шифровки и упаковки, слабые места защит, способы ручного снятия, а также универсальные инструменты для автоматического снятия упаковщиков и навесной защиты со скриптов JavaScript. В последнее время все чаще исходный код скриптов шифруется или пакуется. Этим начали увлекаться Яндекс, DLE и другие популярные проекты, а красивые байки про "заботу о пользователях", "экономию трафика" и прочую чушь выглядят очень смешно. Что ж, если кому-то есть что скрывать, значит наша задача вывести их на чистую воду.Начнем с теории. Из-за особенностей выполнения JavaScript все шифровщики и упаковщики, несмотря на их разнообразие, имеют всего два варианта алгоритма:
Code (JavaScript) : Убрать нумерацию
- var encrypted='зашифрованные данные';
- function decrypt(str) {
- // функция расшифровки или распаковки
- }
- // Выполнить расшифрованный скрипт
- eval(decrypt(encrypted));
Code (JavaScript) : Убрать нумерацию
- var encrypted='зашифрованные данные';
- function decrypt(str) {
- // функция расшифровки или распаковки
- }
- // Вывести на экран расшифрованные данные
- document.write(decrypt(encrypted));
Читать статью целиком »
Просмотров: 96304 | Комментариев: 83

Halloween 2008 - фестиваль "Edge of the Night XI"
02.11.2008 | Категория: Жизнь в оффлайне | Автор: ManHunter

Halloween 2008 - фестиваль "Edge of the Night XI"
Сегодня сходил на фестиваль "Edge of the Night XI" в клуб "Точка". Сам узнал о концерте лишь за несколько часов до начала, так что никого из единомышленников собрать не успел, поехал в гордом одиночестве.
Открывало концерт московское трио DBS, что в переводе означает "Немецкий Конный Спецназ". Ребята играют в собственном оригинальном стиле "bodybilly", это что-то около индастриала, EBM и electro, причем все сразу. Впечатление очень даже неплохие, особенно порадовал кавер на Europe - The Final Countdown в industrial-обработке.
После небольшой музыкальной паузы концерт продолжила немецкая команда второго эшелона Accessory. Я хорошо знал этот дуэт по mp3-записям, теперь с огромным удовольствием послушал их живьем. Ребята не разочаровали, выдали "на гора" EBM настоящего немецкого качества. Не обломались, когда им кто-то из зала протянул открытую бутылку русской водки - и Дирк, и Майк отхлебнули прямо из горла под одобрительные вопли собравшейся публики.
Наконец, после такого массированного разогрева и традиционной музыкальной паузы на сцену вышли хэдлайнеры сегодняшней ночи - Painbastard. Как и их земляков Accessory, я знал этот дуэт только по записям, и собственно на концерт шел ради них. Всегда удивлялся, как им удается создавать одновременно и забойнейшие dark-электрические композиции, и красивые медленные электронные мелодии. А тут я все это видел живьем! Невероятную энергетику Алекса на сцене смело могу поставить в один ряд с Hocico, все исполненные им песни были приняты на отлично.
Afterparty дожидаться не стал, поехал домой отсыпаться. Пользуясь случаем, заценил репертуар клуба на ноябрь. Наперед загадывать не буду, но еще несколько концертов я бы с удовольствем посетил.
Просмотров: 3525 | Комментариев: 0

Установка и настройка Flat Assembler (FASM)
01.11.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter

Установка и настройка Flat Assembler (FASM)
Программирование на Ассемблере я начинал с Turbo Assembler (TASM) под MS-DOS, сейчас пишу на Flat Assembler (FASM) под Windows. Это очень удобный и мощный пакет для разработки, бесплатный для любого использования. Написан полностью на самом себе, исходники прилагаются. Мне он нравится тем, что позволяет хранить код и описания ресурсов в одном ASM-файле, поддерживает макросы, генерит чистый машинный код без всякой незаявленной самодеятельности, не требует лишней рутинной работы типа прописывания каждой задействованной функции в секцию импорта и еще множество приятных мелочей, облегчающих жизнь программисту. Единственным недостатком является отсутствие достаточного количества готовых исходников, например по сравнению с тем же MASM'ом, а портирование исходников с других платформ на FASM иногда вызывает затруднения. Но на мой взгляд портирование, в отличие от копирования, помогает гораздо лучше изучить язык. Несколько исходников-примеров есть в самом дистрибутиве FASM, еще несколько примеров можно скачать с офсайта или поискать в Интернете. Ответы на многие возникающие вопросы можно найти на официальном форуме FASM. Форум англоязычный, но на нем немало наших соотечественников. К новичкам на форуме относятся хорошо и отвечают даже на самые глупые вопросы.
Читать статью целиком »
Просмотров: 82080 | Комментариев: 57

Готовим жульен с грибами и курицей
30.10.2008 | Категория: А еще я туда ем! | Автор: ManHunter

Готовим жульен
Жульен - одна из моих самых любимых горячих закусок. Готовить его можно из множества компонентов - курица, креветки, мясо, даже рыба. Рецепт простой, блюдо вкусное, одно плохо, что жульен очень быстро заканчивается :) Сегодня я расскажу как готовить традиционный жульен с грибами и курицей. Для приготовления потребуется 300 грамм куриного мяса, 400 грамм грибов, 200 грамм твердого сыра, 3 столовые ложки сметаны, 2 столовые ложки муки.
Читать статью целиком »
Просмотров: 56328 | Комментариев: 39

Создание прозрачных окон в Windows
29.10.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter
Еще один простой в реализации, но красивый эффект для ваших программ - прозрачные диалоговые окна. Для этого надо, чтобы диалоговое окно было прописано в ресурсах или создавалось с расширенным стилем WS_EX_LAYERED, а при его инициализации вызывалась функция SetLayeredWindowAttributes. Значение коэффициента прозрачности может быть от 0 (полностью прозрачное окно) до 255 (непрозрачное окно). Рекомендуется значение 240-245, при этом эффект прозрачности уже заметен, а содержимое окна еще легко читается и не сливается с перекрываемыми окнами. Этой же функцией можно динамически менять прозрачность уже созданного окна, например чтобы создать эффект его плавного появления или исчезновения.Code (Assembler) : Убрать нумерацию
- ; Сегмент кода
- section '.code' code readable executable
- ...
- ; Процедура обработчика окна
- proc DialogProc hwnddlg,msg,wparam,lparam
- ...
- ; Инициализация окна?
- cmp [msg], WM_INITDIALOG
- je wminitdialog
- ; Закрытие окна?
- cmp [msg], WM_CLOSE
- je wmclose
- ...
- wminitdialog:
- ; Установить первоначальную прозрачность окна 245
- invoke SetLayeredWindowAttributes, [hwnddlg], 0, 245, LWA_ALPHA
- ...
- wmclose:
- ; Плавное исчезновение окна при его закрытии
- mov ecx,245
- fade_dialog:
- push ecx
- ; Установка нового атрибта прозрачности
- invoke SetLayeredWindowAttributes, [hwnddlg], 0, ecx, LWA_ALPHA
- ; Небольшая пауза
- invoke Sleep,2
- pop ecx
- loop fade_dialog
- ...
- ; Секция ресурсов
- section '.rsrc' resource data readable
- ; Описание диалогового окна в ресурсах.
- ; В расширенных стилях должен быть прописан атрибут "WS_EX_LAYERED"
- dialog demo, 'Demo', 70, 70, 190, 175,\
- WS_CAPTION + WS_POPUP + WS_SYSMENU + DS_MODALFRAME,\
- WS_EX_LAYERED
- ...
Читать статью целиком »
Просмотров: 11469 | Комментариев: 4
