Перейти к содержимому
Bs0Dd

Standalone кодовый замок (SecuCODEX)

Рекомендуемые сообщения

Наверняка многие помнят программку CodeDoors, некогда входящую в состав MineOS. И пару месяцев назад я с удивлением обнаружил, что ее нет ни в репозитории ГитХаба, ни в самой ОС.

Ну и недолго думая, я решил написать свою версию, причем с одним небольшим НО. Кодовый замок должен работать без какой-либо ОС.

Вот так и появился этот графический кодовый замок.

 

intface.png     intfacemono.png

 

Репозиторий на GitHub

 

Естественно, выйти из программы не получится, поскольку выходить просто некуда, и в этом большой плюс.

 

Установка довольно проста:

Скрытый текст

Версия для HDD:

Скрытый текст

 

1. Вставляем в целевой компьютер жесткий диск, интернет карту и дискету с OpenOS

2. Загружаем программу:

          Для видеокарт 2 и 3 уровня: pastebin get jJWDicaJ /mnt/<адрес диска>/init.lua

          Для видеокарт 1 уровня: pastebin get ahbjHpvV /mnt/<адрес диска>/init.lua

3. Интернет карта и дискета больше не нужны, вытаскиваем их

4. Перезагружаем компьютер

5. Производим настройку (пароль, стороны подачи сигнала в числах по Sides API, показывать ли пароль, нажатия клавиш)

6. PROFIT!!!

 

 

Версия для EEPROM:

Скрытый текст

 

1. Вставляем в целевой компьютер карту данных, интернет карту и дискету с OpenOS

2. Загружаем программу:

          Для видеокарт 2 и 3 уровня: pastebin get LDaBxe3B bios.lua

          или wget https://raw.githubusercontent.com/Bs0Dd/OpenCompSoft/master/SecuCODEX/RomOnly/Color/bios.lua bios.lua

          Для видеокарт 1 уровня: pastebin get REEWkvhf bios.lua

          или wget https://raw.githubusercontent.com/Bs0Dd/OpenCompSoft/master/SecuCODEX/RomOnly/Mono/bios.lua bios.lua

3. Записываем на EEPROM командой: flash bios.lua

4. Интернет карта и дискета больше не нужны, вытаскиваем их

5. Перезагружаем компьютер

6. Производим настройку (пароль, стороны подачи сигнала в числах по Sides API, показывать ли пароль, нажатия клавиш)

7. PROFIT!!!

 

При необходимости можно перенастроить программу, нажав на "(c)" в строке копирайта (а вы думали он тут просто так?) и введя старый пароль.

В режиме перенастройки также можно очистить список "отпечатков" доверенных пользователей (система отпечатков работает аналогично таковой в CodeDoors).

 

Скриншоты:

Цветная версия

Скрытый текст

granted.png

 

denied.png

 

setup.png

Монохромная

Скрытый текст

grantedmono.png

 

deniedmono.png

 

setupmono.png

Перед публикацией постарался отловить баги, но не исключено, что что-то могло быть упущено из виду.

Изменено пользователем Bs0Dd
Пастебин

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
36 минут назад, Bs0Dd сказал:

При необходимости можно перенастроить программу, нажав на "(c)" в строке копирайта (а вы думали он тут просто так?)

В режиме перенастройки также можно очистить список "отпечатков" доверенных пользователей (система отпечатков работает аналогично таковой в CodeDoors).

А можно эту фичу заблокировать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, hohserg сказал:

А можно эту фичу заблокировать?

А нужно ли? Перед перенастройкой сначала спрашивается старый пароль (отпечаток в таком случае отключен) и если введеный пароль верен, можно задать новые настройки

 

------

Дописал в шапку про пароль

Изменено пользователем Bs0Dd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А сие программу есть шансы ужать до биоса? Или уже сада-маза получается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, Taruu сказал:

А сие программу есть шансы ужать до биоса? Или уже сада-маза получается?

Я пытался это сделать еще на этапе написания кода, но увы, ужать все нужные функции (библиотек то у нас нету без OpenOS) + код самого замка до 4Кб не вышло. Может конкретный садо-мазо и смог бы

