Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 |

 

  Вопрос: Адрес функции Добавлено: 14.11.05 21:29  

Автор вопроса:  Yurio
Адрес функции в переменную типа Long можно получить так:


adr = GetProcAddress(GetModuleHandle("user32.dll"), "MessageBoxA")



Как получить адрес этой же функции в виде 4 переменных типа Byte ?

Ответить

  Ответы Всего ответов: 73  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 14.11.05 22:03
Скажу.
Но только сначала объясни ЗАЧЕМ...

Ответить

Номер ответа: 2
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 14.11.05 22:39
GSerg толком ничего не знает... только крутого из себя строит. ;/

AddessOf <subname>

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 14.11.05 22:43
ой, млин... ;((

незаметил самого главного вопроса:
"Как получить адрес этой же функции в виде 4 переменных типа Byte"

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 14.11.05 22:46
GSerg толком ничего не знает... только крутого из себя строит. ;/

та да... :) ну конечно смотря что с чем сравнивать, но вообще с твоей стороны, Noviks, это грубый безосновательный наезд...

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 14.11.05 23:23
CopyMemory на худой конец, если не желаешь пользоваться логикой (я имею ввиду And)

Ответить

Номер ответа: 6
Автор ответа:
 Yurio



Вопросов: 2
Ответов: 31
 Профиль | | #6 Добавлено: 15.11.05 00:01
GetProcAddress и AddessOf дают одинаковый результат - типа Long

ЗАЧЕМ


Напишешь - объясню

Ответить

Номер ответа: 7
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #7 Добавлено: 15.11.05 00:01
Noviks рулит.
Обоими постами.
Гы гы.
Особенно в контексте ответов оного же.
Афтар, пеши исчо (c)

Option Explicit

Private Type arr
  b(1 To 4) As Byte
End Type

Private Type addr
  addr As Long
End Type

Private Sub Form_Load()
  Dim a As arr, ad As addr
  
  ad.addr = GetProcAddress(GetModuleHandle("user32.dll";), "MessageBoxA";)
  
  LSet a = ad
  
  Debug.Print a.b(1)
  Debug.Print a.b(2)
  Debug.Print a.b(3)
  Debug.Print a.b(4)
End Sub


Несмотря на это, мне до сих пор интересно: ЗАЧЕМ?

Ответить

Номер ответа: 8
Автор ответа:
 Yurio



Вопросов: 2
Ответов: 31
 Профиль | | #8 Добавлено: 15.11.05 00:09
для

ReadProcessMemory


...

Ответить

Номер ответа: 9
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #9 Добавлено: 15.11.05 00:19
Ы!

А нафига ей байты???


Ааааа.... я понял...
BYTE*...
Гы гы гы...
гы гы гы гы гы...

Я фигею...
Чел!
BYTE* - это на процессоре x86 как раз Long и есть. А не массив байтов совсем.

Ответить

Номер ответа: 10
Автор ответа:
 Yurio



Вопросов: 2
Ответов: 31
 Профиль | | #10 Добавлено: 15.11.05 00:19
Ну и написал же я :-(

Для WriteProcessMemory конечно


К адресу еще добавить бы &H68 и &HC3 ...

Ответить

Номер ответа: 11
Автор ответа:
 Yurio



Вопросов: 2
Ответов: 31
 Профиль | | #11 Добавлено: 15.11.05 00:29
Насчет
BYTE*


Проблема была не в Byte / Long и не в массив / не массив, а в ByRef / ByVal

Ответить

Номер ответа: 12
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #12 Добавлено: 15.11.05 00:31
Судя по тому, что ты переделываешь long в массив, проблема не была, а есть :)

Ответить

Номер ответа: 13
Автор ответа:
 Yurio



Вопросов: 2
Ответов: 31
 Профиль | | #13 Добавлено: 15.11.05 00:48
Оч-ч-чень смешно
BYTE* - это не Long

А проблемы никакой нет - я могу получить как байтовый массив, так и просто переменную типа Byte

Но это все по соседней теме


А что насчет &H68 и &HC3 и Write их в Memory

Ответить

Номер ответа: 14
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #14 Добавлено: 15.11.05 01:05
Ты не поверишь, но BYTE* - это на 32-битных процессорах таки Long.

Ответить

Номер ответа: 15
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #15
Добавлено: 15.11.05 02:24
вот целый вечер читаю эту тему и плаачу :))))) рябят хр. уже прикалываться, так же убить человека можно :))

А что насчет &H68 и &HC3 и Write их в Memory

Это ты какой байт к какойму собрался приплюсовать :) ?

Ответить

Страница: 1 | 2 | 3 | 4 | 5 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам