Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: Перехват и замена Апи как? Добавлено: 12.08.05 20:19  

Автор вопроса:  Amor | ICQ: 1268198 
Или как хотябы получить всё содержание меню пуск, иконок около часов

Ответить

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

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



Вопросов: 0
Ответов: 1066
 Профиль | | #1 Добавлено: 12.08.05 20:40
на wasm.ru есть статьи по перехвату вызовов api-функций.

Ответить

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



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #2
Добавлено: 12.08.05 22:04

на сайте есть примеры от sne по перехвату АПИ функций

Ответить

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



ICQ: 1268198 

Вопросов: 31
Ответов: 101
 Профиль | | #3 Добавлено: 13.08.05 00:27
Хде?

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 13.08.05 00:35
да не партесь, он не разберётся сам с перехватом, чтобы получить то что он хочет.

Это больше склонно к "получите мне всё содержание меню пуск, иконок около часов..."

я нечего не имею против, когда 0 в какой-то области, то сам такой... Просто говорю как есть, он не разберётся, у кого время есть лучше накодите ему...

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 13.08.05 00:45
Хде?

тут: http://vbnet.ru/samples :)

ЗЫ
кто ищет тот найдет

Ответить

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



ICQ: 1268198 

Вопросов: 31
Ответов: 101
 Профиль | | #6 Добавлено: 13.08.05 07:09

nu ti pisec kruto skazal
http://vbnet.ru/samples :)

Ответить

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



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #7
Добавлено: 13.08.05 11:16
Amor, я начал перехватывать АПИ после 1,5 года программирования. Тогда я уже знал ВБ хорошо, и С++ на начальном уровне. Если ты тоже это знаешь - вперед на rsdn.ru - там статьи есть по перехвату, на С++.

На ВБ перехватить АПИ функцию невозможно (по крайней мере, я в этом уверен). Надо использовать что-то типа АСМ или С++ (или С без плюсов :).

Ответить

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



ICQ: 1268198 

Вопросов: 31
Ответов: 101
 Профиль | | #8 Добавлено: 13.08.05 13:29
Почемуже можно ASM вставки в VB

Ответить

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



ICQ: 1268198 

Вопросов: 31
Ответов: 101
 Профиль | | #9 Добавлено: 13.08.05 13:31

http://dotfix.net/

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #10
Добавлено: 13.08.05 14:23
это не вставки а недоразумение, все равно даже если бы и была возможность нармального использования ассемблера в VB6 приложениях, тебе это не помогло бы...

Ответить

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



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #11
Добавлено: 13.08.05 16:00

какая разница? вставки/не_вставки, пофиг, тебе надо внедрять ДЛЛ, нормальную stdcall DLL, а не то, что создает ВБ....И пофиг, что нашли способ создавать на ВБ stdcall DLL, я пробовал это делать, DLLMain почему-то не вызываеться. Ещё надо подгружать в процесс msvbvm60.dll, короче - ВБ не для перехвата.

Ответить

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



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


 Профиль | | #12 Добавлено: 13.08.05 16:52
я пробовал это делать, DLLMain почему-то не вызываеться.


Если бы DLLMain не вызывалась, загрузчик бы послал библу нафиг, ибо ему надо, чтобы DLLMain вернула TRUE.
Ты каким методом создания dll пользовался?

Ответить

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



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #13
Добавлено: 13.08.05 22:14

GSerg спорим???

Библиотека подгружена, все тип топ, а DLLMain не вызвана! 100%

Я внедрял её.

Как создавал ДЛЛ: на этом сайте в примерах есть мой пример глобального хука. Он неудачный, кстати, глобальным хук не стал, но там именно stdcall DLL на ВБ.

http://vbnet.ru/sample/sampledownload.asp?id=551

А внедрял я такую ДЛЛ вот так:

Кинь на форму кнопку и текстовое поле. В текстовое поле впиши PID процесса, в который надо внедрить ДЛЛ

