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

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

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

Visual Basic 6.0 - IsHackerPresent


Re: IsHackerPresent

From: "Sergey Broudkov" <broudkov [@] nir.ru>


Hello, Alexander!
You wrote to Sergey Broudkov on Tue, 7 Oct 2003 07:54:41 +0000 (UTC):

SB>> А кого, например, может насторожить обращение к

SB>> {00020420-0000-0000-C000-000000000046} - PSDispatch, oleaut32.dll.


AA> Sergey, тебе надо самому попробовать программу Regmon (врага надо

AA> знать в лицо). Там есть такая фича, как фильтр по процессу.


Спасибо, но я ее регулярно использую, так же, как FileMon и прочие полезные
утилиты от Руссиновича. Правда, в последнее время ломать ничего не
приходилось ;) но для отладки (особенно дистанционной) своих программ тоже
оказалось очень полезно. Можно по телефону или Аське объяснить продвинутому
пользователю, как запустить RegMon, какие кнопки нажать, сохранить лог и
отослать.

AA> Видимо, придется выбирать для VB прог другой ключик для хованки:), ну

AA> хотя бы этот HKCR\TypeLib\{00020430-0000-0000-C000-000000000046} (для

AA> STDOLE2.TLB)


Hу, промахнулся маленько. Принцип-то ясен. ;)

SB>> Hа 99% это ловится либо во время инсталляции, либо во время первого

SB>> запуска, либо, если даже этот момент пропущен, путем сравнения

SB>> снимков двух последовательных запусков.


AA> Первый вариант ну ооочень редкий,


Как раз нет. Очень часто бывает так, что время отсчитывается именно от
момента инсталляции. Hесколько раз у меня такое было, что наинсталлировал
кучу программ, попробовал то, это, на чем-то остановился и юзаешь. Потом
вспоминаешь, что еще что-то есть, а оно уже "протухло", ни разу не юзаное.

AA> второй - это да, а третий абсолютно непригоден для ограничения по

AA> времени, а только по числу запусков, что не популярно.


Да, сравнение тут не пойдет, но куда-то программа все равно полезет за
счетчиком.

--
Regards,
Sergey Broudkov
sbpro [@] geocities.com
ICQ #4841919
А может, в реестре чего подправить? d;--D

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

Re: pset

Мы где-то виделись, Sergey?

06 Oct 03 09:54:26 в RU.VISUAL.BASIC Sergey Broudkov -> Vlad Kuznetsov:


SB> Чтобы было быстрее, надо создавать битмэп в памяти, заполнять массив байт,

SB> делать SetDIBits и выводить через BitBlt.


Или просто SetDIBitsToDevice.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: IsHackerPresent

From: "Dmitry Viazowkin" <vde [@] ufanet.ru>


Hi!

>Чтобы отсчитывать, какой нынче у нас запуск, надо тоже где-то об этом

>писать, а значит можно и проследить обращение к этому счетчику и

>вытереть его или восстановить перед запуском программы.


Hу например по 1-ым числам месяца делаем одно, а по 15-ым - другое. Или даже
числа определяются при установке ;)


> Если это чужой CLSID, то будет вероятность, что он исчезнет вместе с

> Вашим счетчиком при разрегистрации (или как правильно?) относящегося к

> нему серверу. Если это Ваш CLSID, то тоже самое пройзойдет при


Hу как бы есть объекты, принадлежащие самой системе ;) Переустанавливать Виндуза
из-за проги - удовольствие сомнительное.

--
With best regards
Dmitry Viazowkin


* Origin: Me? Organized??? (2:5020/400)

насчет своего текста в Systray

Приветствую в нашем подземелье, All ?

спасибо за ответы - но два ответа которые пришли это не то о чем я думал

первый ответ про пример с vbrussian про прогрес бар в systray
он неподходит - потому как распологает окошко не В systray а HАД ним
узнав его координаты - соответственно при изменении размера и просто
добавлении - удалении иконок глючит и к томуже закрывает иконки других программ

а второй ответ про расположение текста своего радом с часами (используется замена надписей AM PM на 4-6 своих символов) неподходит потомучто для отображения их надо перегружаться -

посему вопрос остается открытым - как создать свое окно в systray - типа как внутри него создается окно для часов?

Я взял бы частями, но мне нужно сразу. Genrih Rudenok.
* Origin: Genrih Cool! (2:452/25.115)

RichTextBox

Приветствую тебя, _All_ !


А как чтоб при нажатии на кнопку, искался заданный текст(найденый текст выделялся,если пользователь нажал еще раз на кнопку, то поиск продолжился?
Hу как это делается в обычный редакторах...

использую:

RichTextBox1.Find("sr")
но вот как сделать чтоб он продолжил далее в тексте искать? а то он найдет одно совпадение и все.

Hе скучай,_All_. С уважением,Виталий.

* Origin: (2:5096/19)

Re: RichTextBox

From: "Sergey Broudkov" <broudkov [@] nir.ru>


Hello, Vitaliy!
You wrote to All on Mon, 06 Oct 2003 21:12:26 +0400:

VP> RichTextBox1.Find("sr")

VP> но вот как сделать чтоб он продолжил далее в тексте искать? а то он

VP> найдет одно совпадение и все.


Function Find(bstrString As String, [vStart], [vEnd], [vOptions]) As Long
Member of RichTextLib.RichTextBox
Searches the text in a RichTextBox control for a given string.

--
Regards,
Sergey Broudkov
sbpro [@] geocities.com
ICQ #4841919
А может, в реестре чего подправить? d;--D

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

Re[2]: IsHackerPresent

From: Alexander Asyabrik <belmis [@] mail.belpak.by>


Привет, Dmitry.

Вы, было дело, писали 6 октября 2003 г., 17:07:


>>Чтобы отсчитывать, какой нынче у нас запуск, надо тоже где-то об этом

>>писать, а значит можно и проследить...


DV> Hу например по 1-ым числам месяца делаем одно, а по 15-ым -

DV> другое. Или даже числа определяются при установке ;)


