Форум программистов, компьютерный форум CyberForum.ru

Чтение из DLL - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
20.01.2012, 17:31     Чтение из DLL #1
Есть DLL (не моя) в которой есть переменная(_pNetwork). Можно ли вытащить адресс этой переменной из DLL напрямую или же через процесс, использующий её.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2012, 17:31     Чтение из DLL
Посмотрите здесь:

Windows I/o без Kernel32.dll и Advapi32.dll C++
C++ Builder Как вшить в программу ssleay32.dll и libeay32.dll
Явная загрузка DLL из ДРУГОЙ DLL C++ Builder
Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? C++
При чтении dll библиотеки в обычном(не бинарном) виде, чтение прерывается на NULL C++
При компиляции DLL-проекта не создается DLL-ка C++
Точка входа в процедуру _dbk_fcall_wraper не найдена в библиотеке DLL BORLNDMM.DLL C++ Builder
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,315
20.01.2012, 17:53     Чтение из DLL #2
1. Самый простой способ - это воспользоваться функцией GetProcAddress() - разумеется, если этот идентификатор экспортируется.
2. Если нет - дизассемблер тебе в руки, с его помощью узнаешь смещение этой переменной, ну а затем все просто: берешь адрес загрузки DLL и добавляешь к нему смещение. Profit!
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,302
21.01.2012, 04:54     Чтение из DLL #3
А что такое _pNetwork?
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
21.01.2012, 17:27  [ТС]     Чтение из DLL #4
Цитата Сообщение от kravam Посмотреть сообщение
А что такое _pNetwork?
Название переменной
NoMasters
Псевдослучайный
1740 / 1083 / 70
Регистрация: 13.09.2011
Сообщений: 3,104
21.01.2012, 19:09     Чтение из DLL #5
А хидер от этой библиотеки есть? Если есть, то подключаем её и читаем
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
21.01.2012, 22:08  [ТС]     Чтение из DLL #6
Цитата Сообщение от NoMasters Посмотреть сообщение
А хидер от этой библиотеки есть? Если есть, то подключаем её и читаем
Хидер - это что?
NoMasters
Псевдослучайный
1740 / 1083 / 70
Регистрация: 13.09.2011
Сообщений: 3,104
21.01.2012, 22:28     Чтение из DLL #7
Заголовочный файл же. Вообще что за библиотека, откуда взялась, почему ты считаешь, как объявлена переменная и почему ты считаешь, что она там вообще есть?
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
22.01.2012, 14:17  [ТС]     Чтение из DLL #8
Цитата Сообщение от NoMasters Посмотреть сообщение
Заголовочный файл же. Вообще что за библиотека, откуда взялась, почему ты считаешь, как объявлена переменная и почему ты считаешь, что она там вообще есть?
Библиотека, с другой проги. Адрес этой переменной я использую как указатель. Узнал про неё из WinHex. А так же в Cheat Engine при добавлении адреса, в поле адрес можно вписать _pNetwork и прекрасно находится этот адрес. Т.е. с работающим процессом, использующим эту библиотеку, можно без проблем найти _pNetwork.
NoMasters
Псевдослучайный
1740 / 1083 / 70
Регистрация: 13.09.2011
Сообщений: 3,104
22.01.2012, 14:26     Чтение из DLL #9
Ну и и? Задача выполнена, нет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2012, 14:34     Чтение из DLL
Еще ссылки по теме:

DLL hijacking или подмена DLL при открытии .docx C++ COM
Как из DLL, в котором есть только DllGetClassObject, обратиться к методу, который должен быть в этой DLL? C++ WinAPI
Обращение к ресурсам DLL из самой DLL C++
Точка входа в процедуру InitializeConditionVariable не найдена в библиотеке DLL KERNEL32.dll C++ WinAPI
DLL - как подменить функцию, используя самодельную DLL? C++ Builder

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
22.01.2012, 14:34  [ТС]     Чтение из DLL #10
Цитата Сообщение от NoMasters Посмотреть сообщение
Ну и и? Задача выполнена, нет?
Увы нет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <conio.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    HMODULE hLib;
    
    hLib = LoadLibrary("Engine.dll");
    
    if(hLib == NULL)
    {
     printf("Can't load library\n");
     getch();
     return 1;
    }
    
    printf("Library loaded. Handle: %X\n", hLib);
    
   FARPROC pNetwork = GetProcAddress(hLib, "_pNetwork");
    
    if(pNetwork == NULL)
    {
     printf("Cant find adress\n");
     getch();
     FreeLibrary(hLib);
     return 1;
    }
    
    printf("Adress found: %X\n", pNetwork);
    
    
    getch();
    FreeLibrary(hLib);
    return 0;
}
Yandex
Объявления
22.01.2012, 14:34     Чтение из DLL
Ответ Создать тему
Опции темы

Текущее время: 00:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru