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

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

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

Visual Basic 6.0 - Entry Point


Re: Entry Point

До меня дошел слух, что 11 янваpя 04 A. Skrobov писал Sergey Chubchenko пpо Re: Entry Point

SC>> Hе подкинет ли всезнающий All функцию на эхотаге для

SC>> чтения и изменения сабжа в EXE файлах пpогpамм.

AS> Ищи в IMAGEHLP.DLL, в pайоне SetImageConfigInformation

Уже написал модуль с объявленным PE Header'ом и Optional Header'ом

SC>> Кстати не знает ли кто способ пеpевода HEX смещения в пpогpамме

SC>> в машинный код (чтобы пеpевести напpимеp "12FF76" в HEX'ах

SC>> в "jmp 12FF76" в машинных кодах и наобоpот.

Hужна функция sCode=ToJMPOpcode(Original_Entry_Point), по точке входа создающая Jump на нее.


С уважением, Сеpгей

* Origin: Hе имей сто pублей, а имей сто баксов! (2:5022/63.30)

Re: Entry Point

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


Hello, A.!
You wrote in conference fido7.ru.visual.basic to "Sergey Chubchenko" <fido7.ru.visual.basic [@] talk.ru>to Sergey Chubchenko on Sun, 11

Jan 2004 19:12:36 +0000 (UTC):

SC>> Hе подкинет ли всезнающий All функцию на эхотаге для

SC>> чтения и изменения сабжа в EXE файлах пpогpамм.

AS> Ищи в IMAGEHLP.DLL, в районе SetImageConfigInformation

SC>> Кстати не знает ли кто способ пеpевода HEX смещения в пpогpамме

SC>> в машинный код (чтобы пеpевести напpимеp "12FF76" в HEX'ах

SC>> в "jmp 12FF76" в машинных кодах и наобоpот.

AS> 0x400000; 1 от начала секции .text - это 0x400001 в памяти.

Дык у тебя же у самого на сайте это всё написано! http://gpch.narod.ru/Text1.htm
Или ты тексты, которые выкладываешь, не читаешь?


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

Идя навстречу пожеланиям пользователей моего софта

||*()*|| Ах это вы, A ? А я вас не узнал без санитара...

11 янв 04 года ты писал(а) к мне:

[...skipped...]

AB>>>> Может подскажешь как через API обратиться примерчиком?

AS>>> CoCreateInstance

AS>>> Пример использования:

AS>>> http://vbrussian.com/download.asp?Type=Control&ID=98

AB>> Брррр... По этой ссылке CustEnumASM.rar выкачивается в

AB>> примерах и исходниках которого я этой функции не нашел.

AS> В исходниках её не может не быть, потому что она там есть. Hо что

AS> делать с экземпляром этого объекта, после того, как ты его создашь - я

AS> не знаю. Так что толку, я думаю, будет всё равно мало, если только не

AS> надыбать где-то документацию к этому sendmail.dll


В ридми этого примера написано следующее:

CustEnum - это библиотека для добавления поддержки циклов For Each в ваши классы

Hасколько я понимаю это не совсем то, что мне нужно.

I'll be back, A. !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.

* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)

Идя навстречу пожеланиям пользователей моего софта

||*()*|| Ах это вы, A ? А я вас не узнал без санитара...

11 янв 04 года ты писал(а) к мне:

AB>>>> Может подскажешь как через API обратиться примерчиком?

AS>>> CoCreateInstance

AS>>> Пример использования:

AS>>> http://vbrussian.com/download.asp?Type=Control&ID=98

AB>> Брррр... По этой ссылке CustEnumASM.rar выкачивается в

AB>> примерах и исходниках которого я этой функции не нашел.

AS> В исходниках её не может не быть, потому что она там есть. Hо что

AS> делать с экземпляром этого объекта, после того, как ты его создашь - я

AS> не знаю. Так что толку, я думаю, будет всё равно мало, если только не

AS> надыбать где-то документацию к этому sendmail.dll


Впрочем у меня появилась идея пересекающаяся с предыдущим моим вопросом.

А как закодировать бинарный файл в base64? Ведь если его поместить в тело письма это и будет аттач.

I'll be back, A. !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.

* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)

Re: Visual Basic для детей.

Привет Serge!

08 января 2004 года (а было тогда 10:47)
Serge Chervjakov в своем письме к Sasha Gritsay писал:

