![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| <Spawn> |
|
||||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Пробую делать перехват вызовов WinSock API, а именно функции recv. Но что то, используемый мною класс ее ни как не меняет. Внедряюсь в чужое АП при помощи хуков - внедрение проходит успешно, поскольку проверяю наличие библиотеки winsock в процессе через GetModuleHandle.
Вот утсановка хука( часть DLL):
Я заглянул в класс подмены функции таблицы импорта, но там все ок - ошибок не было. Причины была в том, что класс, видимо, не нашел этой функции в таблице импорта, поскольку в цикле просморта я подставлял ShowMessage но нахождения не было:
. Продезассемблировав нужную мне прогу при помощи IDA Pro, я увидел там вот это:
Почему в заголовке файла она хранится как __imp_recv? Подскажите пожалста в чем может быть ошибка подмены импорта. Это сообщение отредактировал(а) <Spawn> - 3.6.2003, 07:19 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||||
|
|||||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
сделай вывод ImportEntry^.Function_ при поиске адреса.
здесь: FoundProc := Pointer(ImportEntry^.Function_) = FromProc; "вывод"(ImportEntry^.Function_ ); и убедись, что в списке импорта есть адрес recv... -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Как я уже говорил, я проверял наличие самой библиотеки через GetModuleHandle - все было ок. И еще я проверял наличие самой функции при помощи GetProcAddress. Результат тот же - ее адресс был найден. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Ок, выведи значение ImportEntry для меня
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Не найдено таких значений!!!!
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
То есть:
CurrName := PChar(Base) + ImportDesc^.Name; if StrIComp(CurrName, PChar(ModuleName)) = 0 then begin // не попадает ? -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Да результат функции StrIComp всегда не равен 0. Значения ImportDesc^.Name меняется с 354104 по 360268 за 13 итераций и при этом ни разу не выполняется код после if StrIComp(CurrName, PChar(ModuleName)) = 0 then.
Это сообщение отредактировал(а) <Spawn> - 3.6.2003, 17:26 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Я посмотрел значения всех CurrName := PChar(Base) + ImportDesc^.Name - там небыло wsock32.dll !!!!!!!!!!!!!!!!!!!!!!!!!!
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Как же такое может быть, что GetProcAddress(GetModuleHandle('wsock32.dll'),'recv') возвращает адресс функции, а в таблице импорта она не находится? И не находитcя там сама библиотека wsock32.dll.
Вот список импортируемых ДЛЛ (Почему идет повторение?): kernel32.dll user32.dll advapi32.dll oleaut32.dll kernel32.dll advapi32.dll kernel32.dll version.dll gdi32.dll user32.dll kernel32.dll oleaut32.dll comctrl32.dll Я пробовал подменить SelectObject - все было ок. Это сообщение отредактировал(а) <Spawn> - 3.6.2003, 20:46 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
может я не совсем что-то понимаю, но получается что на момент установки хука сокеты еще не загружены и динамически подгружаются позже... но может я что-то не понимаю
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
нет, просто wsock32.dll грузит не сам exe, а одна из библиотек до него.
Дай полный список импортируемых dll. Или скажи - там есть wsock32.dll? Смотри PEViewer.exe например. -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
А где эту прогу взять можно?
Я при помощи того класса вытащил вот эти библиотеки: kernel32.dll user32.dll advapi32.dll oleaut32.dll kernel32.dll advapi32.dll kernel32.dll version.dll gdi32.dll user32.dll kernel32.dll oleaut32.dll comctrl32.dll -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Отправил тебе прогу - смотри почту. Посмотришь, если ли в списке импорта wsock32.dll. Если нет - давай Exе мне.
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
ок
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
У меня пока небольшие проблемки смоим основным мылом
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Done
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
В списке импорта WinSock есть, но что странно - напротив адресов нету имен импортируемых функций.
П.С. Класная прога. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
ага, значит не все так плохо, как кажется на первый взгляд ;). То что нет имен - ерунда, т.к. твой компонент ищет их не по имени (разумно
Теперь насчет того, что компонент не находит - это не понятно... Кинь мне если можешь. -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Я тебе тогда в привате его давал))
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
вижу, токо я уже себе сам такое сделал, не компонентом конечно, но зато все понятно. Поэтому и говорю - давай свой exe, я попробую его пропустить через свой перехватчик. Если не поймает буду ковырять.
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Он весит 60 Мб где то)
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Мать-перемать... Ладно, говоришь IDA - показывает его, как extern, значит таки включается. Попробуй все найденные имена импортируемых библиотек записать в массив. Потом, для каждого имени - вызывай свой перехватчик, т.е. чтобы компонент искал Recv не в Exe, а этих dll, может какая-то из них импортирует ее.
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Пробовал для всех найденых ДЛЛ - функция recv не найдена((((
Это сообщение отредактировал(а) <Spawn> - 5.6.2003, 15:55 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Щас докалупаю перечисление открытых процессом дескрипторов и вышлю тебе dll с перехватом recv.
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
ОО)) Заранее спасибо.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Я пробую запустить так(Для примера возьму Form1, чтоб было понятнее как описать имя класса):
InjSpool.exe c:\Download\Temp\InjLib.dll Form1 - при таком запуске ругается, что Process instance not found. Может я что то делаю неправильно? -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Form1 - это имя процесса? Наверно Process1 - более правильно. или вызови диспетчер задач и посмотри как называется процесс, т.к. программа внедряет любую dll в любой процесс...
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Если процесс имеет имя состоящееиз нескольких строк, то вылетает ошибка (
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Блин, ехе-переименуй!
Я не делал для всех случаев проверку- облом, мне это для работы не надо и еще момент - запускать лучше из Far или подобного командера. Это сообщение отредактировал(а) man2002ua - 6.6.2003, 17:17 -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
656: >> WSOCK32.dll [004E4324]
656: <start> 004E4324 656: ---> 71A91890 656: ---> 71A91B7B 656: ---> 71A932CA 656: ---> 71A91AF4 656: ---> 71A91740 656: ---> 71A93ECE 656: ---> 71A91ED3 656: ---> 71AB2E5F 656: ---> 71A912A7 656: ---> 71A91746 656: ---> 71A93C22 656: ---> 71AB1072 656: ---> 71A93E5D 656: ---> 71A9155A 656: ---> 71AB1020 656: ---> 71A91746 656: ---> 71A91A6D 656: ---> 71A941DA 656: ---> 71A92BBF 656: ---> 71A912A7 656: ---> 71A91836 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
а сообщения Address Found - patching %08X не было?
Вышли мне wsock32.dll - или сам ida раскрути и скажи, функция recv - Какой адрес имеет? Это сообщение отредактировал(а) man2002ua - 7.6.2003, 09:04 -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Cори что не мог раньше ответить. У меня дома инет вырубился до понедельника( Завтра вышлю тебе winsock.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Это из wsock32.dll
.text:74FE10B2 public recv .text:74FE10B2 recv proc near .text:74FE10B2 .text:74FE10B2 Buffers = _WSABUF ptr -8 .text:74FE10B2 s = dword ptr 8 .text:74FE10B2 Flags = dword ptr 0Ch .text:74FE10B2 NumberOfBytesRecvd= dword ptr 10h .text:74FE10B2 flags = dword ptr 14h Это сообщение отредактировал(а) <Spawn> - 9.6.2003, 19:41 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
бред какой-то. Импортируются функции по адресам 71Axxxxxx, а в wsock32 они с 74ххххххххх.
Скопируй мне из ida файла программы 1) обращение к recv _jmp ds:recv - адреса и код 2) значение по адресу, куда переходит jmp __extern recv - запомни адрес XXX 3) открой программу с помощью Hiew и перейди на XXX (нажми F5 и введи .ХХХ (точка впереди), ентер) 4) скопируй мне 4 байта оттеда. -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Обращение к recv из проги
.text:004B6222 call recv .text:004B6227 cmp eax, 0FFFFFFFFh .text:004B622A jnz short loc_4B6249 .text:004B622C call WSAGetLastError .text:004B6231 cmp eax, 2733h .text:004B6236 mov [esi+41Ch], eax .text:004B623C jz short loc_4B6247 .text:004B623E push eax .text:004B623F call sub_4B63C0 .text:004B6244 add esp, 4 .text:004B6247 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Я тут маленько порылся и вот, что заметил: .text:004D063E ; [00000006 BYTES: COLLAPSED FUNCTION recv. PRESS KEYPAD "+" TO EXPAND] Раскрытое значение .text:004D063E .text:004D063E ; --------------- S U B R O U T I N E --------------------------------------- .text:004D063E .text:004D063E .text:004D063E ; int __stdcall recv(SOCKET s,char *buf,int len,int flags) .text:004D063E .text:004D063E recv proc near ; CODE XREF: sub_4B6210+12p .text:004D063E ; sub_4B6FC0+12Dp ... .text:004D063E jmp ds:__imp_recv ; Receive data from a socket .text:004D063E recv endp .text:004D063E Я что то не совсем понимаю назначение данного кода. То есть при вызове recv вызывается __imp_recv? Для чего? /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Recv в таблице импорта. .idata:004E435C ; int __stdcall __imp_recv(SOCKET s,char *buf,int len,int flags) .idata:004E435C extrn __imp_recv:dword ; DATA XREF: recvr .idata:004E435C ; Receive data from a socket //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// А что за прога Hiew? Где ее можно взять. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
надеюсь тебе в craft@.. пролезет 320 Кб
выслал Hiew -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Байты по адресу 004E435C(вместе с тем на которых оказался курсор) - 10 00 00 80. Если это не поможет, то могу выслать сам exe(я ошибся, сказав что он весит 60Мб. Он весит около 1Мб, а вот с сопутствующими файлами он весит порядочно).
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Высылай!
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Done
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
У меня все нормально обнаруживается той утилиткой, что я тебе высылал InjSpool... Адрес патчится на новый! Ты наверно не тот exe выслал?
1) Запускаем Client.exe 2) Запускаем InjSpool.exe C:\download\InjLib.DLL client 3) - в отладчике Address found - 4E435C Или что-то ты не то делаешь или у меня ОС такая раздолбаная, что позволяет делать с ней что угодно -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
У меня выводит лишь все используемые модули с функциями. Address found нет. Запускаю клиент, потом
InjSpool.exe C:\download\Delphi\Temp\InjLib.DLL client.exe. У меня Винь ХП. Что делать? -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
без понятия... Ставить W2K наверное
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Попробую на Вин2К сервер.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
На одном форуме мне ответили, что возможно функции импортируются по ординалу и для этого необходимо модифицировать таблицу импорта. И там дали две функции для получения и модификации таблицы. Щас буду с этим разбираться.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
так не "возможно", а так оно и есть. Но при запуске - они преобразуются в нормальные адреса...
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Ну тогда не знаю) Остается один выход - детально изучить заголовок файла и пытаться, пытаться, пытаться...
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Вот, кстати, как это реализуется на Си, в одной похожей рабочей проге -
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Все дело было в том, что при подключении к чужому процессу я указывал в роли hInstance стандартную переменную, а нужно было сделать GetModuleHandle(nil) ))))
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |