Современные решения

для защиты Windows приложений

и восстановления исходного кода

Обсуждение программирования на Delphi в конференции ru.delphi


Re: Генератор ключей

From: "Slava Antonov" <deadbeef [@] so.yandex.ru>


Hello Seitkali Ussenov, you wrote:

> В проге надо релизовать введение лицензионного кода и простенькую

> защиту, типа прописать полученный код в реестре и проверять при каждом

> запуске проги.

> Другими словами, мне нужно написать генератор ключей, генерирующий код

> по имени организации, кто купил прогу. Hужен именно кусочек кода на

> делфи, где реализуется генерация ключа для введенного наименования

> организации.


А в чем проблема? Чем вам вычисление CRC, или MD5 не пример генератора ключей?

--
Всего хорошего, Слава.
deadbeef.narod.ru
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)






[D7] Работа с аpхивами

Как-то 27 августа 05 кто-то похожий на Vitali Larin писал Ilya Chesnokov по поводу [D7] Работа с аpхивами
IC>> А что мешает использовать уже имеющиеся dll-ки? Вот какие фоpматы

IC>> поддеpживает, напpимеp, бесплатный 7-zip: - ---cut "supported

VL> Где можно взять описание? Посмотpев не много в инете не нашел ни

VL> чего подобного.


А это я хз. Ищи лучше.

Пока, Vitali Larin, до встpечи в Аду!
*np: соседи спят спокойно...*
* Origin: Default origin. (2:5029/60.41)

Re: IRC Server/Client

Hello Alexey!

Wednesday August 24 2005 17:05, Alexey Kalaverin wrote to All:

AK>

AK> Hеобходимо с нуля писать сабж, поскольку это будет не классический сабж, а

AK> заточенный под определенные условия. Т.е. вообще от IRC останется в конце

AK> только то, что чат, и только протокол. Жесткую привязку сервера необходимо

AK> делать под asp.net. Суть сервера сводится к возможности линкования их всех

AK> в одну сеть. Суть клиента сводится к возможности обычного чат-клиента, но

с
AK> дружественным для самого неискушеного пользователя интерфейсом, минимум

AK> команд - максимум простых кнопок и настроек, плюс смайлики и прочая

AK> красивая муть.

AK>

AK> Ай нид хелп, с чего начинать? Делфя фо дотнет?...



Она самая. D2005.


С уважением, Ruslan.

* Origin: :) Dniepropetrovsk, UKR (2:464/39)

Как пpикpyтить стаpые pyлезы к 7й дельфе?

Привет, Maks!



MK> пpиоpитет на mwEdit - его пpосто позаpез надо пpикpyтить.

MK> там каpоче надо dsgnintf.dcu - pyгается что его нет пpи компиляции...

MK> када его копиpyю в либ из 5й дельфы - пpи компиляции

MK> pyгается что не знает что такое IDesigner - я в ай(ИКС)yе. Жyть!


А ты посмотри, что ему из dsgnintf требуется. Скорее всего, добрый борланд переложил это в какой-то иной юнит.

WBR, Eugene mailto: www.tld.by [@] gmail*com

* Origin: Я человек несуеверный. До первого привидения. (2:450/118.24)

Re: Как прикрутить старые рулезы к 7й дельфе?

From: "Andrew Holubovski" <news [@] delphiplus.org>


"Maks Komogorov" <Maks.Komogorov [@] p75.f51.n5038.z2.fidonet.org> wrote in

message news:1125008782 [@] p75.f51.n5038.z2.ftn...
> такие замечательные компоненты как

> mwEdit, Unihighligter и библиотека ProLib не прикручиваются

> сходу. Требует переконвертить в новый формат.


Дмитрий Барабаш (автор ProLib) в середине марта этого года выпустил
очередную версию Pro VCL Extensions Library. Она работает под все
win32-версии Delphi. Так, что уже прикручено :-)

см. barabash.org/prolib/index.html

А, что касается Вашего поста про RX Library, то велкам на
www.rx.delphiplus.org.

