Точное дерево файлов для виртуальной системы Windows(и Linux)? | Взлом Симуляторов
Я создаю хакерский симулятор в Python, где пользователь должен взломать ПК (совершенно неожиданно, верно?)
Мне нужно минимальное файловое дерево для моего виртуального ПК с Windows(и также с Linux).(Дерево будет представлять только ОС в игре). Я пытался понять это сам, но я просто не знаю, какие папки важны или даже стандарт.
Мне не нужно ничего сложного, просто несколько папок с кратким описанием того, что должно быть в них (кроме очевидных, таких как Documents/Downloads/Pictures), но я хочу, чтобы дерево файлов выглядело корректно.
Бонусные баллы за идеи файла, чтобы пойти в них.
Редактировать: Мне просто нужно знать, что было бы хорошим минимальным файловым деревом, которое хорошо представляло бы систему Windows или Linux для моей игры. Например, какие папки из указанной ОС являются значимыми.
PS: мне сказали в GameDev спросить здесь.
1 ответ
Linux
В общем, я предлагаю взглянуть на структуру каталогов Linux, объясненную в статье HowToGeek, в которой представлены понятные описания базовой структуры папок для Linux.
Примечание: могут быть расхождения от дистрибутива к дистрибутиву.
Я также предлагаю запустить jslinux с минимальной реализацией Linux, работающей на JavaScript, прямо в браузере.
Вы также можете получить live CD из дистрибутива Linux и использовать его для справки. Поскольку ваша игра ориентирована на взлом, вы можете рассмотреть дистрибутивы, посвященные тестированию на проникновение или компьютерной экспертизе.
Это корневые папки из jslinux: /bin
, /dev
, /etc
, /home
, /lib
, /lost+found
, /mnt
, /opt
, /proc
, /root
, /sbin
, /sys
, /usr
, /var
,
Набор иконок для Linux будет bin
, etc
, usr
, home
, var
, а также dev
,
Я не буду вдаваться в детали каждой папки, но я хочу поговорить о некоторых из них. Первый /dev
где вы найдете файлы устройств. Это файлы, которые представляют устройства хранения (например, /dev/hda
это устройство IDE, dev/hda1
будет первым разделом первого устройства IDE и т. д.). Ожидается найти несколько псевдо-устройств:
/dev/null
: что при записи в него, принимает что-либо и отбрасывать это. При чтении это всегда в конце файла./dev/zero
также отбрасывает все При чтении он создает бесконечный поток NUL (символ 0).dev/full
: также создает бесконечный поток NUL, но если вы попытаетесь записать его, вы получите ошибку "диск заполнен".dev/random
а также/dev/urandom
Когда вы читаете из них, они создают бесконечный поток псевдослучайных значений. Можно написать вdev/random
, это добавит энтропию к псевдослучайному генератору. Там могут быть уязвимости, которые могут быть использованы в результате наводненияdev/random
таким образом, что это влияет на программное обеспечение, которое использует его для криптографии. См. Анализ генератора случайных чисел в Linux
Я также хочу упомянуть /bin
, где вы найдете основные исполняемые файлы операционной системы. Вы также можете найти /sbin
какие инструменты, которые требуют повышенных привилегий для запуска. И тогда есть /usr/bin
в котором есть программы, установленные пользователем или несущественные пакеты, добавленные операционной системой.
Говоря о пользовательских данных, вы найдете эквивалент пользовательских папок в \home
, В частности, я хочу упомянуть, что "корзина" является ответственностью среды рабочего стола (и, как вы, возможно, знаете, их много для Linux), но обычно она находится где-то в папке пользователя.
Другая соответствующая папка /var
, среди которых, помимо прочего, будут журналы активности, которые вы, возможно, захотите отредактировать игроком, чтобы удалить следы хакерских действий (примечание: если злоумышленник просто удалит журналы, будет возможность восстановить их с помощью инструментов судебной экспертизы).
И тогда знаменитый /etc
которые будут иметь конфигурационные файлы, в том числе /etc/passwd
с хэшами паролей пользователей... которые игра может захотеть взломать с помощью некоторого программного обеспечения для этой задачи. Вы также найдете /etc/hosts
который имеет локальное сопоставление имен хостов с IP-адресами.
Примечание. Если вы хотите реалистично симулировать файловую систему, не забудьте разрешения.
Windows
Эти изменения от версии к версии, хотя любая современная версия (после Vista) Windows будет иметь Известные папки. Примерно так (на базе Windows 10):
C:\
Windows\
Fonts\
Resources\
System32\
ProgramFiles\
CommonFiles\
Windows Sidebar\Gadgets\
ProgramData\
Microsoft\Windows\
Ringtones\
GameExplorer\
DeviceMetadataStore\
Templates\
Start Menu\
Programs\
Administrative Tools\
StartUp\
OEM Links\
Users\
Public\
Desktop\
Documents\
Downloads\
Music\
SampleMusic\
SamplePlaylists\
Pictures\
SamplePictures\
AccountPictures\
Videos\
SampleVideos\
TheUser\
Desktop\
Documents\
Downloads\
Favorites\
Music\
Playlists\
Pictures\
Videos\
OneDrive\
Documents\
Pictures\
CameraRoll
AppData\
LocalLow\
Local\
Programs\
Common\
Microsoft\
Windows Sidebar\Gadgets\
Windows\
Burn\Burn\
Ringtones\
GameExplorer\
History\
RoamingTiles\
Roaming\Microsoft\
Internet Explorer\Quick Launch\
User Pinned\
ImplicitAppShortcuts\
Windows\
Templates\
SendTo\
Recent\
Network Shortcuts\
Printer Shortcuts\
Libraries\
Documents.library-ms
Music.library-ms
Pictures.library-ms
Videos.library-ms
AccountPictures\
Start Menu\
Programs\
Administrative Tools\
StartUp\
Application Shortcuts\
Примечание. Конечно, "TheUser" - это имя пользователя.
Вы можете видеть, что есть много вещей, поэтому я не даю описание каждого из них, но вы можете найти их по ссылке, которую я предоставил выше.
Итак, у вас есть "Program Files", "ProgramData" (обычно скрытые), "Windows" и "Users". Кроме того, вы можете найти папку "Recovery" и не забыть корзину.
На самом деле, то, что я перечислил выше, это не все установки Windows, вы можете получить виртуальную машину Windows от Microsoft, которая является пробной копией, действительной в течение 90 дней, и использовать ее, чтобы увидеть, какие файлы и папки там находятся.
Я не могу сказать, что имеет отношение к вашей хакерской игре (при условии, что вы не будете копировать определенные исполняемые файлы, не говоря уже о графическом интерфейсе). По крайней мере, вы можете быть в курсе C:\Windows\System32\config\SAM
который будет иметь хэши паролей, и, возможно, C:\Windows\System32\drivers\etc\hosts
что имеет эквивалент etc/hosts
из Linux.