Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

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

 

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

Автор вопроса:  Yurio

Ответить

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

Номер ответа: 31
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #31 Добавлено: 15.11.05 16:03
Не перепутал. В MSDN декларации сяшного типа :)
Кажись ты немного запутался.
WriteProcessMemory cProc, aMSGBA, newData(0), 6&, 0& - это прикол что ли? :)
Пытаешься заменить код функции? Флаг тебе в руки - только вот Microsoft не позволит.

Ответить

Номер ответа: 32
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #32
Добавлено: 15.11.05 16:26
Указатель это Long, хр над ламером прикалываться, лучше поясните почему.

Ответить

Номер ответа: 33
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #33 Добавлено: 15.11.05 16:54
Да уж...
Пост 13:

Оч-ч-чень смешно
BYTE* - это не Long

Пост 29:

BYTE* - указатель на параметр типа BYTE, само значение которого (указателя) - Long!



Когда я в этом сомневался?

Это разве не прикол? По-моему очень даже неслабый :)

Ответить

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



Вопросов: 2
Ответов: 31
 Профиль | | #34 Добавлено: 15.11.05 21:14
Microsoft не позволит


Уже позволила



Это разве не прикол?


BYTE* - это не Long


Я не имел ввиду, что значение указателя - это не Long, я писал о типе переменной. Неужели до сих пор непонятно?



ламером


Да, куда уж нам, смертным...
А богам знание абсолютной истины не давит на голову? Да так давит, что скромность и уважение к другим просто прет во все стороны.



Но достаточно флуда, здесь его и так уже на 3 темы хватит.


У меня прекрасно работает следующее (делал дней 5):

DLL (для инжектирования в процесс).
Инжектор.
Тестовый exe-шник, в процессе работы которого и происходит перехват и подмена функции.

Все написано на VB6.

Ответить

Номер ответа: 35
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #35
Добавлено: 15.11.05 22:28
Ну теперь хоть понятно отчего пропадает желает давать вразумительные объяснения.
 Yurio,
 Ламер - это не только тот кто нефига не знает (это просто чайник), а ещё и тот кто знать нефига не хочет.

Да, куда уж нам, смертным...
А богам знание абсолютной истины не давит на голову? Да так давит, что скромность и уважение к другим просто прет во все стороны.

 Чего спрашивать если "ответ" тебе известен заранее? Да и вообще на все твои посты есть один ответ: ЗАЧЕМ СПРАШИВАТЬ ЕСЛИ ТЫ И ТАК ВСЁ ЗНАЕШЬ?

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #36
Добавлено: 15.11.05 22:54
Грубо и безосновательно.

Основание весь тот флуд что ты разводишь.

Ты случайно VB с С++ не перепутал?

А тебе не пофигу-ли на чем декларация, смысл все равно ясен.

Надо так:

Как надо мы знаем не хуже... возможно даже чуточку лучше, мы не спрашивали как писать декларацию, к чему бы тогда твой пост выше...

ЗЫ
Объявление этой функции я смогу 10-тью способами записать и она будет работать... как ни странно...

ЗЗЫ
Зачем тебе прибавлять эти несчастные &H68, &HC3 байты к указателю и к какому месту этого указателя?

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #37
Добавлено: 15.11.05 23:00
Я не имел ввиду, что значение указателя - это не Long, я писал о типе переменной. Неужели до сих пор непонятно?

Указатель не имеет типа, это все вымыслы тех кто пишет на Си...

А богам знание абсолютной истины не давит на голову? Да так давит, что скромность и уважение к другим просто прет во все стороны.

Почем знаешь? Мучают головные боли :) ?

У меня прекрасно работает следующее (делал дней 5):

Че, статеечку на vbstreets прочитал :) ? Герой, твоя заслуга, признаю!

Ответить

Номер ответа: 38
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #38
Добавлено: 15.11.05 23:59
Я там опечатался
Ну теперь хоть понятно отчего пропадает желает давать вразумительные объяснения.

нужно:
Ну теперь хоть понятно отчего пропадает желание давать вразумительные объяснения.

Ответить