Best regards,
Andrew Holubovski
DelphiPlus Team
www.delphiplus.org


* Origin: Demos online service (2:5020/400)

Re: Report

From: "Andrew Holubovski" <news [@] delphiplus.org>


"Al Ivanoff" <fly13 [@] rol.ru> wrote in message

news:dei3ae$e89$1 [@] ddt.demos.su...
> Помогите, люди.. Задача, казалось бы, тривиальная: вывести на печать

> заполненный бланк (страховой полис). Изначально я посчитал, что вполне


> Скачал FastReport - стало выглядеть чуть более цивилизованно, но основные

> проблемы остались - жутко искажаются таблицы, невозможно оформить часть

> текста в две колонки (а необходимо как-то сделать рядышком два "места для

> печати"), etc..


У меня страховые полисы на FastReport 3 печатаются без проблем. Главное
посидеть денек с линейкой и подогнать отчет под бланк полиса. При этом
точность попадания получше чем у MS Excel, на котором полис печатался
раньше. Правда, на некоторых принтерах, после установки программы, надо
немного, на пару миллиметров, поменять поле - ибо каждый принтер это
личность :-)

Best regards,
Andrew Holubovski
DelphiPlus Team
www.delphiplus.org


* Origin: Demos online service (2:5020/400)

Report

From: "Anatoly Podgoretsky" <anatoly [@] podgoretsky.com>


Hello, Andrew!
You wrote to Al Ivanoff on Fri, 26 Aug 2005 11:18:14 +0000 (UTC):

AH> У меня страховые полисы на FastReport 3 печатаются без проблем. Главное

AH> посидеть денек с линейкой и подогнать отчет под бланк полиса. При этом


Правильно Андрей, линейка это основной инструмент, остальное просто
приложения для задачи. Без линейки придется потратить много времени и
бумаги.
И не важно чем будет печататься, а линейкой и калькулятором работа плевая.

AH> раньше. Правда, на некоторых принтерах, после установки программы, надо

AH> немного, на пару миллиметров, поменять поле - ибо каждый принтер это

AH> личность :-)


Обычно это касается отступов сверху и слева, но это уже мелочи.

С уважением!
Анатолий Подгорецкий

* Origin: Demos online service (2:5020/400)

DX.MISC Глюки оптимизатора?

Пpивет, Anatoly! :-)

Thu Aug 25 2005 22:19, Anatoly Podgoretsky => Andrey Dudko:


AD>> не писать конструкций наподобие OurException() - будем считать,

AD>> что это грязный хак :) Hо в VCL она используется и в других местах


AP> Так и есть и не просто грязный хак, а очень грязный хак!!!


AD>> оптимизатора или последствия грязного хака, применённого самим же

AD>> Борландом?


AP> Борланд не указ, это его внутреннее дело, а твое следовать

AP> документации. А общем за что боролся, на то и напоролся. Остается

AP> только посочувствовать.


Hасколько я помню, в документации недвусмысленно сказано, что на входе в asm
statement в EBP содержится текущий stack frame, а ESP указывает на текущую
вершину стека. Hасчёт содержимого остальных регистров в этот момент
настоятельно рекомендуется ничего не предполагать.
В данном же случае EBP на входе в asm содержал, по сути дела, случайный мусор.

Hо дело даже не в этом. Пожалуй, я не совсем понятно выразился, что имел в виду
под хождением по лезвию бритвы. Я "жаловался" в общем-то не на то, что написал
так же, как Борланд, а получил грабли. Проблема в том, что в последнем варианте
сваливался не _мой_ код, а код _Борланда_; до моего кода, содержащего грязный
хак, выполнение не доходило, и не могло дойти в принципе - он шёл после вызова
Abort. Я его просто использовал как заглушку, чтобы методом тыка получить такой
исходный код, что EBP после определённого участка программы компилятору в явном
виде не нужен, и он его мог задействовать (и задействовал) для оптимизации. Hо
EBP на самом деле оказался неявно нужен для вполне невинного вызова Abort,
который в результате и не сработал. С таким же успехом валится и
TList.Error(...) и все остальные VCL-ные конструкции аналогичного вида.
Получается, что при "неудачном стечении обстоятельств" вызов Abort, TList.Error
и т.п. может привести к AV. :(

До сих пор этой проблемы у меня не возникало. Hо я, собственно говоря, и не
пользовался активно вышеописанными борландовскими процедурами, и сам такие
конструкции тоже не использовал никогда. Вот и думаю теперь - то ли просто
везло до сих пор, то ли где-то ещё собака порылась :)


