Сейчас на форуме: laslo, UniSoft, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› Проблема с установкой хука на fopen....
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 13 ноября 2010 18:06
· Личное сообщение · #1

Собственно делаю всё как обычно, использую advapihook, но в этот раз что-то не так...
Code:
  1. Var TrueFOpen:function(fname,mode:PChar):dword; stdcall; // cdecl; - тоже не работает
  2.  
  3. Function NewFOpen(fname,mode:PChar):dword; stdcall; // cdecl; - тоже не работает
  4. begin
  5. Result:=TrueFOpen(fname,mode);
  6. end;
  7.  
  8. HookProc('msvcr70.dll', 'fopen', @NewFOpen, @TrueFOpen);


Вот как функция выглядит в модуле, это не похоже на её описание и вызовы....
Code:
  1. .text:7C02888A ; int __cdecl fopen(char *, int)
  2. .text:7C02888A                 public fopen
  3. .text:7C02888A fopen           proc near
  4. .text:7C02888A
  5. .text:7C02888A arg_0           = dword ptr  4
  6. .text:7C02888A arg_4           = dword ptr  8
  7. .text:7C02888A
  8. .text:7C02888A                 push    40h             ; int
  9. .text:7C02888C                 push    [esp+4+arg_4]   ; int
  10. .text:7C028890                 push    [esp+8+arg_0]   ; char *
  11. .text:7C028894                 call    _fsopen
  12. .text:7C028899                 add     esp, 0Ch
  13. .text:7C02889C                 retn
  14. .text:7C02889C fopen           endp


А вот как это выглядит в коде:




Ранг: 20.2 (новичок), 16thx
Активность: 0.020.01
Статус: Участник

Создано: 14 ноября 2010 06:35 · Поправил: GroundHog
· Личное сообщение · #2

Попробуй поставить хук не в модуле msvcr70.dll, а в msvcrt.dll
прототип функции:

function(FileName: PChar; Mode: LongWord): Integer; cdecl;




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 14 ноября 2010 12:30
· Личное сообщение · #3

Соглашение там cdecl, если кодите не в раритетной делфи, то вместо PChar нужно использовать PAnsiChar. По последнему скрину видно, что у advapihook сглючил дизасм длинн и не скопировался еще один байт из оригинальной функции, поэтому остальной код сломался. Выход -> починить дизасм/использовать другой дизасм.

-----
Yann Tiersen best and do not fuck





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 14 ноября 2010 14:40
· Личное сообщение · #4

GroundHog пишет:
Попробуй поставить хук не в модуле msvcr70.dll, а в msvcrt.dll


Тогда не срабатывает...

PE_Kill пишет:
Соглашение там cdecl, если кодите не в раритетной делфи, то вместо PChar нужно использовать PAnsiChar.


Понял, исправил.

PE_Kill пишет:
Выход -> починить дизасм/использовать другой дизасм.


Жуть. Опять придётся что-то придумывать.



Ранг: 18.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 ноября 2010 15:52
· Личное сообщение · #5

ToBad, юзайте madcodehook, переход будет безболезненным - API очень похож.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 14 ноября 2010 18:12
· Личное сообщение · #6

uinor пишет:
юзайте madcodehook, переход будет безболезненным - API очень похож.


Спасибо за наводку! Работает корректно. Нашёл патченную длл, но вот madCodeHook.pas нигде нет или я искал плохо?



Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 14 ноября 2010 18:16
· Личное сообщение · #7

А это дельфи обязательно?



Ранг: 18.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 ноября 2010 18:34
· Личное сообщение · #8

ToBad, старую версию в сырках где-то на варезниках находил, посмотрите у чехов. Свежие в сырках еще не утекали вроде (если найдете - стукните в личку). Вы же все равно для "внутреннего использования" / анализа ваяете?

Alchemistry, какая в жопу разница какой язык? Лишь бы пофлудить, мля.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 14 ноября 2010 19:04
· Личное сообщение · #9

Alchemistry пишет:
А это дельфи обязательно?


Ну раньше я вообще на вижуалбейсике ваял, так что дельфи это прогресс...

uinor пишет:
старую версию в сырках где-то на варезниках находил, посмотрите у чехов

Вы же все равно для "внутреннего использования" / анализа ваяете? [/i]

Именно для разового анализа. Если старая версия осталась, киньте в личку пожалуйста.



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 14 ноября 2010 19:08
· Личное сообщение · #10

