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

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

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

Visual Basic 6.0 - Многоязыковая поддержка...


Многоязыковая поддержка...

XC: arc-echo
Здравствуй, Максим!

МК> вообще-то планирую вот что: - в отдельной папке хранятся файлы

МК> опеределенного формата

~~~~~~~~~~~~~~~~~~~~~~~
AF>> Если хочешь отдельно хpанить, то создай свою кодиpовкy.

МК> Кодировку? Это что? Это как? Моя твоя не понимать... в смысле,

МК> поробнее можно?

Это то, пpо что ты только что сказал, только дpyгим языком:-)
Ты можель зашифpовать сообщения в своём дополнительном файле: напpимеp есть файл: russian.lng, там зашифpованные две стpочки:
1) Откpыть.
2) Закpыть.

В твоей кодиpовке скажем бyква "О" -- это "112", т -- "312" и т.д. (воля фантазии, можешь их заменять на большее или меньшее количество симоволов или на один... как хочешь". Пpимеp с цифpами: тогда они бyдy выглядеть напpимеp так:

781789638108876097000092
О т к p ы т ь .

121898638108876097000092
З а к p ы т ь .

Вот тебе и кодиpовка и специальный фоpмат. Остаётся каждый символ 32-255 зашифpовать. Твоя пpогpамма бyдет декодиpовать стpинги.

Можно шифpовать по pазномy, напpимеp бpать символ, котоpый по таблице символом по цифpе кода больше на 1, 2 и т.д. Много способов создания кодиpовки...

До свиданья, Максим!
[АмГУ/ФСH]
* Origin: Кофе без кокаина, пожалуйста. (2:5041/2000)

Многоязыковая поддержка...

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


Привет Andrei!

AF> Можно шифpовать по pазномy, напpимеp бpать символ, котоpый по таблице символом

AF> по цифpе кода больше на 1, 2 и т.д. Много способов создания кодиpовки...

ИМХО, эго головняк...
--
•>ўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўў<•

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

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






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

Re: 16-ричные числа

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

Sun, 15 Feb 2004 16:24:36 +0300 в RU.VISUAL.BASIC Dmitriy Kozyrev ->

юМДПСЫЕМЙH (HHПДКХМЙ):

АH>> Есть ли в WinAPI функция, возвращающая 16-ричное представление числа?

DK> Hет. Обычно такие функции являются частью среды ЯП, и их отсутствие в

DK> WinAPI вполне логично.


Виноват, ошибся - есть wsprintf.

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

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

Окошко About

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hi All,

Я вот решил написать "на основе" стандартного виндового окошка About своё.
Однако, поскольку выбранный мной метод использует "недокументированные"
возможности Windows, я не уверен, что он будет работать на всех версиях.
Он проверен и работает на версиях 4.10.2222 (98), 4.90.3000 (Me), 5.00.2195
(2000)
Если у кого-то есть другая версия винды (например, ХР), то пожалуйста,
проверьте, работает ли там.
Если кому-то понравится сам этот код - юзайте на здоровье.


(в модуле)
Option Explicit

Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA"
(ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal
wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA"
(ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String) As
Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA"
(ByVal lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long)
As Long
Private Declare Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA"
(ByVal hInstance As Long, ByVal lpTemplate As Long, ByVal hWndParent As Long,
ByVal lpDialogFunc As Long, ByVal lParamInit As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long,
ByVal lpProcName As String) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
(Destination As Any, Source As Any, ByVal Length As Long)
Private Type DlgInfo
Icon As Long
App As Long
OtherStuff As Long
End Type
Private Const WM_INITDIALOG As Long = &H110
Private m_Company As String, m_Copyright As String, m_Version As String,
m_DlgProc As Long

Private Function DialogProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal
wParam As Long, ByVal lParam As Long) As Long
If Msg = WM_INITDIALOG Then
SetDlgItemText hWnd, &H3500&, m_Company & " %s"
SetDlgItemText hWnd, &HFFFF&, m_Copyright
End If
DialogProc = CallWindowProc(m_DlgProc, hWnd, Msg, wParam, lParam)
If Msg = WM_INITDIALOG Then _
SetDlgItemText hWnd, &H350B&, m_Version
End Function

Public Sub AboutBox(Title As String, Version As String, Company As String,
Copyright As String, AdditionalText As String, ByVal hWnd As Long, ByVal Icon
As Long)
Dim hLib As Long, DlgInfo As DlgInfo, App() As Byte, OtherStuff() As Byte
Dim lpDialogProc As Long, lpShellAbout As Long
m_Company = Company
m_Copyright = Copyright
m_Version = Version
hLib = LoadLibrary("shell32.dll")
lpShellAbout = GetProcAddress(hLib, "ShellAboutW")
With DlgInfo
.Icon = Icon
If lpShellAbout = GetProcAddress(hLib, "DragQueryFileW") Then '9x
lpShellAbout = GetProcAddress(hLib, "ShellAboutA")
App() = StrConv(Title & vbNullChar, vbFromUnicode)
OtherStuff() = StrConv(AdditionalText & vbNullChar, vbFromUnicode)
.App = VarPtr(App(0))
.OtherStuff = VarPtr(OtherStuff(0))
Else 'NT
.App = StrPtr(Title)
.OtherStuff = StrPtr(AdditionalText)
End If
End With
CopyMemory m_DlgProc, ByVal (lpShellAbout + 29), 4
DialogBoxParam hLib, &H3810, hWnd, AddressOf DialogProc, VarPtr(DlgInfo)
FreeLibrary hLib
End Sub


(вызов в форме)
Private Sub Form_Click()
AboutBox "Some Application", "Version 1.2.3.4", "Some Company (R)", "(C)
Some Company 1900-2004", "The quick brown fox jumps over a lazy dog again and
again", Me.hWnd, Me.Icon
End Sub

* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)

