имя функции в ехе-файле

Тема в разделе "WASM.RESEARCH", создана пользователем xx7, 22 май 2009.

  1. xx7

    xx7 New Member

    Публикаций:
    0
    Регистрация:
    17 янв 2009
    Сообщения:
    18
    хочу запустить в отладчике одну программку , которая вызывает кучу других, а она вылетает из под отладчика,
    и не могу понять почему это всё перестало у меня работать

    дизасм нашёл в одной из этих программ
    такое
    Код (Text):
    1.   call dword[00403014 ->0000339A IsDebuggerPresent]
    2.                             ;;call KERNEL32.IsDebuggerPresent
    3.  mov dword[004040A8], eax
    4. :00401DCE 6A01
    а в теле exe примерно такие , как я понял импортируемые функции
    Код (Text):
    1. ....
    2. UnhandledExceptionFilter
    3.  00 00 4a 03
    4. SetUnhandledExceptionFilter
    5.  00 39 02
    6. IsDebuggerPresent
    7.  00 d7 02
    8. RtlUnwind
    9. 00 00 00 00 00 00
    10. ...................
    Будет-ли толк если просто заменить имя этой функции на имя другой, просто перезаписав это в exe,
    И какой функцией без параметров возвращающей null можно заменить ?
     
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    изменить
    Код (Text):
    1. call dword[00403014 ->0000339A IsDebuggerPresent]
    2.                             ;;call KERNEL32.IsDebuggerPresent
    на
    Код (Text):
    1. xor eax,eax
    2. nop
    3. ...
    4. nop
    или поставить мегахакерский плаген на отладчик
     
  3. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Если уж заменять, то на xor eax,eax + fill with NOP's
    А еще проще один байтик в PEB обнулить - или ручками, или еще проще в плагине каком-нить галку включить (если речь об OllyDbg)
     
  4. xx7

    xx7 New Member

    Публикаций:
    0
    Регистрация:
    17 янв 2009
    Сообщения:
    18
    Если перекомпилировать код из дизасма, наверное это мне ещё рановато
    Там одно только начало кода , заставляет долго перематывать страничку :)
    Код (Text):
    1. //******************** Program Entry Point ********
    2. :00401000 687DC04000              push 0040C07D
    3. :00401005 E9DE690000              jmp 004079E8
    4. :0040100A 59                      pop ecx
    5. :0040100B 0F23F1                  mov dr1, esi
    6. :0040100E E9EB690000              jmp 004079FE
    7. :00401013 6658                    pop ax
    8. :00401015 6659                    pop cx
    9. :00401017 F6F1                    div cl
    10. :00401019 6650                    push ax
    11. :0040101B E9DE690000              jmp 004079FE
    А если найти в бинарнике то не понимаю где искать
    :00401DC3 FF1514304000 call dword[00403014 ->0000339A IsDebuggerPresent]

    здесь 00401DC3 я так понимаю от Entry Point надо высчитывать, а где его искать непонятно
    пока только додумался думать что весь бинарный файл загружается в память таким каким его сделали ,) а с какого и по какое место непонятно
    вторую цифру E9DE690000 совсем не понял для чего


    Мегахакерские плагины наверное для мегахакерских дебагеров только бывают ,) я пока только IDA немного опробывал
     
  5. BigGreen

    BigGreen New Member

    Публикаций:
    0
    Регистрация:
    19 май 2009
    Сообщения:
    34
    на краклабе спроси
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Ну-ну, тяжелую артиллерию попробовал, а мегахакерский ручной пулемет с нежным названием Оля (OllyDbg) еще нет ?!
    В Оле можно перебить любой участок кода в окне дизассемблера и затем сохранить изменения в EXE, т.е. ничего искать в файле и тем более "перекомпилировать" не нужно
     
  7. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Помоему ТС не имеет понятия о РЕ структуре, адресном пространстве процесса, ассемблере и многом другом.
    Советую почитать статьи "В последний раз об упаковщиках" и про РЕ формат :)
     
  8. xx7

    xx7 New Member

    Публикаций:
    0
    Регистрация:
    17 янв 2009
    Сообщения:
    18
    Всем спасибо , но дело было совсем не в этой функции , просто IDA только ещё изучал.
    Наверное какраз про PE-формат и хотелось что-то понять, а так
    оказалось нужно было просто найти в файле эту строку ff 15 14 30 40 00
    ушёл пробовать почитать :)
     
  9. Meatcoins

    Meatcoins New Member

    Публикаций:
    0
    Регистрация:
    19 сен 2007
    Сообщения:
    178
    http://www.wasm.ru/article.php?article=ollydbg22
    И где-нибудь в этом районе:
    http://www.wasm.ru/article.php?article=ollydbg21
    http://www.wasm.ru/article.php?article=ollydbg23
    http://www.wasm.ru/article.php?article=ollydbg24
    И т.д.