Сейчас на форуме: Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+3 невидимых) |
![]() |
eXeL@B —› Программирование —› Обход ограничений Fat32/ntfs |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 13 мая 2008 18:59 · Поправил: Unami · Личное сообщение · #1 В Windows можно создать директорию с запрещенным именем. Для этого нужно в консоли ввести: "mkdir ..invalid..\" С созданой папкой, с мнимым именем "..invalid.", нельзя производить какие либо операции (удаление, переименование итп). Удалить можно тоже через консоль. "rmdir ..invalid..\" Задача: написать программу (на С) обходящую ограничения файловой системы т.е. позволяющая работать (создавать, переименовывать, удалять) с файлом или папкой с неправильным именем. Поискав материал по теме, я нашел статью http://www.xakep.ru/magazine/xa/062/080/1.asp , в которой был приведен код, якобы позволяющий переименовать файл в соответствии с заданием. #include <windows.h>
Код оказался не рабочим, а привести его в рабоспособное состояние я не смог. Чуть позже, я обнаружил ошибку в Миранде. Дело в том, что если в настроках указать в качестве места куда сохраняются принятые файлы "patch\Downloads\%nick%\", а у человека будет в начале и в конце ника будет стоять по две точки то полученый файл, сохранится в директорию с неправильным именем. В моем случае ник был "..::[Pandorinnn]::..". Вместо скобок и двоеточий, миранда поставила "%", соответственно мнимое имя папки получилось "..%%%Pandorinnn%%%.". Исходники миранды (моей версии, есть ли в других такая ошибка - не знаю) можно забрать отсюда. http://internap.dl.sourceforge.net/sourceforge/miranda/miranda-im-v0.7.3-src.zip Модуль приема файла, называется "srfile" и находится в "miranda\src\modules\srfile". Сам не смог найти нужный код. Помогите написать софтину, уже отчаялся! ![]() |
|
Создано: 13 мая 2008 19:46 · Личное сообщение · #2 |
|
Создано: 13 мая 2008 20:43 · Поправил: Vitek · Личное сообщение · #3 |
|
Создано: 13 мая 2008 21:16 · Поправил: Unami · Личное сообщение · #4 |
|
Создано: 13 мая 2008 21:33 · Поправил: Vitek · Личное сообщение · #5 Держи кароче ![]() [offtop] как его млин теперь удалить ?! ![]() [/offtop] ![]() |
|
Создано: 13 мая 2008 23:30 · Поправил: MACKLIA · Личное сообщение · #6 Vitek пишет: Держи кароче f2e7_13.05.2008_CRACKLAB.rU.tgz - ice.cpp char *old = "C:\somefile.txt"; char *_new = "C:\twodots.."; //переменные для нового и старого имени файла char *newname = (char*)GlobalAlloc(GMEM_FIXED | GMEM_ZEROINIT,512); wsprintf(newname,"%s.",_new); //добавляем символы «.\» в новое имя файла MoveFile(old, newname); //переименовываем файл Vitek а обратное переименование как осуществишь ? Кстати прога UnlockerAssistant может удалять и переименовывать и создавать такие хитрые файлы ![]() ----- Что один человек сделал , другой всегда сломать может... ![]() |
|
Создано: 14 мая 2008 15:03 · Личное сообщение · #7 |
|
Создано: 14 мая 2008 15:10 · Личное сообщение · #8 |
|
Создано: 14 мая 2008 15:53 · Личное сообщение · #9 |
|
Создано: 14 мая 2008 16:08 · Личное сообщение · #10 |
|
Создано: 14 мая 2008 16:23 · Поправил: MACKLIA · Личное сообщение · #11 |
|
Создано: 14 мая 2008 16:40 · Личное сообщение · #12 Кстати, (это немного оффтоп но все-же одним боком связано с темой данного топика), как мы знаем эксплорер не может (точнее не позволяет) создавать файлы которые начинаются точкой (например тот же .htaccess), но такие файлы можно создать другим способом, например FAR-ом (Shift-F4). Играя с этим, заметил что MS Word 2003 не правильно обрабатывет файл ".doc" (тойсть названия нет, только расширение) и появляется такое сообщение: There is insufficient memory. Save the document now. (D:\.doc) This error appears if there is a problem saving the file. Usually, the disk is full, RAM memory is low, or there is a permission problem with the drive the file is being saved to. If the amount of disk space for a paging file is low, save the file to another drive. If the RAM memory is low, increase available RAM. If permissions to the drive do not allow you to save to that drive, save the file to another drive or request permissions from the administrator to save files to the drive. Note: This error can occur if the computer is running a version of antivirus software that is not compatible with Office or needs to be updated. This error can also occur if you are saving to a full floppy disk or the floppy disk is too small for the file. More information about this error message online. Правда я не ковырял, можно ли заэксплоитировать это или нет. ![]() |
|
Создано: 14 мая 2008 16:51 · Личное сообщение · #13 |
|
Создано: 14 мая 2008 17:35 · Личное сообщение · #14 di-2 пишет: кстати если заархивировать файл например notepad.exe то открыв его в winrar и нажаф F2 можно переименовать его в пустоту (ALT+num0+num1+num6+num0) Прикольно, но это не пустое имя, а файл с единственным символов с кодом 0160. В общем, как говорили, что можно winrar'ом разные имена давать) ![]() |
|
Создано: 14 мая 2008 18:12 · Личное сообщение · #15 |
|
Создано: 14 мая 2008 19:17 · Личное сообщение · #16 |
|
Создано: 15 мая 2008 00:53 · Поправил: MACKLIA · Личное сообщение · #17 Vitek пишет: Удаляется без проблем через альтернативное имя. типа del c:\TWODOT~1 челых 20 минут потратил на удаление, блин =/ Используя такое имя можно и переименовать Чтото не получается обратно переименовать ![]() procedure TForm1.Button1Click(Sender: TObject); begin MoveFile('C:\PROBA.txt','C:\.PROVERKA..'); end; procedure TForm1.Button2Click(Sender: TObject); begin MoveFile('C:\.PROVERKA..\~1','C:\PROBA.txt'); end; ----- Что один человек сделал , другой всегда сломать может... ![]() |
|
Создано: 15 мая 2008 13:02 · Поправил: tundra37 · Личное сообщение · #18 |
|
Создано: 15 мая 2008 14:55 · Поправил: MACKLIA · Личное сообщение · #19 tundra37 пишет: MACKLIA и остальные : Для запрещенных имен существуют "спец-имена" : \?\C:\con tundra37 запрещенные имена т.е. AUX, CON, NUL, PRN, COM1-COM9 и LPT1-LPT9. Меня интересует как переименовать например такой файл - C:\.2.. например делаем сначала так MoveFile('C:\1.txt','\?\C:\.2..\ '); ..а сейчас нужно вернуть как было MoveFile('\?\C:\.2..\ ','C:\1.txt'); - нифига не получается ![]() Всё разобрался ![]() MoveFile('C:\1.txt','\?\C:\.2..'); обратно MoveFile('\?\C:\.2..','C:\1.txt'); ----- Что один человек сделал , другой всегда сломать может... ![]() |
|
Создано: 15 мая 2008 15:49 · Личное сообщение · #20 alexey_k пишет: как я читал, con (ботаник) - прозвище дяди билла в молодости Млин, один балбес написал а ты повторяеш ![]() CON - это CONsole, ещё со времён DOS'а имя устройства вывода. А поскольку каждое устройство есть файл, то и создавать тебе файлы с таким именем не дают - система думает что он уже существует (имя занято). ![]() |
|
Создано: 15 мая 2008 21:51 · Поправил: Unami · Личное сообщение · #21 В общем накатал я софтинку. Сырая конечно еще, но переименовывает и туда и обратно и файлы и папки. С последним есть небольшие проблемы (см проверку ключа "-d"). Но думаю скоро разберусь. Всем большое спасибо. ![]() Прошу прощения за кривой код. ![]() |
|
Создано: 15 мая 2008 23:30 · Личное сообщение · #22 |
|
Создано: 16 мая 2008 09:20 · Личное сообщение · #23 Откапал в журнале Хакер за 4-2008 год Создает в бесконечно цикле файлы нулевого размера ![]() ----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 ![]() |
|
Создано: 16 мая 2008 19:43 · Личное сообщение · #24 |
|
Создано: 16 мая 2008 19:47 · Личное сообщение · #25 |
|
Создано: 17 мая 2008 10:55 · Личное сообщение · #26 |
|
Создано: 17 мая 2008 12:26 · Личное сообщение · #27 |
|
Создано: 18 мая 2008 20:22 · Личное сообщение · #28 Кстати ,если создать файл с запрещенным именем - т.е. AUX, CON, NUL, PRN, COM1-COM9 и LPT1-LPT9 ,то откат системы не поможет от него избавиться ,наверное скоро некоторые триальшики будут это дело использовать - после окончания триала прога просто создаст такой файл в недрах system 32 и даже в реестре срать не придётся ![]() tundra37 пишет: Для запрещенных имен существуют "спец-имена" : \?\C:\con Создает и удаляет только так. можно программно читать и редактировать этот вайл ,т.е. хранить в нём количество запусков и прочую триальную хрень . ----- Что один человек сделал , другой всегда сломать может... ![]() |
|
Создано: 18 мая 2008 20:52 · Поправил: [HEX] · Личное сообщение · #29 |
|
Создано: 18 мая 2008 22:58 · Поправил: MACKLIA · Личное сообщение · #30 [HEX] пишет: MACKLIA Нафига откаты? Поправить файловую систему можно и ручками если конечно они не из одного места растут. Как уже говорили можно спокойно из WinHex поправить. [HEX] ты за меня не переживай ,я эти файлы и так удалю ,мне просто интересно - было поможет ли откат или нет (надо-было над знакомым приколоться ,а он после многих приколов откатом пользуется). А зачем править файловую систему ,если эти файлы можно уничтожить более простыми средствами ? -выпендрёж наверное ![]() А если ты такой спец в вопросах правки файловой системы ручками при помощи WinHex - то помоги советом KingSise -> http://exelab.ru/f/action=vthread&topic=11865&forum=3&page =-1 P.S. Триал расчитан на рядовых юзеров ,большинство из которых даже таких слов как файловая система и WinHex не знаю. ----- Что один человек сделал , другой всегда сломать может... ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Программирование —› Обход ограничений Fat32/ntfs |