Да и в любом случае, где-то нужно хранить настройки и список доверенных пользователей (которые могут войти по отпечатку), а области в 256 байт у биоса для этого будет маловато

 

Вообще, если туго с жесткими дисками, никто не мешает записать кодовый замок на дискету и грузиться с нее. Но тогда при доступе к диску, дисковод, конечно же, будет жужжать.

Изменено пользователем Bs0Dd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Bs0Dd сказал:

Я пытался это сделать еще на этапе написания кода, но увы, ужать все нужные функции (библиотек то у нас нету без OpenOS) + код самого замка до 4Кб не вышло. Может конкретный садо-мазо и смог бы

Да и в любом случае, где-то нужно хранить настройки и список доверенных пользователей (которые могут войти по отпечатку), а области в 256 байт у биоса для этого будет маловато

 

Вообще, если туго с жесткими дисками, никто не мешает записать кодовый замок на дискету и грузиться с нее. Но тогда при доступе к диску, дисковод, конечно же, будет жужжать.

Если проблема с дисками,

то можно вообще твою шнягу с сетевыми дисками взять.

И будет прям едина сеть терминалов доступа.
Не пробовал так?
И еще наверно можно написать порогу инициализатор которая работает тупо с дискеты или же хранить на дискете список пользователей(тогда не будет проблем с местом и можно ставить только биос). Ну фич можно много сделать при желании...
Хотя в итоге дешевле жесткий диск сделать :/

Изменено пользователем Taruu

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, Taruu сказал:

Не пробовал так?

Не получится :(, программа-клиент требует библиотеки из OpenOS

Вообще я собирался сделать NetBIOS, в который прописываются данные сетевого диска и он грузится с него, но нужно переделывать моменты с этими проклятыми библиотеками и ужимать саму клиентскую систему (в удобном для чтении формате занимает 8кб) + нужно создать виртуальный компонент этого диска (в самой ОС этого то можно и не делать, но при загрузке будет необходимо) + загрузчик Lua и на все это 4Кб(((

Если кто из "садо-мазо" может такое провернуть и хочет мне помочь, буду только рад.

 

21 минуту назад, Taruu сказал:

Хотя в итоге дешевле жесткий диск сделать :/

Вот то то и оно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну как вариант можно заранее в еепром вшивать белый список пользователей. Если сделать оптимизацию, даже без прогона через минификатор можно легко ужать эту программу, уж больно много в ней странностей и костылей особенно если учесть что у нас есть доступ ко ВСЕМ библиотекам. Ну и коль программа поддерживает 2 типа мониторов, не проще соединить все в 1 программку, которая будет сама решать какой тип рисунка выводить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
47 минут назад, Asior сказал:

у нас есть доступ ко ВСЕМ библиотекам.

Из, непосредственно, системы то доступны только нативные библиотеки Lua, computer и component, или я что-то не так понял?

 

47 минут назад, Asior сказал:

Ну как вариант можно заранее в еепром вшивать белый список пользователей.

А куда девать все остальное? Опять же, нужен какой-то носитель с емкостью хотя бы в килобайт

 

47 минут назад, Asior сказал:

Ну и коль программа поддерживает 2 типа мониторов, не проще соединить все в 1 программку, которая будет сама решать какой тип рисунка выводить?

У них разные рабочие разрешения, оттого рисуются разные версии кнопок, не используется "градиент" на плашке с паролем, другие координаты нажатий и т.д. Имхо, слишком много получается отличий, что совсем нехило раздует программу

 

47 минут назад, Asior сказал:

уж больно много в ней странностей и костылей

Не исключаю, это первая попытка написать что-то масштабное вне OpenOS, поэтому... если есть на что конкретно указать, подумаю-переработаю

Изменено пользователем Bs0Dd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно использовать HoverHelm в качестве платформы. Там и библиотеки можно будет подключать и физический жесткий диск один на всю систему и при этом не будет ограничение на объем программы и хранимых данных

Изменено пользователем hohserg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, hohserg сказал:

Можно использовать HoverHelm в качестве платформы.

Хм, система интересная, но... не хотелось бы прибегать к использованию дополнительных компьютеров, да и в любом случае нужен жесткий диск, просто будет ли он стоять на компьютере-замке или компьютере-сервере, по моему разница невеликая + нужна сетевая карта и комплектующие на компьютер-сервер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 31.12.2020 в 09:33, Bs0Dd сказал:

Да и в любом случае, где-то нужно хранить настройки и список доверенных пользователей (которые могут войти по отпечатку), а области в 256 байт у биоса для этого будет маловато

В 256 байт умещается ~20 ников средней длины. Вполне себе адекватное количество ников, обычно, в доме не живет больше 4-5-6 человек. Говорю как человек, который делал это: 

 

Изменено пользователем BrightYC

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, Bs0Dd сказал:

Хм, система интересная, но... не хотелось бы прибегать к использованию дополнительных компьютеров, да и в любом случае нужен жесткий диск, просто будет ли он стоять на компьютере-замке или компьютере-сервере, по моему разница невеликая + нужна сетевая карта и комплектующие на компьютер-сервер.

Компьютеров-замков может быть сколько угодно. И любых других компов, выполняющих другие функции тоже может быть сколько угодно на один жесткий диск

~~~

Ох, а программа замка в текущем состоянии для eeprom, верно? Тогда она уже совместима с HoverHelm и конечные пользователи могут запускать ее, не выделяя отдельный жесткий диск для компа-замка

Изменено пользователем hohserg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, hohserg сказал:

Ох, а программа замка в текущем состоянии для eeprom, верно?

Не совсем. Да, ее можно в теории загрузить с еепром, но вес в 15кб этого не позволит, поэтому она загружается обычным Lua BIOS с носителя, как будто OpenOS

Ужатием наверное, как уже говорил, все же стоит заняться, но я в минимизации кода не мастер, все же человек начинающий.

 

8 часов назад, BrightYC сказал:

В 256 байт умещается ~20 ников средней длины. Вполне себе адекватное количество ников, обычно, в доме не живет больше 4-5-6 человек. Говорю как человек, который делал это: 

Хорошо, приму к сведению, но такой способ будет иметь смысл только, если замок получится ужать до 4Кб

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, Bs0Dd сказал:

Не совсем. Да, ее можно в теории загрузить с еепром, но вес в 15кб этого не позволит, поэтому она загружается обычным Lua BIOS

Ну т.е. программа не требует какой-то оси, работает с голым железом. Поэтому она уже совместима с HoverHelm

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, hohserg сказал:

Ну т.е. программа не требует какой-то оси, работает с голым железом.

Да, именно так. На работу вне оси и делался упор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Впринципе, раз уж Doob сделал упаковщик для программ, я могу сделать упакованную версию с хранением данных в спец. области EEPROM.

Но в таком случае для работы вместо жесткого диска потребуется карта данных:unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, Bs0Dd сказал:

Впринципе, раз уж Doob сделал упаковщик для программ, я могу сделать упакованную версию с хранением данных в спец. области EEPROM.

Но в таком случае для работы вместо жесткого диска потребуется карта данных:unsure:

Ну зато система будет монолитом. И хакнуть не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 11.01.2021 в 08:04, Taruu сказал:

Ну зато система будет монолитом. И хакнуть не получится.

 

Итак, добавил EEPROM версию, упакованную bpacker-ом (с base64 модификацией, дабы можно было выгрузить на пастебин)

Настройки хранятся в deflated виде (раз уж все равно нужна карта данных, да и считать пароль напрямую так будет сложнее) в секторе данных самой EEPROM.

Так что жесткий диск теперь не нужен:)

Изменено пользователем Bs0Dd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Приношу извинения за #403 по ссылкам

Похоже пастебину не понравилась base64 строка, и он за "спам" прикрыл сам паст

 

Попробовал перевыложить, пост даже не показывается в списке общих пастов

Видимо придется кидать ссылку на биосы с гитхаба и качать wget-ом(((

 

--------

Выложил ссылки на GitHub

 

-----------

Пастебин, видимо, после ручной модерации, все же сделал пасты пуличными. Ссылки добавил.

Изменено пользователем Bs0Dd

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...