Re: Правильное построение SQL- запроса

From: "Sergey Broudkov" <broudkov [@] PointLtd.com>


Hello, Vasiliy!
You wrote on Mon, 23 Feb 2004 06:34:56 +0000 (UTC):

VK> Пробовал делать так :


VK> SQLstr = " SELECT * FROM Kurs_City WHERE Kurs_City.Date ='" &

VK> CDate(S_Data) & "'"

VK> но этого ничего не дало, выдает ошибку во время выполнения...


Для SQL-запроса дата должна быть в американском формате, поэтому пиши:

WHERE Kurs_City.Date ='" & Format$(S_Data, "yyyy\/mm\/dd") & "'"

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

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

Re: Упаковка в ZIP и CAB

From: "Sergey Merzlikin" <sm [@] smsoft.ru>


>

> AS> Сжатие раром "коммерческое", т.е. большая-большая тайна. Если кто-то и

знает, как
> AS> сжимать, то только если он "изучал" сам rar.exe

> Hу так я об этом и говорю... Спецификации формата я в свое время очень

сильно искал.
> --


Спецификация формата лежит у них на сайте, там же исходники распаковщика,
нет только алгоритма упаковки. По этому поводу там есть приписка о том, что
алгоритм является частной собственностью, и даже его восстановление по
опубликованной информации является запрещенным приемом.
Также закрытые алгоритмы у ARJ, ACE, JAR и еще множества малоизвестных. Hо
для ZIP, CAB, ARC, 7Z, BZ2, TAR алгоритмы открыты и имеется немало утилит и
библиотек для работы с ними, причем часто совершенно бесплатных.

--
Сергей Мерзликин
http://www.smsoft.ru/ru/


* Origin: Sovintel (2:5020/400)

Re: Правильное построение SQL- запроса

From: "Alex Antov" <sashaan [@] peterstar.ru>


Hello, Sergey!
You wrote to Vasiliy Khorolich on Mon, 23 Feb 2004 20:20:48 +0000 (UTC):

VK>> Пробовал делать так :


VK>> SQLstr = " SELECT * FROM Kurs_City WHERE Kurs_City.Date ='" &

VK>> CDate(S_Data) & "'"

VK>> но этого ничего не дало, выдает ошибку во время выполнения...


SB> Для SQL-запроса дата должна быть в американском формате, поэтому пиши:


SB> WHERE Kurs_City.Date ='" & Format$(S_Data, "yyyy\/mm\/dd") & "'"


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

Банально вывести что то вроде "05.5" вместо "05" в секундах?


With best regards, Alex
--
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Правильное построение SQL- запроса

From: "Sergey Broudkov" <broudkov [@] PointLtd.com>


Hello, Alex!
You wrote to Sergey Broudkov on Mon, 23 Feb 2004 21:22:26 +0000 (UTC):

AA> Интересно, а как в запросе указать дату точнее, чем до секунд? десятые

AA> или сотые?


AA> Банально вывести что то вроде "05.5" вместо "05" в секундах?


Hе знаю, вроде бы, должно быть так, но не проверял.

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

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

Re: Окошко About

From: "Ivan Nikolaev" <kurisu [@] rol.ru>


Hello, A.!
You wrote to All on Mon, 23 Feb 2004 23:15:51 +0300:

AS> Я вот решил написать "на основе" стандартного виндового окошка About

AS> своё.

AS> Однако, поскольку выбранный мной метод использует

AS> "недокументированные"

AS> возможности Windows, я не уверен, что он будет работать на всех

AS> версиях.

AS> Он проверен и работает на версиях 4.10.2222 (98), 4.90.3000 (Me),

AS> 5.00.2195 (2000)

AS> Если у кого-то есть другая версия винды (например, ХР), то

AS> пожалуйста, проверьте, работает ли там.

Думаю мой опыт будет не совсем тебе полезен, т.к. проверял я это на 5-м
басике... Система WinXP pro, SP1. Программа выполнила недопустимую
операцию...

With best regards, Ivan Nikolaev


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

Re: Окошко About

From: "Sergey Merzlikin" <sm [@] smsoft.ru>


В XP не работает совсем - Access Violation в неизвестном модуле по
адресу 00a3773d на первом вызове CallWindowProc.
В 2K работает, но не меняет копирайт, в ME работает полностью.

Hе проще ли было просто вызвать ShellAbout, а потом найти это окно и
подправить некоторые строки через WM_SETTEXT?

--
Сергей Мерзликин
http://www.smsoft.ru/ru/

>

> Я вот решил написать "на основе" стандартного виндового окошка About своё.

> Однако, поскольку выбранный мной метод использует "недокументированные"

> возможности Windows, я не уверен, что он будет работать на всех версиях.

> Он проверен и работает на версиях 4.10.2222 (98), 4.90.3000 (Me),

5.00.2195
> (2000)

> Если у кого-то есть другая версия винды (например, ХР), то пожалуйста,

> проверьте, работает ли там.

> Если кому-то понравится сам этот код - юзайте на здоровье.

>

>



* Origin: Sovintel (2:5020/400)