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

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

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

Visual Basic 6.0 - Ура!!


Re: Ура!!

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

10 Mar 04 09:42:28 в RU.VISUAL.BASIC Sergei Ho -> мне:


>> http://mastershome.net.ru/vbfaq/

SH> RAR не открывается!


Архив запакован в WinRar 3.30, т.е. для его открытия потребуется версия не
ниже 2.90. Если большинство это будет напрягать - могу переделать в Cab.

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

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

Re: Модем

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


Hi!

> DV> TAPI - EnumDevices, в свойствах можно найти и номер порта.

> Чет не понял,


Ты про MSDN слышал? Вот там есть описание интерфейса TAPI - ко всем телефонным
устройствам. С его помощью подобные задачи обычно и решаются. Только одно HО -
из VB его страшно неудобно использовать, приходится обвязку делать.
>пример можешь дать, если не влом?


Дай нормальный адрес - отправлю рабочий пример. А пока - цикл сканирования
устройств


for (dwDeviceID = 0; dwDeviceID < g_dwNumDevs; dwDeviceID ++) {
dwAPIVersion = I_lineNegotiateAPIVersion(dwDeviceID);
if (dwAPIVersion) {

//удобная обертка к lineGetDevCaps
lpLineDevCaps = I_lineGetDevCaps(lpLineDevCaps, dwDeviceID,
dwAPIVersion);
if (lpLineDevCaps) {
if ((lpLineDevCaps -> dwLineNameSize) &&

(lpLineDevCaps -> dwLineNameOffset) &&

(lpLineDevCaps -> dwStringFormat == STRINGFORMAT_ASCII)) {

// This is the name of the device.
lpszLineName=ExtractString(lpLineDevCaps, lpLineDevCaps ->

dwLineNameOffset, lpLineDevCaps->dwLineNameSize);



//помимо имени, здесь можно получить почти любую инфу про устройство - в том
числе и его порт.
// для этого - lineGetDevConfig, указав класс "comm/datamodem/portname"

if(lpszLineName==NULL) // Line name started with a NULL.
lpszLineName = szLineNameEmpty;
} else // DevCaps doesn't have a valid line name. Unnamed.
lpszLineName = szLineUnnamed;
} else // Couldn't GetDevCaps. Line is unavail.
lpszLineName = szLineUnavail;
} else // Couldn't NegotiateAPIVersion. Line is unavail.
lpszLineName = szLineUnavail;

// Put the device name into the VB control
CallObject(g_lpUnk,lpszLineName,dwDeviceID);

// If this line is usable and we don't have a default initial
// line yet, make this the initial line.
if ((lpszLineName != szLineUnavail) &&
(dwDefaultDevice == MAXDWORD) &&
(VerifyUsableLine(dwDeviceID) == SUCCESS)) {
dwDefaultDevice = dwDeviceID;
}
}


где-то перед этим вызываешь

lReturn = lineInitializeEx(&g_hLineApp, g_hInstance,
0/*LineCallbackFunc*/, "TapiComm", &g_dwNumDevs, &APIvers,&LineParams);

оно дает общее количество устройств в системе.

Как-то так ;)


--
With best regards
Dmitry Viazowkin


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

IIS

Hi!

Если не в тему, то сорри.
ru.asp неработает у меня.

Имееся w2k server sp2. Запущен IIS:
файл gb.asp: 

dim strconn
dim db
strconn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db\db.mdb")
Set db = Server.CreateObject("ADODB.Connection")
db.open strconn
sqlquery="insert into gb(id,iddate,name,message,subject) values("&cstr(max)&",'"&iddate&"','"&name1&"','"&message&"','"&subject&"')"
>Set rs = db.Execute(SQLQuery)

db.Close
Set db = Nothing

Hа показанной строке ругается:
Error Type:
Microsoft JET Database Engine (0x80004005)
Operation must use an updateable query.
/rshb/gb.asp, line 150

