как мне прочитать из label
GSerg писал(а):Переменные - только искать по их значениям. Ну или SoftIce...
Approximator писал(а):Вроде должен быть способ достучаться до области памяти процесса, выделяемой под перменные этого процесса.
alibek писал(а):Approximator, ты же не путая теплое с мягким
Где VB6 (или проги, на нем написанные) и где SoftICE. В частности, SoftICE устанавливает низкоуровневый драйвер, через который и происходит отладка
DebugActiveProcess
DebugActiveProcessStop
DebugBreak
DebugBreakProcess
DebugSetProcessKillOnExit
GetProcessHeap
CsrProbeForRead
CsrProbeForWrite
DbgUiDebugActiveProcess
DbgBreakPoint
DbgSetDebugFilterState
Approximator писал(а):Добавлю свой вопрос, как мне кажется, близкий по теме: а как вообще (алгоритм?) определить (все) переменные "чужого" окна/процесса?
Предназначен, главным образом, для изучения содержимого текстовых элементов управления (edit box-ов), в которых все буквы заменены одним символом. Такие элементы чаще всего содержат пароли. С помощью PC можно убрать защиту с подобного edit box-а, либо узнать его содержимое без изменения самого текстового элемента. PC позволяет также получить информацию (заголовок/содержание, дескриптор, имя класса) о других элементах управления и окнах.
Шурик писал(а):А можно вместо SoftIce использовать проще утилитку например Password_Checker, вот описание:Предназначен, главным образом, для изучения содержимого текстовых элементов управления (edit box-ов), в которых все буквы заменены одним символом. Такие элементы чаще всего содержат пароли. С помощью PC можно убрать защиту с подобного edit box-а, либо узнать его содержимое без изменения самого текстового элемента. PC позволяет также получить информацию (заголовок/содержание, дескриптор, имя класса) о других элементах управления и окнах.
alibek писал(а):Approximator, таковые функции описаны не в SDK, а в DDK, которого у меня нет (а MSDN еще не имею), поэтому я могу и ошибаться, но думаю там используются такие типы и структуры данных, которые не получится использовать в VB.
Кроме того, скорее всего эти функции должны вызываться на более низком уровне, нежели уровень прикладных программ.
Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, ByVal lpNumberOfBytesWritten As Long) As Long
The ReadProcessMemory function reads data from an area of memory in a specified process. The entire area to be read must be accessible, or the operation fails.
The WriteProcessMemory function writes data to an area of memory in a specified process. The entire area to be written to must be accessible, or the operation fails.
MOV писал(а):Я так и не понял проблема решилась или нет. Я как-то тоже столкнулся с такой проблемой - надо было пройти игрушку (простую типа компьютерщик, там надо типа взломать банк подбором кода при чем правильная комбинация заранее известна, надо только решить головоломку)
Так вот я решил сделать программульку, которая бы вставляла бы нужные цыфры в нужные места, а тут эти лэйблы и так как хендла нет решил, что это несовсем реально, тем более, если представить что лэйбл, по своей сути (когда компилируется) может ведь работать как принт (Me.Print "Хрен ты меня изменишь") и таким образом, вообще не представлять из себя объект.
Хотя у меня такой вопрос давно был, не помню, может WinSpy какой-нить и видит все-таки Label как объект, ну или как окно (кому как нравится).
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pId)
Debugging
A debugger is an application that enables a developer to observe and correct programming errors. This overview describes the debugging support provided by the Win32 API.
Debugging Functions
The following functions are used with debugging.
ContinueDebugEvent
DebugActiveProcess
DebugBreak
FatalExit
FlushInstructionCache
GetThreadContext
GetThreadSelectorEntry
IsDebuggerPresent
OutputDebugString
ReadProcessMemory
ReadProcessMemoryVlm
SetDebugErrorLevel
SetThreadContext
WaitForDebugEvent
WriteProcessMemory
WriteProcessMemoryVlm
Hooks
A hook is a point in the system message-handling mechanism where an application can install a subroutine to monitor the message traffic in the system and process certain types of messages before they reach the target window procedure.
This overview describes hooks and explains how to use them in a Win32-based application.
Hook Functions
The following functions are used with hooks.
CallMsgFilter
CallNextHookEx
CallWndProc
CallWndRetProc
CBTProc
DebugProc
ForegroundIdleProc
GetMsgProc
JournalPlaybackProc
JournalRecordProc
KeyboardProc
LowLevelKeyboardProc
LowLevelMouseProc
MessageProc
MouseProc
SetWindowsHookEx
ShellProc
SysMsgProc
UnhookWindowsHookEx
BP писал(а):Приложения выполняются в Ring 3. А RING 5 IMHO вообще не бывает.
BP писал(а):Процессоры Intel имеют 4 уровня привелегий, но Микрософт использует только два: 0 и 3.
Вроде для совместимости с какой то там платформой. Какой не помню.
Approximator писал(а):Это связано с типом адресации во Flat-памяти. Дело в том, что есть такая штука, как Fix Up's Table, эта ифа используется для размещения проги, если в её адресном пространстве она не ложится ровно... вот здесь и работают "привилегии"...
BP писал(а):Вот что у Зубкова по этому поводу:
Защита может действовать как на уровне сегментов, так и на уровне страниц, ограничивая доступ в зависимости от уровня привилегий (4 уровня привилегий для сегментов и два для страниц).
Надеюсь я правильно понял.
Если используется не сегментная, а плоская модель памяти, то сегментыные привилегии не работают. Остаются только страничные.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31