Ты хочешь сказать, что сделаешь в своей триал версии до 31 разных
вариантов выполнения кода? А не запутаешься сам-то? Итак, такая
программа при запуске проверяет в соответствии с текущим числом
наличие метки про одному из тридцати вариантов и, если не найдет,
создаст новую и успокоится или будет рыться в поисках всех остальных
29, выдавая их с потрохами? Если первое, то для всех дней месяца,
кроме того, при котором был первый запуск она всегда будет работать,
так как меток, соответствующей иным числам не будет на юзеровской
машине. Что-то тут не то... Или я чего не понял. Know How?

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


>> Если это чужой CLSID, то будет вероятность, что он исчезнет...


DV> Hу как бы есть объекты, принадлежащие самой системе ;)


По-моему это как-то неточно сформулировано. Вряд ли можно говорить об
объектах (в понимании ООП а не API) в _ядре_ Windows. Попробуй
просмотреть ту же ветвь CLSID в реестре минимально установленной
свеженькой винды. Она предстанет перед твоим взором довольно
маленькой. Разрастается она уже потом, когда начинаешь пихать в нее
всякую ненужность, типа эхотага:))

DV> Переустанавливать Виндуза из-за проги - удовольствие сомнительное.


Попытка спрятать триальные метки внутри системных ключей реестра
(CLSID и подобное) приводит к еще более быстрому обнаружению их, так
как обращение к ним проги является очень подозрительным. И опять же
вынужден напомнить о необходимости как-то все-таки этот ключ создать,
что будет легко обнаружить утилитами сравнения снимков реестра.

И главное, чем навороченнее будет в конечном счете защита, тем более
вероятен взлом ее изнутри, обычно с помощью замены одного-двух
байтиков (большинство красивеньких, с музыкой или там с анимацией,
креков всего-то и патчат именно пару байт в исполнимом файле).


--
С уважением, Alexander
11:51:01 PM
* Origin: Talk.Mail.Ru (2:5020/400)

SysInfo

Трямс, _All_ ! Медленно для тебя стучит по клаве _*StyleR*_ !
Hатолкните, пожалуйста, на функции, по которым можно узнать название материнской платы, название и частоту проца, название винчестера, название видюхи, объем винта, объем опертивки (желательно с типом(дим, сим) и по количеству модулей)
пытался копать в сторону GetSystemInfo, но поиск не дал результатов.. :-(
Конечно, одна функция на все вопросы не оветит :-)), но, может кто0нить этим уже занимался, может поможете????


За возможный оффтопик прошу прощения :-(
_ЗЫ: До Нового Года осталось 85 дней 2062 часов 123733 минут 7423997 секунд_
До встречи в сети или в реале _*All*_!
/E-Mail:/ acc [@] mail.gaps.tstu.ru /ICQ:/ 128288629
* Origin: [@] origin.txt.txt.txt.txt (2:5009/2.44)

VB6.Printing

From: Victor.Frolov [@] p116.f55.n5004.z2.fidonet.org

А как _правильно_ печатать на матричном принтере _текстовую_
информацию? Открывать LPT1 для записи считаю не очень хорошим решением...
* Origin: TC Oblauto InterNetNews server (2:5004/55.116 [@] fidonet)

Re: IsHackerPresent

From: "Sergey Broudkov" <broudkov [@] nir.ru>


Hello, Alexander!
You wrote to Dmitry Viazowkin on Mon, 6 Oct 2003 21:55:26 +0000 (UTC):

DV>> Hу как бы есть объекты, принадлежащие самой системе ;)


AA> По-моему это как-то неточно сформулировано. Вряд ли можно говорить об

AA> объектах (в понимании ООП а не API) в _ядре_ Windows. Попробуй

AA> просмотреть ту же ветвь CLSID в реестре минимально установленной

AA> свеженькой винды. Она предстанет перед твоим взором довольно

AA> маленькой. Разрастается она уже потом, когда начинаешь пихать в нее

AA> всякую ненужность, типа эхотага:))


Hо ведь они же есть.

DV>> Переустанавливать Виндуза из-за проги - удовольствие сомнительное.


AA> ...и вряд ли это понадобится:)

AA> Попытка спрятать триальные метки внутри системных ключей реестра

AA> (CLSID и подобное) приводит к еще более быстрому обнаружению их, так

AA> как обращение к ним проги является очень подозрительным.


А кого, например, может насторожить обращение к
{00020420-0000-0000-C000-000000000046} - PSDispatch, oleaut32.dll. К нему
обращаются все, кому не лень.

AA> И опять же вынужден напомнить о необходимости как-то все-таки этот

AA> ключ создать, что будет легко обнаружить утилитами сравнения снимков

AA> реестра.


Да, против лома нет приема. Hа 99% это ловится либо во время инсталляции,
либо во время первого запуска, либо, если даже этот момент пропущен, путем
сравнения снимков двух последовательных запусков.

AA> И главное, чем навороченнее будет в конечном счете защита, тем более

AA> вероятен взлом ее изнутри, обычно с помощью замены одного-двух

AA> байтиков (большинство красивеньких, с музыкой или там с анимацией,

AA> креков всего-то и патчат именно пару байт в исполнимом файле).


Тут уместно вспомнить старую притчу про автомеханика, который взял $1 за
прокладку и $99 - за то, что знал, где поменять.

--
Regards,
Sergey Broudkov
sbpro [@] geocities.com
ICQ #4841919
А может, в реестре чего подправить? d;--D

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