Напишите за меня )

Тема в разделе "WASM.BEGINNERS", создана пользователем spa, 3 май 2008.

  1. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Задача такая, есть два приложения юзермодных одно читает из памяти другого процесса, так вот мне надо узнать по каким адрессам оно читае, для этого я решил пропатчить kernel32.dll но не факт что оно там еще какнибуть хитро не мутет, темпаче что у нее еще и свой драйвет... так вот если у меня не получиться решить патчем кернела придеться писать дров а тут я лопух, я даже оценить сложность задачи не могу, так вот прозьба сказать в каком направлении рыть, и если задача не сложная можно за меня ее и решить написав драйвер. Просто пока я буду совсем разбираться время уйдет...



    ЗЫ простите писал второпях приду подправлю
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    SPA
    Для чтения и даже записи из памяти другого процесса не нужно никаких драйверов - есть стандартные и известные функции. Поэтому патчить kernel32 - что ты хочешь добиться, я не понимаю. Если приложение защищено, то ты добьешься синего экрана или систему угробишь совсем.
    Т.е. в любом случае : отладчик в руки и смотреть. Если защиты нет или простая - бряки на функции работы с памятью и Олли тебе покажет откуда и сколько читают и пишут. Если защита сложная, вот тогда уж помощи проси. У тебя еще нет задачи, т.ч. помощи ты рано просишь.
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    SPA
    Почему бы в отладчике не посмотреть?
     
  4. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    valterg
    А я то думал... ни оли ни сайс за километр не пускают, и какой смысл изучать эту прогу если нужны только адресса по которым она читает. Я думаю если юзаються юзер мод для чтения, почему бы не запатчить ReadProcessMemory так чтобы она кроме полезной нагрузки вела еще лог ее использования. И ваще ну изучу я эту прогу досканально потратив не меньше недели и что выйдет новая версия и усе..

    Обьясни. Это я вас не совсем понял.

    Еще приложение прячет свой процесс, ради прикола поюзал мсремовский поисковик скрытах так там на половине юзерных опций бсод короче с одладкой больше мароки будет.


    ЗЫ sorry )))) ваще жестяк
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Что за приложения ?
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    SPA
    Чтобы правильно запатчить, надо сначала в отладчике это хоть раз увидеть, либо прочитать и понять массу статей. Нахера патчить - есть API шпионы - они все сами запатчат и покажут.
    У тебя типичный новичковый синдром. Сначала втихую делают что-то и приходят к выводу, обычно неправильному. Потом сами не могут свое решение выполнить и спрашивают совета. Потом новичок и другие долго-долго пудрят друг другу мозги и выясняется, что дело вовсе и не в чтении памяти.
    Скажи что делал, почему решил что дело в ReadProcessMemory, и почему ты уверен, что можно за один день научится патчить kernel32.dll
     
  7. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    SPA
    В общем, если отмести лишний флуд и если тебе действительно надо узнать только адрес по которому одна программа пишет в другую, то надо и вправду взять API-hooker, поставить хук на NtWriteVirtualMemory и после анализировать логи. kerberos на сайте подойдет.
     
  8. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    valterg
    Я думаю без проблем запатчу часа за 2-3 максимум...
    И еще что я делал, да ничего пока собственно, но вопрос в другом как еще можно прочитать память другого процесса, при этом из юзер мода, да еще и не вмешиваясь а дресное пространство процесса с которого читаем, вроде как не извращенских способов больше не знаю. Если есть скажите буду благодарен за любую помощь.

    Osen
    Вы почитай "флуд" и поймете что уж что что а апи шпионы не пойдут, т.к. даже процесса они не увидят! и антиотладка там хорошая...


    Все короче пошел сам копать...


    PS еслм был резок или еще чего сори просто злой сейчас )
     
  9. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    SPA
    Ты что-то не то говоришь, память прочитать можно одним способом - функцией NtReadVirtualMemory(то что ее используют другие все и так знают), и зачем kernel32.dll патчить это уж совсем не то. Насчет "флуда", это я сказал про ответы в теме. Можно конечно через драйвер ручками реализовать NtReadVirtualMemory через запросы DeviceIoControl, но не думаю что это кто-то будет делать ибо это через жопу и никакой антиотладки не несет. А если шпионы процесса не могут увидеть, то надо именно с этим бороться(находить процесс) или реверсить чтение, если оно делается через жопу. Такое впечатление, что ты не знаешь и что такое антиотладка, и что такое вообще чтение из памяти. Вообще в таком случае надо не пальцы гнуть, а вежливо спрашивать ответы на интересующие вопросы.
     
  10. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Osen
    Ты очень внимательно читал что я написал? Очень, очень? Я написал что хочу перехватить NtReadVirtualMemory в ntdll(изначально я хотел патчить ReadProcessMemory в кернеле, но потом подумол почемубы сразу не ntdll) и ваще запатчив ntdll я и получу тот самы апи шпион который вы так призываете меня использовать, но мне не придеться реверсить ДРАЙВЕРА чтобы антишпионы его увидели, мне не придеться изучать прогу написанную на с# на котором я даже хело ворлд не написал мне ваще придеться лишь запатчить ntdll.

    Osen
    SPA
    Чтото я не писал...



    Кроме осена мне может ктонибуть сказать чем плох патч ntdll?
     
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    При желании можно сделать так, что ты никак не отследишь по каким адресам идет патч.
    Из юзера если следить то из юзера же можно и дергать напрямую int 2e/sysenter, минуя kenrel32/ntdll.
    из ядра можно делать KeStackAttachProcess + memcpy, это ты уже не похукаешь ничем.
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Почему не похукаешь ?
    Легко.
     
  13. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    это будет не легко ;)
     
  14. spa

    spa Active Member

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

    вот я и просил написать за меня дров чтобы если и дергала то я всеравно бы знал.


    Great
    кстате не патч а рид памяти, но понятно что это еще сложнее отследить.
     
  15. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Так а что тут сложного, простой перехват KeStackAttachProcess.
    Про аппаратные точки останова и др. и слова не было.
     
  16. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    SPA
    Ок. Кстати про int2E/sysenter забыл - очень даже реально может быть использовано. Я просто не разглядел у тебя идею о NTDLL, но старался читать внимательно, так что прошу прощения, если что не то сказал. По теме, патч NTDLL.DLL может подойти, если есть уверенность в том, что прога действительно его юзает. Конечно, патч ее надо сделать предельно правильно, а иначе могут быть большие проблемы. Ну и конечно надо фильтровать полученные логи, т.к. будет куча не нужного мусора (можно по имени процесса делать это сразу). Есть еще вариант - все таки попытаться запустить программу самому, а учитывая техники скрытия процессов фильтровать некоторые подозрительные действия (например, взаимодействие с драйвером, запись в ненужные ему процессы etc.) и программа это сделать позволит, т.к. она будет делать скрытие после запуска. И вообще мало понимаю в чем сложность аттача, если программа скрывает процесс, то можно тем же монитором отследить какое действие приводит к скрытию процесса (есть тот же System Safety Monitor) и убрать его. Т.е. я все о том, что патч NTDLL.DLL будет сложен в реализации и отладке, и я бы на твоем месте пошел бы другим путем. В случае совершенной невозможности использования мониторов патч NTDLL.DLL единственный способ, но явно более трудоемкий.
     
  17. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    SPA
    Уже 12 часов прошло, а воз и ныне там :) Теперь объясню всем, в чем реально проблема.
    Имеется приложение неизвестно(возможно C#) на чем написанное и есть "подозрение", что
    хорошо защищенное :
    1) его не видно в списке процессов, хотя если это java , то javaw - это не процесc...
    2) примена антиотладка - опять не факт, т.к. товарищ ничего не хочет учить
    Опять же есть подозрение, что второй скрытый процесс читает память первого и если подсунем другую информацию, то "будет нам счастье"...
    Тов. SPA настолько уверен в себе(это последствия неучизма), что не хочет использовать(учить) отладчики и шпионы, а сам сейчас за 3 часа напишет патч ntdll.dll, который не испортит систему,
    не будет обойден защитой и будет правильно работать. Думаю, теперь он опять скажет, что все ерунда и он будет использовать INT 2E :)
     
  18. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Clerk
    ну можно использовать KeStackAttachProcess как сигнал для установки HW бряков на акцес к памяти конечно.. только уж больно это геморно.
    :)
     
  19. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    valterg
    Спасибо что открыл глаза, но я написал про 3 часо когда ложился спать... короче все понятноя уже не от кого ничего не прошу! че надо товарищь valterg?

    Кстате проблеммы как токавой нет ты прочитал название топика, там не было помогите плиз и т.п. мне сейчас некогда, поэтому я написал "напишите за меня" т.е. действительно сам я писать ничего пока не буду, да и про то что я не люблю учиться это ты правильно подметил )


    Умник! почитай внимательно... с помошью мсиремовского процесхантера его без проблемм видно..

    мдя... подскажи шпион который "пробьет" эту прогу.. и кто тебе сказал что я не пробывал? + ко всему прога шифрованна и для работы требует подключения к серву мне все это раскапывать для того чтобы узнать пару дрессов, рациональный подход.

    PS
    Мне стало интересно я правда давно ничего не писал не делал, завтра-послезавтра попробую запатчить на время :lol:
     
  20. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    SPA
    Я сразу и написал : задача не поставлена. Т.к. ты просил помощи, а вместо этого пошли полунамеки на непростые вещи, то решил все поставить на свои места. Не надо соревноваться : писать патч рано, т.к. не ясна защита. Что патчить и как зависит именно от этого, а значит без отладчика никуда.
    Либо зверя в студию и народ проанализирует, чем его "лечат". А иначе пустая болтовня это все.
    Отладчик Олли ты бы уже освоил за это время :)
    Я ведь правильно понял, что сначал тебе лог нужен доступа в память, чтобы понять что "подменить".
    Патч возможно и просто сделать, а вот логгер - чуть труднее.