'+++++++++++++++++++ This declarations for Inject Dll function
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
Private Declare Function VirtualAllocEx Lib "kernel32.dll" (ByVal hProcess As Long, lpAddress As Any, ByRef dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32.dll" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32.dll" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32.dll" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function CreateRemoteThread Lib "kernel32.dll" (ByVal hProcess As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32.dll" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function VirtualFreeEx Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lpAddress As Any, ByRef dwSize As Long, ByVal dwFreeType As Long) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Const INFINITE As Long = &HFFFFFFFF
Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000
Private Const SYNCHRONIZE As Long = &H100000
Private Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
Private Const MEM_COMMIT As Long = &H1000
Private Const PAGE_READWRITE As Long = &H4
'++++++++++++++++++ end of Inject Dll function declarations

Private Sub Command1_Click()
    
    InjectDLL Val(Text1.Text), ";D:\Ìîº\Projects\SD\Release\apih1.dll"

End Sub

Function InjectDLL(pID As Long, szLibFile As String) As Boolean
    '+++++++++++++++++++++ © Inject Dll function  by DaSharm.
    ' Î÷åíü áîëüøàÿ áëàãîäàðíîñòü sne (sne_pro@mail.ru) çà òî,
    ' ÷òî òûêíóë ïàëüöåì íà ìîè îøèáêè.
    Dim hProcess As Long, pszLibFileRemote As Long, hThread As Long, pfnThreadRtn As Long, LibLen As Long, TID As Long, BytesWritten As Long
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0&, pID)
    If hProcess = 0 Then GoTo ERR_HND
    'LibLen = Len(szLibFile)
    pszLibFileRemote = VirtualAllocEx(hProcess, ByVal 0&, ByVal Len(szLibFile) + vbNull, MEM_COMMIT, PAGE_READWRITE)
    If pszLibFileRemote = 0 Then GoTo ERR_HND
    BytesWritten = WriteProcessMemory(hProcess, ByVal pszLibFileRemote, ByVal szLibFile, Len(szLibFile) + vbNull, ByVal 0&;)
    If BytesWritten = 0 Then GoTo ERR_HND
    pfnThreadRtn = GetProcAddress(GetModuleHandle("kernel32.dll";), "LoadLibraryA";)
    If pfnThreadRtn = 0 Then GoTo ERR_HND
    hThread = CreateRemoteThread(hProcess, ByVal 0, ByVal 0, ByVal pfnThreadRtn, ByVal pszLibFileRemote, 0, TID)
    WaitForSingleObject hThread, INFINITE
    CloseHandle hProcess
    Exit Function
ERR_HND:
VirtualFreeEx hProcess, ByVal pszLibFileRemote, ByVal Len(szLibFile) + vbNull, MEM_RELEASE
CloseHandle hProcess
End Function


Код 100% внедряет ДЛЛ и, конечно, DLLMain всегда вызываеться...хи, но не с ДЛЛами, созданными на ВБ. Вообще-то надо попробовать сперва внедрить msvbvm60.dll а птом уже внедрять другие длл, мож прокатит, не пробовал, просто взял С++ и кодил на нем...

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 14.08.05 00:38
2 DaSharm ;) Знакомый код :) Подтверждаю, работает 100% Добавлю лишь то что проги которые мониторят память (антивири, фаеры) ругаются на такой метод внедрения...

Ответить

Номер ответа: 15
Автор ответа:
 Black Dragon



ICQ: 321186096 

Вопросов: 30
Ответов: 347
 Web-сайт: в разработке
 Профиль | | #15
Добавлено: 14.08.05 18:59
Не, люди, вот человек задал вопрос:
Перехват и замена Апи как? Или как хотябы получить всё содержание меню пуск, иконок около часов
А спросите его сначала: "Оно ему нужно?". Или рейтинг решил поднять?

Ответить

Страница: 1 | 2 |

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



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