Сейчас на форуме: asfa (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Проблема с исследованием программы |
Посл.ответ | Сообщение |
|
Создано: 05 июня 2010 18:20 · Личное сообщение · #1 Привет, Пытаюсь понять механизм защиты одной программулины японской. Программа создает некий файл. Если его скопировать и удалить старый и затем вместо удаленного вставить сохраненный программа видит это дело и переустанавливается. Пробовал сохранять все даты Создан, Открыт, Изменен ничего не получается. Смотрел не ставит ли программа дров, тоже оказалось, что нет. Файл скопированный абсолютно идентичный удаленному. Можете подсказать в чем может быть дело? Прога небольшая рисовалка японская. Взлом интереса ради. Если надо могу выложить на slil.ru залил сюда: slil.ru/29276386 ![]() |
|
Создано: 05 июня 2010 18:28 · Личное сообщение · #2 |
|
Создано: 05 июня 2010 18:31 · Личное сообщение · #3 |
|
Создано: 05 июня 2010 18:32 · Личное сообщение · #4 |
|
Создано: 05 июня 2010 18:34 · Личное сообщение · #5 |
|
Создано: 05 июня 2010 18:58 · Поправил: neomant · Личное сообщение · #6 Саму прогу не смотрел, но могу высказать такую мысль. Если исходный файл находится на NTFS а копирование бэкапа происходит на FAT, то теряются файловые потоки, если, конечно, они были. Попробуй найти инструмент для просмотра файловых потоков и посмотри их в исходном файле и бэкапе. ----- Следуй за белым кроликом ![]() |
|
Создано: 05 июня 2010 19:36 · Личное сообщение · #7 |
|
Создано: 05 июня 2010 20:09 · Личное сообщение · #8 |
|
Создано: 05 июня 2010 20:46 · Личное сообщение · #9 Нашел очень интересную пару, в апи шпионе sai.exe 0045EE09 0AC8 CreateFileA(014E29E8: "C:\Documents and Settings\All Users\Application Data\SYSTEMAX Software Development\SAI\NotRemoveMe.s...", C0000000, 00000000, 00000000, 00000003, 00000080, 00000000) returns: 00000370 sai.exe 0045EE3D 0AC8 GetFileInformationByHandle(00000370, 0012EC6C) returns: 00000001 GetFileInformationByHandle возвращает интересную структуру: в ней интересно следующие поля: FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; Возможно собака порылась в этих трех структурах. typedef struct _BY_HANDLE_FILE_INFORMATION { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD dwVolumeSerialNumber; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD nNumberOfLinks; DWORD nFileIndexHigh; DWORD nFileIndexLow; } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION; возможно все дело в долях секунды, которые файловые менеджеры не отражают. ![]() |
|
Создано: 05 июня 2010 22:24 · Личное сообщение · #10 |
|
Создано: 06 июня 2010 09:54 · Личное сообщение · #11 |
|
Создано: 06 июня 2010 15:31 · Личное сообщение · #12 |
|
Создано: 13 июня 2010 19:22 · Личное сообщение · #13 |
|
Создано: 13 июня 2010 19:31 · Личное сообщение · #14 http://exelab.ru/art/?action=add ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 13 июня 2010 19:54 · Личное сообщение · #15 |
|
Создано: 13 июня 2010 20:10 · Личное сообщение · #16 |
|
Создано: 13 июня 2010 20:35 · Личное сообщение · #17 |
|
Создано: 05 июля 2010 04:42 · Личное сообщение · #18 В общем, такая теперь проблема, как прога защищает себя стало, через ряд экспериментов ясно: 1)читает из файла данные, затем изменяет их и записывает в этот файл снова. 2)Снова читает из этого файла, записанные данные 3)Сравнивает с прочитанным и измененным ранее в 1) и если все нормально, но не лишает программу функционала. Вопрос, какая тактика будет самой оптимальной по времени, для взлома этой программы? ![]() |
|
Создано: 05 июля 2010 04:54 · Личное сообщение · #19 |
|
Создано: 05 июля 2010 05:16 · Личное сообщение · #20 |
|
Создано: 05 июля 2010 10:54 · Личное сообщение · #21 |
![]() |
eXeL@B —› Вопросы новичков —› Проблема с исследованием программы |