Номер ответа: 39
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #39
Добавлено: 16.11.05 00:19
Слушайте, а чего такой флейм то? Человеку нужно записать в другой процесс опкоды от
push <Адрес функции>
ret
Причём адрес будет верным для другого процесса, т.к. у библиотек фиксированные адреса (простите за банальность).
По краям ставь опкоды, а внутри 4 байта адреса. Пойдёт как CopyMemory так и PutMem, главное адрес первого (от нуля) байта укажи приёмником.
И вообще на время работы в ВБ я бы советовал забыть об указателях - их тут нет. Есть разве что адреса.

Ответить

Номер ответа: 40
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #40
Добавлено: 16.11.05 00:40
push <Адрес функции>
ret
Т.е. надо записать команду перехода на эту функцию.

 Гы, push - это команда перехода по твоему? Сразу за ней должен идти Ret(С3), а потом уже 4 байта адреса? Ну тогда я как и все - пацтулам :)

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #41
Добавлено: 16.11.05 10:42
а... ну вот теперь все встает на свои места, теперь ясно зачем ему разложить нужно было адрес на 4 байта... чтобы поменять порядок следования их в памяти :))) Только видимо неизвестно ему можно писать было прямо Long'ом а не побайтово...

Ответить

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



Вопросов: 2
Ответов: 31
 Профиль | | #42 Добавлено: 16.11.05 12:09
статеечку на vbstreets прочитал

Нет.
http://vbstreets.ru/VB/Articles/66227.aspx
прочитал только сейчас.

А недельку назад читал вот это:
http://rsdn.ru/article/baseserv/IntercetionAPI.xml
Заметьте, уважаемые, что там о VB - ни слова.


Доказательства? У меня:

1. Никаких ассемблерных вставок и файлов ресурсов.

2. Библиотека - не ActiveX.

3. Создание *.tlb через midl.exe

Итог - все намного проще и понятнее, исходники меньше. Наверное, можно и еще проще, но я не програмист. Просто мне было это интересно.

знать нефига не хочет

Знаешь, меня Visual Basic'у никто не учил. До всего дохожу самостоятельно.

P.S. Я не сомневаюсь, что языки программирования в целом и VB в частности все вы знаете лучше меня. Но в данном конкретном случае никто не вник в суть проблемы - в результате столько флуда. Помощи - 0, но я смог разобраться и сам. Очнитесь и посмотрите свежим взглядом, беспристрастно.

P.P.S. На флуд прошлый и, возможно, будущий, перестаю обращать внимание.

Ответить

Номер ответа: 43
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #43
Добавлено: 16.11.05 13:54
Гы, push - это команда перехода по твоему?

 Прошу прощения, это я проглядел. Конечно же это будет переходом. Запушеный адрес будет извлечён ретом из стека. Просто нестандартная запись, вот я сбойнул :)

Ответить

Номер ответа: 44
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #44
Добавлено: 16.11.05 13:57
http://vbstreets.ru/VB/Articles/66227.aspx

 По моему только извращенец добровольно согласится использовать такой код. Хотя если приспичет... :)

Ответить

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



Вопросов: 2
Ответов: 31
 Профиль | | #45 Добавлено: 16.11.05 17:12
http://vbstreets.ru/VB/Articles/66227.aspx


Чуть не забыл :-)

ТАМ нет ничего о перехвате API-функций!

А создавать на VB6 stdcall-библиотеки и инжектировать их практически в любой процесс (получив, если нужно, Debug-привилегии) я умею достаточно давно. За перевод на VB6 механизма инжектирования спасибо SCINER'у (правда, о Type Library он ничего не написал :-( - без них внедрение подобной библиотеки не получится), за возможность создания stdcall dll - DanSoft Australia.



ЗАЧЕМ СПРАШИВАТЬ ЕСЛИ ТЫ И ТАК ВСЁ ЗНАЕШЬ?


Если ты о объявлении функции в *.tlb и, впоследствии :-), указателях, ответ на мой вопрос был получен на другом форуме (vbstreets) до открытия этой темы. А здесь все началось с поста GSerg'а - наверное, слегка перепутал :-) тему с соседней, в которой, например, sne ничего вразумительного так и не предложил.

А с адресом функции я разобрался - между ответами #33 и #34 - вот вопрос и отпал.



писать было прямо Long'ом


А с этим я разберусь, хотя и с 4 байтами все работает.

Ответить

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

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



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