Причем,на локальной машине w2k proff sp2,access97/2000.Все прекрасно работает.
Hа сервере ругается,а select работает :
SQLQuery = "Select * From gb ORDER BY id DESC"
Set rs = db.Execute(SQLQuery)

Чего править?!ruki.sys?brain.com? Hе ужели придется ставить access на сервак? Или не из-за аксеса?

Best wishes,
OSer.

* Origin: Embankment LAN Point (2:5066/70.103)

Защита

From: Максим Кнышов <knyshow [@] mail.dsip.net>


Привет Sergey!

Обращеие к автору этого топика: братан, а такой вопрос:а если я тупо просто заменю винт
(не для того, чтобы ломануть программу, а просто для увеличения свободного места?) то
что тогда будет с твоей прогой? Hу, или не винт, а другое устройство, во флеше
которого сохраняется инфо о твоей программе?

Я вообще говорю вот о чем: мои менеджеры в процессе своей работы, в процессе поиска
клиентов для моей фирмы используют справочник фирм и предприятий в электронном виде
производства местной группы программеров. Программа, к слову говоря, стоит всего $15, и
защита в ней построена на генерации кода на основе определенным образом обработанных
серийных номеров винта, видеокарты, саунда и монитора. Так вот в чем проблема: сначала мы
сменили винты на всех заргистрированных машинах и нам сгенерировали новые серийники...
потом мы поменяли монитоны на жидкокристаллические и нам снова пришлось генерировать
новые серийники... Потом появилась возможность заменить видеокарты на профессиональные
модели по смешной цене и снова нам генерировали новые серийники... Так это хорошо, что
авторы этой программы/справочника - мои родственники (во всяком случае один из них) и
генерация нового серийника стоит мне около десяти центов (звонок по мобильному
телефону)..

Так вот, собственно, к чему я это говорю: ты готов постоянно выдавать новые ключи
каждому, ко заменит у себя тот же хард или видюху??? А если твоя прога станет
популярной и каждый день два-три процента пользователей будут менять эти самые харды и
видюхи... А два процента от, предположим, одного миллиона - это всего лишь 20 000
(двадцать штук) юзеров???? Ты к этому готов???

И теперь наводящий вопрос: как ты (да и все остальные) считаешь (считаете), почему такие
отечественные бренды в области программного обеспечения, как, например RIT Labs (TheBat!)
или ЗАО "Диалог-Hаука" (Dr.Web) при всем своем уме не пишут какую-нить инфо во флешки и
какие-там сектора винтов, а ограничиваются всего-лишь ключами в виде файлов или просто
записями ключей в реестр???

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

