[DLL Hook not SIMPLE Difficults]

Тема в разделе "WASM.WIN32", создана пользователем punxer, 13 янв 2009.

  1. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    привет. пишу либу на сях для любимой девушки-) суть проста. она(девушка) пишет что хочет, хук перехватывает и подменяет символ на итый символ текста, который я задал в dll. то есть она пишет "привет" а пишется "я тебя" .... и так далее, это не суть... суть в том, что при Норм усл всё работает как часы, хук- глобален, но стоит изменить опции линкера ALIGN FILEALIGN STUMB (между всем-или)-всё идёт к чертям-или работает только в моём процессе или не работает вовсе. Поверхностная причина, почему не работает, потому что выгружается длл из-за исключения... но оно не отлавливается...В моём процессе в таких случаях работает только до того пока не перешёл на шокно ввода другого процесса и не начал писать там... или всегда но только в моём... сутью было уменьшить размер примерно до 512-1024 байт этой dll. если есть предложения буду очень призхнателен...)
    код прикреплю при надобности(или приект...) но решение наишару не особо охота.. хочетсо понять что твориццо при этом...
    PS: VS2008 TS. DLL SCTIONS: text<-data...; reloc; rsrc
    nodeflib
    кстати вопрос вдогонку, если я в длл указал мануально точку входа на dllmain стандартную, ведь в неё не будут же передаваться параметры,а всякий бред со стека...? Если я обьявляю свою точку входа то стоит её обьявлять как VOID MAIN(BOID); ????

    Спасибо заранее. Надеюся эта тема будет интересна не только мне...=)
     
  2. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    Какой бред со стека? BOOL WINAPI DllEntry(HINSTANCE hDllInstance,ULONG dwReasonForCall,ULONG Reserved). Вот так она есть в чистом виде, так и юзай. Так она вызывается из ntddl!LdrLoadDll.
    Вообще то что ты написал читать очень тяжело, точнее нереально. Лучше просто выложи код.
     
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    dllentry вызывается CRT...
    прочитай внамательно пожалуйста и не спеши...
     
  4. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    Совсем не всегда. Если требуется инициализация CRT, то точкой входа ставится _DllMainCRTStartup, которая вызывает твою DllEntry с нужными параметрами. А если нет - то DllEntry твоя и будет точкой входа. Аргументы и там и там одинаковые, их три.
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    это ясно. Выложу код попозже.