Привет, можно ли узнать, какие файлы создает программа? То есть есть прога, которая кидает куда-то свои временные файлы и удаляет при закрытии себя, и нужно узнать, куда она их сейвает?
Открой свою программу в отладчике OllyDbg, нажми Ctrl+G, в появившемся окне напиши CreateFileA, нажмо ок, затем F2, потом запусти программу в оталдчике (F9) и в нижнем правом окне отладчика будут показаваться файлы создаваемые и открываемые программой. Если этот способ для тебя слишком сложный, то воспользуйся программой FileMon от sysinternals - А когда узнаешь, куда программа скидывает свои файлы, можешь ее просто запустить и убить процесс через диспетчер задач, чтобы она не удалила их.
А могно ещё одним способом,скачай программу Sandboxie и запусти то что те нужно через неё.В папочьке Sandbox,что она создаёт по умолчанию на диске С,ты найдёш куда и какие файлы создаются.Тебе эта программа в любом случае может очень пригодиться.
Спасибо, теперь такая штука, прога сейвает файлы в временную директории винды, но сразу же их удаляет, можно или запретить ей их удалять, или восстановить удаленные?
А что за программа то?Можно пропатчить саму программу например!Не давать выполняться апи функции ответственной за удаление и вообще что б программа создавала эти файлы в одной директории с собой!
Используй эту программу. Она не дает файлам удаляться. Запусти ее, нажми кнопку AntiDelete, затем запусти и выйди из своей программы и потом уже закрой AntiDelete. Теперь можешь посмотреть в папку, откуда должны были удалиться файлы. Они лежат на месте. http://multi-up.com/70372
Хмммм Code: HANDLE hFile = CreateFile("Hello", GENERIC_READ|GENERIC_WRITE, 0, 0, 2, FILE_FLAG_DELETE_ON_CLOSE, 0); CloseHandle(hFile); И наебнеццо тут ваш бряк на DeleteFile
Естественно, можно так же рассказать о стирании файла через драйер и другие извращения, но лично мне еще не попадался обычный шароварный софт с такими соображениями безопасности.
Нормальный способ и не извращенный нисколько. Не нужно лишнего кода писать, все красиво и просто. Но DeleteFile не юзоется.
Кстати твой глобальный хук на DeleteFileA не срабатывает...должно быть вполне достаточьно вбить RET на начало функции и усё.
Что-то мне подсказывает, что должно прокатить... Если уж на то пошло, то также надо следить за тем, чтобы содержимое файла не очищалось в конце, а если сделано совсем чуточку по-хитрее так, что либо а)куски файла постепенно затирается из основной программы б)файл открывается расшаренным, а потом с ним играется другой процесс в, г, д...)... то вообще слежка нужна уже скорее всего ручная с отловом врайтфайлов, ибо отследить все варианты (подчёркиваю - отнюдь не извращённые!) программно будет трудно. Но в случае FILE_FLAG_DELETE_ON_CLOSE, так и быть, можно брякнуться на CloseHandle
Я имею в виду случай тс.. статистика ) Если способ сработает в 80+ процентах случаев, почему бы не попробовать сначала его и не распространяться просто так об абстрактных возможностях? матожидание длины написанного текста для решения конкретной задачи всё-таки по-меньше, чем описание всех вариантов )
Мы друг друга не поняли тогда. Ты про случай тс, а я думала ты про мой способ=\ ЗЫ от теорвера тошнит уже, не вставляй эти противные сознанию слова в посты ))) ЗЫЫ Ну отпишите хоть получилось или нет. А тот так и дальше гипотезы будут строить.
спасибо всем за участие, только ща проснулся и посмотрел форум, прога Artisteer, вот тут качается http://www.artisteer.com/?p=downloads, в триальной версии весь функционал, но на картинках пишет "триал" при сохранении, в 1вой версии добрые люди подсказали, что можно из с/tеmp утянуть нормальные картинки, а вот во второй разрабы поумнели и стали удалять их по быстрому оттуда
Попробуй использовать тот инструмент, который я дал . Может помочь(у себя проверял - работает). - Посмотрел программу, написана на .net так что нужно копаться под рефлектором, а это очень долго и не ко мне =)
Спасибо, прога пашет норм, в общем при использовании выдает такую ошибку Я так понял, не получается заюзать ф-ю Delete, а можно как-то сделать, чтобы оно думало, что все хорошо?)
и еще идея, триальная прога тупо пишет поверх всех картинок слово Trial, можно как-то у нее в коде найти это слово и заменить на ""? сорри за ламерские вопросы, в реверсе вообще не рублю, а прога нужная
Сейчас попробую что-нибудь придумать - Как заставить прогу писать слово Trial(на чем?=) Как заставить ее выкинуть окошко с ошибкой? У меня нормально отрабатывает.