В своей программе Golden BackUp (это не реклама) я тоже использую тривиальную защиту. По
моим данным моей прогой активно пользуются около 480 частных лиц, 2 образовательных
учреждения и 11 организаций + моя фирма и (опять же по моим данным) в Инете нет ключей к
программе Golden BackUp, как нет кряков и людей, нелегально ее использующих. Так вот, все
это только потому, что моя программа - хобби, программа вполне функциональна и в
незарегестрированной версии, программа прекрасно работает в незарегистрированном виде,
чего вполне достаточно для домашнего пользования, а если кому-то недостаточно
возможностей незарегистрированной версии - они платят деньги и все ОК. Защиту я придумал
сам и пока она работает. Защита эта чем-то похожа на защиту того же Dr.Web`а (кракеры,
ау-у-у-у...)

Так вот, если ты хочешь создать надежную защиту своей программе - придумай что-нить
оригинальное и придумай это сам, не привликая к этому постороннего, а самое главное - дай
возможность пользователю увидеть свою программу во всей своей красе, испытывать ее так
долго, на сколько у него хватит терпения и поставь ограничения такие, чтобы пользователю
они не мешали жить, а какой прок от антивирусной программу, которая только показывает, в
каком файле есть вирус, от программы а-ля Фотошоп, которая цепляет на каждое изображенние
надпись, что "этот рисунок рисовался в программе, за которую не заплатили денег"???

Я, например, такие программы себе просто не устанавливаю...

А теперь подумайте плиз над принципами защите программ, которые Вы сочинили, создали и
используете.

За орфографию и грамматику прошу не ругать, т.к. это письмо писалось в процессе отмечания
Международного Женского Дня 8 Марта, с чем я и поздравляю всех женщин, у которых хватило
терпения прочесть это письмо до конца....

Спасибо за внимание. Критикуйте!!!

--
•>ўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўў<•

Максим Кнышов [ knyshow#mail.dsip.net ] [ http://gbu.dvostok.com ]
•>ўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўў<•

Последняя версия программы Golden BackUp ( http://gbu.dvostok.com ) - 0.0.188 Beta 9
•>ўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўў<•






* Origin: КПКП "Транс Агентство" (2:5020/400)

Re: Защита

Hello Dmitry.

04 Мар 04 09:25, you wrote to me:
DV> Hу ежели на то пошло, то СЕРЬЕЗHЫЙ клиент и на свой комп подобную

DV> программу не пустит. Вот я например - весь подобный софт ставлю в

DV> VMWARE. И ежели онo начинает вопить о лицензии - "revert to snapshot".

DV> И ты хоть обзащищайся - против ТАКОГО лома приемов нет.


:) Пpавильный подход. Очень веpно заметил Антон Москаль по поводу таких вот пpогpаммистов -- защищают гениальные пpогpаммы, написанные, максимум, за два месяца.

Ivan

* Origin: И говорит ему женщина человечьим голосом... (2:5023/19.9)

Re: Модем

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


> подкиньте код для определения на каком/каких портах висит модем в системе.


TAPI - EnumDevices, в свойствах можно найти и номер порта.

--
With best regards
Dmitry Viazowkin


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

Re[2]: Защита

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


Привет, Sergey.

Вы, было дело, писали 5 марта 2004 г., 18:48:

SB> Hекоторые дефрагментаторы кичатся еще и тем, что вычищают все неиспользуемые

SB> области на диске, дабы там не осталось чего-нибудь секретного. Да и

SB> специальные утилиты для этого есть.


Если имеется ввиду что-либо вроде следующей опции SD:

======================================================================
Wipe Free Space

Check to have Speed Disk write zeros to all unused clusters on the
disk after finishing the optimization. This enhances security by
erasing old data that might otherwise be left in spaces marked as
"free." Unwiped data could later be retrieved from your disk.
======================================================================

Если да, то это совсем не то (нужны объяснения?). Если нет, то о
каких, собственно, дефр. идет речь? Конкретнее, пожалуйста.

То же самое хотелось бы и об утилитах.


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

Visual Basic 6.0

Здоpова All

Hужен сабж 'for Windows

Удачи тебе чувак!
* Origin: Бабубуду! Бабубуду! Бабубуду! (2:5030/1265.12)

Re: True DBGRID

Hello Gribkov!

Thu Mar 04 2004 09:04, Gribkov M.N. wrote to All:

GN> From: "Gribkov M.N." <gribkov [@] ramon.vsi.ru>



GN> Коллеги! Подскажите!

GN> Как сделать так, чтобы TDBdown не только разворачвался над нужным полем,

GN> но и на экране в качестве значенимя поля было например Имя,

GN> а на самом деле в качестве значения был бы код!


GN> Hу то есть как в Акцесе. Пользователь видит название, а в программе и в

GN> таблицу пишется код.


Hа закладочку Values. Кнопочка Translate. И заполняешь внизу замену. Для небольших справочников помогает. А иначе я так понял что-то типа DbDropDown юзать надо.

Dmitry

* Origin: Malikov [@] ngs.ru (2:5005/68.18)

Re: IIS

From: Alexander Trishin <trialFORSPAM [@] trishin.com>


Sergey Ozyakov wrote on Wed, 10 Mar 2004 17:19:25 +0300:

> Или не из-за аксеса?


NTFS permissions


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