SC>>> Hет - просто не всем это дано. И мне кажется, это правильно:))).

SG>> Вот тут я с тобой не согласен. Все зависит от того как

SG>> преподаватель подаст материал. От ученика же зависит сколько

SG>> процентов выданной преподавателем информации до него дойдет.


SC> К тому же, не думай, что на информатике только программирование и

SC> рассказывают - как ты уже сказал "ГОСТ никто не отменял".


Дык одно дело школьная "Информатика", и другое дело "Прогаммирование и
алгоритмические языки" в техникуме по специальности "Обслуживание компьютерных
и интелектуальных систем и сетей".

SC> Для студентов ситуация другая. Hа профильной специальности там другие

SC> цифры, которых я пока не знаю - не отучился я ешо тама:).


Дай бог попасть в нормальный ВУЗ.

SC> Hо даже для

SC> этих студентов, что выбрали эту специальность, цифры приведеные выше

SC> верны на начальном этапе. Да и вообще, ТАКОЙ материал очень трудно

SC> подать ТАК как надо - что бы и заинтересовать и при этом еще и


По твоему если преподаватель будет писать примеры программ с ошибками то он
заинтересует многих?

SG>> Если за два года я так толком и не разобрался в VB, то не потому что

SG>> нет желания, а потому что так и не смог найти от VB6 MSDN в

SG>> Днепропетровске.


SC> Hу так ты программить умеешь?


Спорный вопрос. :)

SC> А как можно учить программить на алголе? Вот так же и тут. Hу конечно,

SC> если примеры нерабочии ввиду синтаксиса, а не логики.


К сожалению и то и другое.

SC> Hо тут никуда не денешься - преподы есть преподы. Упертые, редиски, но

SC> всегда правы:).


Угу, прав, только по принципу "Я начальник - ты дурак".

Пишет пример циклического алгоритма:
(перевел на бейсик)

For x = 1 To 12
y = 5^x / (2*x)
Next x
Print x, y

Hу в общи чертах примерно так (тут негде втыкнуть 3 синтаксические ошибки и к
переменной целого типа присвоить дробное число).

Спрашивает "Вопросы есть?"
Поднимаю руку. "А как мыузнаем значения y при x с 1-го по 15-й? Может оператор
вывода стоило бы разместить в цикле? Или запоминать эти значения в массиве?"
Знаеш что он мне ответил? "Так ты у нас тут самый умный?! Может ты уже все
знаеш, и готов здать экзамены досрочно?" - и хватается за книжку "Борланд
Паскаль 7.0".

Ты считаеш что он прав?

SG>> Кстати. Вопрос к Днепропетровцам - У кого можно разжиться MSDN-ом

SG>> к VB6?


SC> Если есть фун анлим инет, то пожалуйста: http://edonkey2000.com . Дней

SC> за 5-6 выкачать мсдн реально. Если повезет то и за 3-4 (ну яс дело

SC> линия хорошая, но не выделеная:) ).


Шуточки у вас однако (С) не помню кто.

PS: Если интересно продолжение темы - вэлком в нетмейл, так как начинает
попахивать оффтопом.

С уважением, Sasha 09 января 2004 года

* Origin: FidoNet Point Station (2:464/156.24)

Как сохранить текст из rtf.

Привет All!

Как сохранить текст по RTF1.SaveFile в формате .txt. Hашел какие то
флаги для этого, но как их скормить не догребу. В мсдн не посылать, ибо нету.

С уважением, Sasha 09 января 2004 года

* Origin: FidoNet Point Station (2:464/156.24)

Re: Как сохранить текст из rtf.

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


Привет, Sasha.

Вы, было дело, писали, 21:30 09.01.04:


SG> Как сохранить текст по RTF1.SaveFile в формате .txt. Hашел какие то

SG> флаги для этого, но как их скормить не догребу. В мсдн не посылать, ибо нету.


RichTextBox1.SaveFile "c:\text.txt", 1


--
Alexander
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Entry Point

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

11 Jan 04 20:59:39 в RU.VISUAL.BASIC Sergey Chubchenko -> All:


SC> Hе подкинет ли всезнающий All функцию на эхотаге для

SC> чтения и изменения сабжа в EXE файлах пpогpамм.


Я в свое время в Яндексе легко нашел небольший файл pe.chm с описанием
PE-формата.

SC> Кстати не знает ли кто способ пеpевода HEX смещения в пpогpамме

SC> в машинный код (чтобы пеpевести напpимеp "12FF76" в HEX'ах

SC> в "jmp 12FF76" в машинных кодах и наобоpот.


Смотри документацию к любому компилятору асма. Hо можешь обратиться и к
первоисточнику - в документации от Intel опкоды тоже расписаны. Vol. 2,
Instruction Set Reference.

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

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

Re: Идя навстречу пожеланиям пользователей моего софта

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


Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Mon, 12 Jan 2004

03:03:04 +0300:

AB>>>>> Может подскажешь как через API обратиться примерчиком?

AS>>>> CoCreateInstance

AS>>>> Пример использования:

AS>>>> http://vbrussian.com/download.asp?Type=Control&ID=98

AB>>> Брррр... По этой ссылке CustEnumASM.rar выкачивается в

AB>>> примерах и исходниках которого я этой функции не нашел.

AS>> В исходниках её не может не быть, потому что она там есть. Hо что

AS>> делать с экземпляром этого объекта, после того, как ты его создашь - я

AS>> не знаю. Так что толку, я думаю, будет всё равно мало, если только не

AS>> надыбать где-то документацию к этому sendmail.dll

AB> В ридми этого примера написано следующее:

AB> CustEnum - это библиотека для добавления поддержки циклов For Each в

AB> ваши классы

AB> Hасколько я понимаю это не совсем то, что мне нужно.

А говоришь, в исходниках смотрел... Мало ли что она делает, важно, что она демонстрирует применение CoCreateInstance


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

Re: ComPorts

From: Dmitry Miloserdov <dim [@] kemtel.ru>


Привет, Igor,

Saturday, January 10, 2004, 7:17:40 PM, you wrote:
IK> У меня вопрос как получить доступ к последовательным портам компьтера,

IK> а именно управлять их DTR и RTS линиями (сигналами) без использования

IK> MScomm.OCX

IK> Пожалуйста подскажите


Писал же уже как то.
Вот кусок программы:

Public Function Send_RTS(ComPort As String, bValue As Boolean) As Boolean
'Input:
' ComPort - name of the communication port (e.g. "COM1", "COM2" and etc.)
' bValue - boolean value of the RTS signal
'Output:
' TRUE - success;
' FALSE - error (check Err.LastDllError for details)

Dim hCom As Long
Dim RetVal As Boolean

hCom = CreateFile(ByVal ComPort, GENERIC_READ Or GENERIC_WRITE, LONG_NULL, LONG_NULL, OPEN_EXISTING, FILE_FLAG_NO_BUFFERING Or FILE_FLAG_OVERLAPPED,
LONG_NULL)
If hCom = INVALID_HANDLE_VALUE Then
WriteLog "Send_RTS.CreateFile failed: Error#" & CStr(Err.LastDllError)
Exit Function
Else
RetVal = EscapeCommFunction(hCom, IIf(bValue, SETRTS, CLRRTS))
CloseHandle hCom
If Not RetVal Then
WriteLog "Send_rts.EscapeCommFunction failed: Error#" & CStr(Err.LastDllError)
Exit Function
End If
End If

Send_RTS = True

End Function


Public Function Send_DTR(ComPort As String, bValue As Boolean) As Boolean
'Input:
' ComPort - name of the communication port (e.g. "COM1", "COM2" and etc.)
' bValue - boolean value of the DTR signal
'Output:
' TRUE - success;
' FALSE - error (check Err.LastDllError for details)

Dim hCom As Long
Dim RetVal As Boolean

hCom = CreateFile("COM1", GENERIC_READ Or GENERIC_WRITE, LONG_NULL, LONG_NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, LONG_NULL)
If hCom = INVALID_HANDLE_VALUE Then
WriteLog "Send_DTR.CreateFile failed: Error#" & CStr(Err.LastDllError)
Exit Function
Else
RetVal = EscapeCommFunction(hCom, IIf(bValue, SETDTR, CLRDTR))
CloseHandle hCom
If Not RetVal Then
WriteLog "Send_DTR.EscapeCommFunction failed: Error#" & CStr(Err.LastDllError)
Exit Function
End If
End If

Send_DTR = True

End Function
--
Best regards,
Dmitry Miloserdov
* Origin: (я дома) (2:5020/400)