ToBad
тут что-то есть - www.torry.net/authorsmore.php?id=4502&sort=ID



Ранг: 145.8 (ветеран), 191thx
Активность: 0.140.36
Статус: Участник

Создано: 14 ноября 2010 19:12
· Личное сообщение · #11

uinor
Такая малолетний умник, что если бы не дельфи это можно было бы сделать через Detours.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 14 ноября 2010 19:38
· Личное сообщение · #12

Alchemistry вообще то это делается руками, без всяких библиотек прекрасно, если конечно не надо ставить под сотню хуков.

ToBad вот еще какая то хрень
uall.cheat-project.com/uallCollection/

-----
Yann Tiersen best and do not fuck




Ранг: 18.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 ноября 2010 19:44
· Личное сообщение · #13

tihiy_grom, не то. madshi уже долгое время не предоставляет фришную версию madCodeHook вообще, а тем более исходники (которые были лишь в первых реализациях доступны за умеренную сумму, сейчас это ~$2k).

ToBad, посмотрю, но, если честно, сомневаюсь, что остались. На чехах (board4all.cz) посмотрел - нет.

Alchemistry, понятно что для каждого языка есть свой фреймворк / тулкит / компонент для удобного хукинга. При чем тут используемый delphi? Под него тоже куча решений, зачем из-за какой-то мелочи менять язык разработки? Причем, если б вы сходили к madhi на сайт, увидели бы сравнительную таблицу с тем же detours (который явно проигрывает по возможностям).



Ранг: 22.4 (новичок), 23thx
Активность: 0.020
Статус: Участник

Создано: 14 ноября 2010 20:19 · Поправил: Dazz
· Личное сообщение · #14

ToBad
есть madCHook.pas version: 2.1d · date: 2005-11-28

Выложить весь архив MadCollection.2.5.2.6FS ?



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 14 ноября 2010 20:33
· Личное сообщение · #15

выкладывай, чего спрашивать просто так



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 14 ноября 2010 21:24
· Личное сообщение · #16

Dazz пишет:
есть madCHook.pas version: 2.1d · date: 2005-11-28


Это лишь файл с дефайнами ф-ий. Сурсового релиза мадкодехукера никогда не было.

-----
.[ rE! p0w4 ].




Ранг: 22.4 (новичок), 23thx
Активность: 0.020
Статус: Участник

Создано: 14 ноября 2010 21:37
· Личное сообщение · #17

Ultras пишет:
Это лишь файл с дефайнами ф-ий. Сурсового релиза мадкодехукера никогда не было.

Да, Вы правы. Но на всякий случай выложу, вдруг кому-пригодится.
www.multiupload.com/FBAXW85OQJ - я не использовал...




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 14 ноября 2010 21:48
· Личное сообщение · #18

Меня что то рапида забанила, посмотрите что там
forum.exetools.com/showthread.php?p=59657

-----
Yann Tiersen best and do not fuck





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 14 ноября 2010 22:03
· Личное сообщение · #19

MadCollection 2.5.8.0
rghost.ru/3256546/private/b0bd080ca1b16f431b5b3b82db020358

-----
Лучше быть одиноким, но свободным © $me




Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 14 ноября 2010 22:08 · Поправил: Ultras
· Личное сообщение · #20

PE_Kill, всё то же что и во остальных релизах mad collection: всё FS, кроме хукера.

ЗЫ. Конечно может я не понимаю, а зачем сурсы?? Есть же madCHook.DLL (она только с расширением xxx), переименуйте и всё. Файл с дефайнами есть...

ЗЫЫ. У меня есть 2.1h (date: 2009-07-21), взятая из последней коллекции 3.0. rghost.ru/3256781

-----
.[ rE! p0w4 ].




Ранг: 22.4 (новичок), 23thx
Активность: 0.020
Статус: Участник

Создано: 14 ноября 2010 22:50 · Поправил: Dazz
· Личное сообщение · #21

Не было на паблике исходников madCHook.DLL имхо. Я просмотрел все темы на руборде(с 2001г) в режиме для печати, народ писал, что исходник отсутствует.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 14 ноября 2010 23:01
· Личное сообщение · #22

PE_Kill пишет:
uall.cheat-project.com/uallCollection/


Очень интересная ссылочка! Спасибо!

uinor пишет:
На чехах (board4all.cz) посмотрел - нет.


