![]() |
|
Модераторы: bsa |
![]()
|
|
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Предупреждение компилятора: 12: warning: assignment from incompatible pointer type Понятно что вместо DWORD DLLAddr нужно писать HINSTANCE DLLAddr; Т.к. - WINBASEAPI HINSTANCE WINAPI LoadLibraryA(LPCSTR); Но мне нужно потом считывать в DWORD переменные PEHeader библиотеки, указатель на экспорт etc Хочу что бы без предупреждений компилировалось |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
Это сообщение отредактировал(а) 586 - 9.6.2010, 20:33 |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
DWORD PEHeaderOffset;
PEHeaderOffset = *(PDWORD) &DLLAddr[0x3C]; А с этим тогда что делать? |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
правильно вообщето так:
|
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Мне без этих хитростей нужно сделать, просто есть DWORD с адресом библиотеки, а дальше я руками все вычислить хочу
Потому что DWORD PEHeaderOffset = idh->e_lfanew; Не логично что e_lfanew это читает дворд по смещению 3С Это сообщение отредактировал(а) tofreesky - 9.6.2010, 20:44 |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
|
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
А как бы вы проще и легче реализовали задачу, на вход функции подается имя апи, из dll, адрес которой мы знаем, в ответ возвращается word - Hint апи
ps А в чем отличие: byte *pointer; pointer = malloc(0x1000); и byte* pointer; pointer = malloc(0x1000); Т.е. положение символа "*" , компилировал и так и так, все одинаково, в чем разница? |
|||
|
||||
| 586 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
Используя соответствующие структуры - IMAGE_DOS_HEADER, IMAGE_NT_HEADERS и другие.
без разницы |
||||
|
|||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
DWORD PEHeaderOffset,ExportTable;
DWORD Pointer1; DWORD Pointer2; WORD Hint = 0; for(Hint=0;;Hint++) { Pointer2 = *(DWORD*)(Pointer1+Hint*4) + DLLAddr; if(strcmp(APIName,Pointer2) == 0) break; } Теперь жалуется что Pointer2, должен выглядеть как char* Pointer2; И как еще сделать, что бы читался DWORD в каждой итерации, без Hint*4, а то боюсь как бы переполнения не было Это сообщение отредактировал(а) tofreesky - 9.6.2010, 21:18 |
|||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Так что делать?
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| tofreesky |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 9.6.2010 Репутация: нет Всего: нет |
Можно ссылки на эллектронные версии? Я бы с радостью.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |