Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

АнтиКрэковые Мучения

Delphi , Программа и Интерфейс , Исследование программ

АнтиКрэковые Мучения

Оформил: DeeCo

Мой внутренний голос, очень похожий на соседа справа, столь же язвительно сообщил мне, что видимо есть еще кодеры в русских селениях непостигшие откровения. Нужно снимать лапти и идти в народ (С) Л.Толстой. Был такой знатный программер. Писал очень большие листинги. Но, видимо, очень не любил чистить обувь.

Вобщем, я решил выслать NEXT REVISION проекта АКМ. Произошли следующие изменения.

В проекте BIN2ASM изменился 1 байт. В модуле MainUnit.pas в строке 80:
БЫЛО: Write(TxtFile, ' DW ' + IntToStr(Buf^[i]));
СТАЛО: Write(TxtFile, ' DB ' + IntToStr(Buf^[i]));
Совсем старый стал, забыл зачем я все это пишу. Нам изначально нужен массив байт. Так уж TStream устроен. Короче, умные могут поправить сами, а желающие могут скачать новую версию целиком ( Я знаю, что вы сделаете! ;)))) ).

Поехали дальше. Сам проект АКМ претерпел несколько важных изменений.

Первое, появился некий файл SecUnit.cfm.asm. Интуиция подсказывает мне, что это результат перемолки файла SecUnit.cfm в блоке BIN2ASM.

Второе, Я специально закатал в комментарии старые строки, в образовательных, так сказать, целях. Добавлен класс TCryptHandle = class(TStream), который, в отличии от TCryptFile, является прямым наследником TStream и братаном THandleStream. Думаю, не стоит пускаться в философские рассуждения по структуре этого класса. По крайней мере, мой внутрений голос (коллега справа) ничего не говорит. Он вообще сайчас занят влюбленным рассматриванием Пятого Буилдера. Медитирует, так сказать, на Object Inspector. Не будем его трогать. Я уверен, здесь собрались профессионалы, а не двоешники сбежавшие с последнего звонка.
"двоешники" пишется через "ч" ! Кто-то изучал Делфя на уроках русского. (Сосед-с-права)

Вернемся к нашим BEGIN-ам. Так же добавлена уже знакомая вам процедура TryToCall, которая содержит в себе теже цифири, что обитают внутрях SecUnit.cfm.asm. Хочу обратить ваше внимание на такую важную занозу в TCryptHandle, которая несколько портит универсальность этого "класса". Это константа 2235, Которая мельком появляется в конструкторе и методе Seek. Сие дикое сочетание двух неудов, одного уда и одной взятки за хорошее поведение означает не что иное как размер файла SecUnit.cfm.

Так теперь о том, как все это юзать. В строке 313 главного модуля можно заметить пример на эту тему. Stream := TCryptHandle.Create(@TryToCall);

Ничего выдающегося. И последнее, в модуле CryptUnit.pas поменялась единственная процедурка, выдающая себя за связистку Кэт (симпатичная такая). Там изменилось приведение к типу в цикле FOR. Я вынужден был убить адресный префикс, а то злостный компилятор строго грозил пальцем (прямо как дядюшка Элджер рассказывал).

Итак, качайте и наслаждайтесь. 8-)

Статья АнтиКрэковые Мучения раздела Программа и Интерфейс Исследование программ может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Исследование программ ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
29.03.2024 17:46:29/0.036701917648315/2