Ищу: вызов функций программы

Тема в разделе "WASM.SOFTWARE", создана пользователем GoldFinch, 22 окт 2008.

  1. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Ищу софтину которая цеплялась бы к программе и позволяла вызывать функции (программные) этой программы. Очень желательно подобие скриптоязыка, чтобы в случае креша не вводить по-новой последнюю функцию.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    http://www.google.ru/search?complete=1&hl=ru&newwindow=1&q=%D0%B8%D0%BD%D1%84%D0%B8%D1%86%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD+win32.&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=
     
  3. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    ... софтину которая позволяла бы в красивом окошечке вбить адрес функции, (а лучше заранее заданное символьное имя), запихнуть в стек\регистры ее параметры и вызвать ее.
     
  4. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    GoldFinch
    И какие же параметры (и в каком числе) будут передаваться этим функциям???
     
  5. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    какие надо, такие и будут передаваться
    впринципе я и так могу прицепить к проге еще один поток (thread) с кодом
    @@: 0x200 dup 0x90 / jmp @r
    и в ольке вставлять туда код вызова нужной функции, только это долго и неудобно, хочу софтину или хотябы удобный плагин к ольке
     
  6. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    GoldFinch
    Но для этого по меньшей мере нужно знать количество аргументов и их тип, т.е. нужно передавать "правильные" с точки зрения функции аргументы, что предполагает предварительное достаточно полное изучение программы.
     
  7. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Я написал что ищу программу чтобы вызывать функции, а не узнавать какие у них параметры. У меня есть большая программа написанная не мной, в ней есть много функций, их можно отреверсить, а можно еще и запустить и посмотреть как они работают вживую. Пока что я писал патч к программе который цеплялся к какому-то событию (типа нажатия кнопки) и выполнял нужный мне код, но при любом изменении его надо переделывать и перезапускать программу а она запускается с минуту. Можно переделывать патч в ольке, но это никак не документируется и при вылете не сохраняется.
    Вобщем все еще ищу сабжевую софтину.

    ЗЫ: в моем случае узнать число аргументов, их типы (и назначение) помогает деманглинг их имен в экспорте. Для неэкспортируемых - реверсирование.
     
  8. Grom_PE

    Grom_PE New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    8
  9. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    помоему все кто хотел патчить юзая фасм уже написали свои макросы
    http://www.wasm.ru/forum/viewtopic.php?id=28723

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

    bsnake New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2005
    Сообщения:
    91
  11. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    GoldFinch
    Совершенно ничего не понял, но кроме ольки есть опенсорцовый опенватком дебуггер.

    Цепляться лучше к экспортируемым функам или к загадочным комбинациям вроде
    c3 или c2 ?? ??
    {
    ... (не менее 5ти одинаковых байт но и не более 15. или e8 ?? ?? ?? ?? тоже очень даже подходит)
    55 (точка входа)
    8b ec или 89 e5
    } (что в скобках - правим)
    ... (сюда вернемся сделав что надо + push ebp; mov ebp,esp)


    имхо, имхо, имхо. кто не понял с трех раз - имхо в четвертый
     
  12. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    там можно к E9 xx xx xx xx (в начале функции) или кое-где к С3 СС СС ... (align 16), а кое-где и указатель в таблице методов подменять, только как это к теме относится?
     
  13. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    GoldFinch
    пишу ж не понимаю задачи.
    Вы хотите тулзу передающую управление на некий адрес в некой другой проге с неким стеком и начальными регистрами и никакой дебугер вам не подходит. Почему? Каких результатов вы видеть хотите? Просто запустить и все?

    Чуть подробнее сами требования рапишите