2 Max Rusov:
Модуль SysUtils, в котором лежит Abort, собран с W-. В этом легко убедиться,
оттрассировав её. По умолчанию в опциях проекта также W-. Тем не менее,
вызывать Abort документация не запрещает. Видимо, закладываются на то, что
фрейм стека "по дороге" к Abort всё равно где-нибудь да будет создан, например,
в Application.CreateForm), и в худшем случае RetAddr вернёт "левый" адрес, что
обычно не особо критично. В хелпе вообще сказано, что эта опция может
понадобиться только для некоторых инструментов отладки - больше вам никогда ни
для чего эта опция не нужна. Более того, в моём случае фрейм стека как раз
создавался, но был впоследствии "испорчен" оптимизатором.

P.S. А где в документации сказано, что raise xxx _at_ yyy можно использовать
только с $W+ ?

WBR, Andrey Dudko. mailto: a_dudko [@] mail.ru

* Origin: Что ж я маленьким не сдох ! (2:5077/16.39)

Цвет текста в TStatusBar

[ ] Привет, как жизнь, Chernomorets ?

25 Августа 2005 года ты писал(а) к All:

CE> Подскажите, имеется ли какая-нибудь возможность вывода текста

CE> (SimpleText) в цвете, отличном от черного в компоненте TStatusBar?

CE> Устал я с ним бороться... :( Установка Font.Color, а также

CE> UseSystemFont, ParentColor и т.п. ничего не дает. Вариант с ручной

CE> отрисовкой панелей использовать не хотелось бы.

CE> D5, WinXP - если это важно.


Статусбар, это стандартный элемент управления Windows и как все отображает шрифт, заданный в параметре clBtnText, который устанавливается через Панель управления. Поумолчанию этот цвет чёрный, но он может менятся в зависимоти пользовательской темы. StatusBar и связанные с ним панели имеют возможность самостоятельной перерисовки (owner-draw), позволяющей рисовать текст различными цветами. Для этого необходимо в TStatusBar.Panels установить свойство Style в OwnerDraw.

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
if Panel = StatusBar.Panels[0] then
begin
StatusBar.Canvas.Font.Color := clRed;
StatusBar.Canvas.TextOut(Rect.Left, Rect.Top, 'Текст первой панели')
end
else
begin
StatusBar.Canvas.Font.Color := clGreen;
StatusBar.Canvas.TextOut(Rect.Left, Rect.Top, 'Текст второй панели');
end;
end;

[ ] Пока, Chernomorets, счастливого тебе коннекта ! ...

* Origin: Тянем-потянем, вытянyть... NO CARRIER (2:6000/14.6)

Re: Функция encrypt

From: "Alexander B. Bokovikov" <bokovikov [@] apress.ru>


On Sun, 21 Aug 2005 12:23:36 +0000 (UTC), Mihail Piterskiy
<piter [@] pechora.org> wrote:


>Alexander B. Bokovikov пишет:

>

>AB> Во-первых не Flash, а ColdFusion.

>

>слушай, а ты не в курсе, как бы мне самому заюзать функцию эту encrypt?

>Что нужно поставить, что делать?


Вообще-то не в курсе. Видимо ColdFusion. Что ж еще :)
Только я не понял, зачем это все и какое это отношение имеет к
эхотагу.

Александр Боковиков
E-mail: bokovikov(a)mail.ru (дом.) abokovikov(a)apress.ru (раб.)
www.apress.ru/pages/bokovikov/delphi
* Origin: Demos online service (2:5020/400)