Реверсинг. Задай вопрос - получи ответ

Discussion in 'Реверсинг' started by 0x0c0de, 2 Sep 2007.

  1. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Привет, можно ли узнать, какие файлы создает программа? То есть есть прога, которая кидает куда-то свои временные файлы и удаляет при закрытии себя, и нужно узнать, куда она их сейвает?
     
  2. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Открой свою программу в отладчике OllyDbg, нажми Ctrl+G, в появившемся окне напиши CreateFileA, нажмо ок, затем F2, потом запусти программу в оталдчике (F9) и в нижнем правом окне отладчика будут показаваться файлы создаваемые и открываемые программой.
    Если этот способ для тебя слишком сложный, то воспользуйся программой FileMon от sysinternals
    -
    А когда узнаешь, куда программа скидывает свои файлы, можешь ее просто запустить и убить процесс через диспетчер задач, чтобы она не удалила их.
     
    #402 s0l_ir0n, 20 Mar 2009
    Last edited: 20 Mar 2009
  3. Lamia

    Lamia Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    186
    Likes Received:
    77
    Reputations:
    -9
    А могно ещё одним способом,скачай программу Sandboxie и запусти то что те нужно через неё.В папочьке Sandbox,что она создаёт по умолчанию на диске С,ты найдёш куда и какие файлы создаются.Тебе эта программа в любом случае может очень пригодиться.
     
  4. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Спасибо, теперь такая штука, прога сейвает файлы в временную директории винды, но сразу же их удаляет, можно или запретить ей их удалять, или восстановить удаленные?
     
  5. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    ну брякнись на DeleteFile
     
  6. Lamia

    Lamia Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    186
    Likes Received:
    77
    Reputations:
    -9
    А что за программа то?Можно пропатчить саму программу например!Не давать
    выполняться апи функции ответственной за удаление и вообще что б программа
    создавала эти файлы в одной директории с собой!
     
  7. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Используй эту программу. Она не дает файлам удаляться.
    Запусти ее, нажми кнопку AntiDelete, затем запусти и выйди из своей программы и потом уже закрой AntiDelete. Теперь можешь посмотреть в папку, откуда должны были удалиться файлы. Они лежат на месте.

    http://multi-up.com/70372
     
  8. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    Хмммм

    Code:
    HANDLE hFile = CreateFile("Hello",
    						  GENERIC_READ|GENERIC_WRITE,
    						  0,
    						  0,
    						  2,
    						  FILE_FLAG_DELETE_ON_CLOSE,
    						  0);
    
    CloseHandle(hFile);
    
    И наебнеццо тут ваш бряк на DeleteFile
     
    #408 0x0c0de, 20 Mar 2009
    Last edited: 20 Mar 2009
    1 person likes this.
  9. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Естественно, можно так же рассказать о стирании файла через драйер и другие извращения, но лично мне еще не попадался обычный шароварный софт с такими соображениями безопасности.
     
  10. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    Нормальный способ и не извращенный нисколько. Не нужно лишнего кода писать, все красиво и просто. Но DeleteFile не юзоется.
     
  11. Lamia

    Lamia Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    186
    Likes Received:
    77
    Reputations:
    -9
    Кстати твой глобальный хук на DeleteFileA не срабатывает...должно быть вполне достаточьно вбить RET на начало функции и усё.
     
  12. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Что-то мне подсказывает, что должно прокатить...

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

    Но в случае FILE_FLAG_DELETE_ON_CLOSE, так и быть, можно брякнуться на CloseHandle
     
  13. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    >>Что-то мне подсказывает, что должно прокатить...


    Неа. Попробуй.
     
  14. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Я имею в виду случай тс.. статистика ) Если способ сработает в 80+ процентах случаев, почему бы не попробовать сначала его и не распространяться просто так об абстрактных возможностях? матожидание длины написанного текста для решения конкретной задачи всё-таки по-меньше, чем описание всех вариантов )
     
  15. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    Мы друг друга не поняли тогда. Ты про случай тс, а я думала ты про мой способ=\
    ЗЫ от теорвера тошнит уже, не вставляй эти противные сознанию слова в посты )))

    ЗЫЫ Ну отпишите хоть получилось или нет. А тот так и дальше гипотезы будут строить.
     
    #415 0x0c0de, 20 Mar 2009
    Last edited: 20 Mar 2009
  16. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    спасибо всем за участие, только ща проснулся и посмотрел форум, прога Artisteer, вот тут качается http://www.artisteer.com/?p=downloads, в триальной версии весь функционал, но на картинках пишет "триал" при сохранении, в 1вой версии добрые люди подсказали, что можно из с/tеmp утянуть нормальные картинки, а вот во второй разрабы поумнели и стали удалять их по быстрому оттуда
     
  17. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Попробуй использовать тот инструмент, который я дал . Может помочь(у себя проверял - работает).
    -
    Посмотрел программу, написана на .net так что нужно копаться под рефлектором, а это очень долго и не ко мне =)
     
    #417 s0l_ir0n, 21 Mar 2009
    Last edited: 21 Mar 2009
  18. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Спасибо, прога пашет норм, в общем при использовании выдает такую ошибку
    [​IMG]
    Я так понял, не получается заюзать ф-ю Delete, а можно как-то сделать, чтобы оно думало, что все хорошо?)
     
  19. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    и еще идея, триальная прога тупо пишет поверх всех картинок слово Trial, можно как-то у нее в коде найти это слово и заменить на ""?

    сорри за ламерские вопросы, в реверсе вообще не рублю, а прога нужная
     
  20. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Сейчас попробую что-нибудь придумать ;)
    -
    Как заставить прогу писать слово Trial(на чем?=)
    Как заставить ее выкинуть окошко с ошибкой? У меня нормально отрабатывает. :p
     
    #420 s0l_ir0n, 21 Mar 2009
    Last edited: 21 Mar 2009