Ну нет - так нет. В принципе уже порешал всё.

Dazz пишет:
есть madCHook.pas version: 2.1d · date: 2005-11-28


Не, это у меня тоже есть.

PE_Kill пишет:
Меня что то рапида забанила, посмотрите что там


MadRemote and madCodeHook sourcecode still missing. Пишут, что нет.

Ultras пишет:
Конечно может я не понимаю, а зачем сурсы?? Есть же madCHook.DLL


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

Спасибо всем кто принял участие и помог!



Ранг: 13.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 17 ноября 2010 06:21
· Личное сообщение · #23

BoRoV пишет:
MadCollection 2.5.8.0
rghost.ru/3256546/private/b0bd080ca1b16f431b5



Спасибо за ссылку я как раз madDisAsm давно искал.

Образовалась проблема у меня как у новичка не могу подключить модуль madDisAsm к проекту помогите плиз.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 17 ноября 2010 07:43
· Личное сообщение · #24

Dead_Angel пишет:
не могу подключить модуль madDisAsm к проекту помогите плиз.

Я уже настроил свой телепатический аппарат на ваш моск, ожидайте, идет сканировании проблемы...

-----
Yann Tiersen best and do not fuck




Ранг: 13.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 17 ноября 2010 08:27
· Личное сообщение · #25

PE_Kill пишет:
Я уже настроил свой телепатический аппарат на ваш моск, ожидайте, идет сканировании проблемы...


Не смешно, я пытался попробовать написать дизасм по статье GPcH, но не могу подключить модуль madDisAsm из пакета MadCollection 2.5.8.0, пытался копировать его в C:\Program Files\Borland\Delphi7\Source, а затем уже писать его в uses madDisAsm; в проекте, но при компиляции выдается ошибка.

Подскажите куда и что делать для подключения модуля плиз...

Очень охото попробовать




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 17 ноября 2010 08:34
· Личное сообщение · #26

Dead_Angel пишет:
не могу подключить модуль madDisAsm к проекту помогите плиз.

А ты остальные модули, которые нужны для него установил?

Когда-то давно пробовал его, и никаких проблем не было.

-----
Лучше быть одиноким, но свободным © $me




Ранг: 13.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 17 ноября 2010 08:39
· Личное сообщение · #27

BoRoV пишет:
А ты остальные модули, которые нужны для него установил?


Кажется нет объясни плиз, какие и куда?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 17 ноября 2010 12:46
· Личное сообщение · #28

Dead_Angel с такими вопросами тебе только в подфорум новичков. Неужели сложно расписать подробно? Даже сейчас всё что можно ответить, это опять про телепатию.

Dead_Angel пишет:
пытался копировать его в C:\Program Files\Borland\Delphi7\Source

Зачем?

Dead_Angel пишет:
а затем уже писать его в uses madDisAsm;

И как Delphi должен узнать где лежит madDisAsm?

Dead_Angel пишет:
но при компиляции выдается ошибка.

Какая ошибка? Что пишет компилятор?

Я так понимаю это твое первое знакомство с Delphi так и надо было написать, научите меня устанавливать компоненты и юниты. Самое простое, заливаешь все файлы в папку со своем проектом и пишешь нужные в uses. По нормальному - указываешь в Environment Options пути до сорсов и тогда подключаешь в uses.

-----
Yann Tiersen best and do not fuck




Ранг: 13.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 17 ноября 2010 16:10 · Поправил: Dead_Angel
· Личное сообщение · #29

PE_Kill и BoRoV спасибо за разъяснение, а тему я не стал создавать даже в новичках из-за того что и так наплодил дурацких топиков и не хочу что бы о обо мне плохо думали я просто стараюсь хоть чему то научиться и как нормальный новичок хватаюсь за всё сразу, так что не судите строго.


PE_Kill пишет:
первое знакомство с Delphi так и надо было написать, научите меня устанавливать компоненты и юниты

Если честно не мог найти слов что бы так и обьяснить.



Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 17 ноября 2010 20:43
· Личное сообщение · #30

Проблема с установкой хука на fopen
Хм, перехватывать проще типа NtCreateFile или NtOpenFile (лень смотреть что рантайм -функа это означает)

-----
продавец резиновых утёнков



. 1 . 2 . >>
 eXeL@B —› Программирование —› Проблема с установкой хука на fopen....
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати