Что нового

[Compiled] Password Manager

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
AutoIt: 3.3.6.1
Версия: 1.0

Категория: Разное

Описание: Приложение для хранения любых логинов, паролей и т.д (полноценный менеджер паролей)...

Файл: Password_Manager.zip
Размер: 5096.58 kb

Снимки:






История версий:
1.0.0.0

Автор(ы): Astel 064
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
достаточно симпатично смотрится.
но точки в поле пароля это лишнее.
ну и много окон. пока составил одну запись аж в глазах замелькало все. ящики, окна :smile:. это , конечно, на любителя, но можно в самом окне редактирования добавлять запись. так быстрее, удобнее. все сразу видно. в принципе это даже сильно неудобно, когда нужно столько раз клацать чтобы изменить запись
справка на весь экран. даже панель задач закрывает. и в справке практически ничего нет. точнее , заканчивается на пункте Портативный режим. видно только одно предложение..
вопрос для интереса - что в библиотеках ? нельзя было реализовать через AutoIT?
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
joiner

В библиотеках находятся картинки, они используются только как ёмкость для изображений.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
joiner
В dll'ках видимо ресурсы иконок(Можно было бы непосредственно в сам екзешник их поместить, нежели чем вызывать из стороннего файла) Помещение иконок в ресурсы ; Помещение изображений(png,bmp,и т.д.) в ресурсы
Astel064
ListView можно редактировать пункты прямо в самом элементе:
Код:
_GUICtrlListView_EditLabel()

Это было бы намного компактней в плане кусков кода GUI.

Зачем надо было в генераторе паролек делать функцию непрерывного генерирования :smile: Тогда уж надо было сделать так чтобы они попадали в список а не в Input и чтобы их можно было стереть.

Окно хелпа слишком большое на разрешении монитора 1024*768 GUI'ю будет мало.

Но прикольная программка подскажите на чём делали инсталляшку=)
 
Автор
Astel064

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
joiner [?]
вопрос для интереса - что в библиотеках ? нельзя было реализовать через AutoIT?
В библиотеках только иконки и Version Info, так немного удобнее :smile:


аж в глазах замелькало все. ящики, окна
Эта опция отключается (всплывающих изображений):
Меню "Программа" > "Настройки" :smile:


Добавлено:
Сообщение автоматически объединено:

MnM [?]
Но прикольная программка подскажите на чём делали инсталляшку=)

ISTool в комплекте с Inno Setup 5, т.е редактор ISTool (т.к. в Inno Setup 5 трудновато написать скрипт установки), а компилятор скрипта Inno Setup 5 :smile:

Можно было бы непосредственно в сам екзешник их поместить, нежели чем вызывать из стороннего файла
Файл не сторонний, это по сути скомпилированный (пустой AutoIt3 скрипт, с дерективами Wrapper'а) :smile: Ну мне было удобнее оставить их в dll'ке.

Чуть по позже внесу некоторые изменения в программу :IL_AutoIt_1:
Кому что хотелось-бы увидеть в содержании справки? :smile: Жду Ваших предложений.


Зачем надо было в генераторе паролек делать функцию непрерывного генерирования :smile: Тогда уж надо было сделать так чтобы они попадали в список а не в Input и чтобы их можно было стереть.
Это сделано, например, для того, чтобы пользователь мог поставить интервал (например 2 сек), поставить на непрерывную генерацию и добавлять в список все, что ему покажется более привлекательным, а потом из списка выбрать лучший для себя вариант :smile:

Окно хелпа слишком большое на разрешении монитора 1024*768 GUI'ю будет мало.
Окно хелпа должно быть размером в @DesktopWidth, @DesktopHeight, надо бы дописать -60 к @DesktopHeight :smile:

но точки в поле пароля это лишнее.
Почему-же лишнее?) А если Вы хотите найти пароль от сайта, а за спиной у Вас стоит друг, которому лучше 100% не видеть Ваш пароль? :smile:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Astel064 [?]
Эта опция отключается (всплывающих изображений): Меню "Программа" > "Настройки"
smiley.gif
это я видел. только раз отключаемо, то зачем? прогресс можно сделать в основном окне. в виде уведомления.
насчет редактирования лучше упростить. без дополнительных окон.
 
Автор
Astel064

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51

xklx

Новичок
Сообщения
50
Репутация
3
Если честно картинка "инициализация файлов базы" надоела мелькать, я думаю надо сделать без этих картинок ожидания, потому что, чтобы добавить запись сколько надо потратить времени на это ожидание (нажал на пункт->изменить->всё исчезло->ожидание-> появилось окно изменения->внёс изменение, нажал готово->ожидание. И так на каждый пункт). Плюс зачем при любом запросе скрываются все окна программы кроме этого запроса, а потом снова эта картинка инициализации и появляются все окна снова?
 
Автор
Astel064

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
xklx [?]
Если честно картинка "инициализация файлов базы" надоела мелькать, я думаю надо сделать без этих картинок ожидания, потому что, чтобы добавить запись сколько надо потратить времени на это ожидание (нажал на пункт->изменить->всё исчезло->ожидание-> появилось окно изменения->внёс изменение, нажал готово->ожидание. И так на каждый пункт). Плюс зачем при любом запросе скрываются все окна программы кроме этого запроса, а потом снова эта картинка инициализации и появляются все окна снова?

Кому надоела эта картинка (картинки) - можно отключить через настройки
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Astel064 [?]
А что именно Вы имеете виду?
мелькание ящиков воплотить в строке прогресса или нечто подобное в окне программы. более солидно смотрится, ничего не мелькает и отключать ничего не надо.
или опять непонятно объяснил? :smile:
я сужу как пользователь. люблю узкоспециализированный софт. главное - эффективный функционал и удобство в управлении. окошки дело даже не третье, а далеко за десятое.
 
Автор
Astel064

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
joiner [?]
мелькание ящиков воплотить в строке прогресса или нечто подобное в окне программы. более солидно смотрится, ничего не мелькает и отключать ничего не надо.

Хм, мелькание ящиков не получится воплотить в строке прогресса, т.к. они появляются в том случае, когда программа считывает что-либо с базы, или наоборот, записывает что-либо в базу :smile: я это сделал, чтобы, если база будет содержать кучу записей, то соответственно расшифровка базы займет более времени, и чтобы пользователь не думал, что все зависло, а знал, что программа что-то делает - появляется "желтый сейф" :smile:

В плане функционала: как вам защита паролей?))
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
считывание и прочее можно видимо реализовать как угодно. это дело вкуса. по мне, так это мелькание не очень.
насчет защиты - ломать не пробовал да и не мое это :smile:
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Astel064 [?]
если база будет содержать кучу записей, то соответственно расшифровка базы займет более времени
У меня несколько сотен элементов в базе, файл базы 12 кб, думаю шифрование будет происходить миллисекунды. Для теста попробуй шифровать файл 1 Мб с таймером.
 
Автор
Astel064

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
AZJIO [?]
У меня несколько сотен элементов в базе, файл базы 12 кб, думаю шифрование будет происходить миллисекунды. Для теста попробуй шифровать файл 1 Мб с таймером.

Позже попробую, просто я к тому это все говорю, что программа при входе в базу (при запросе пароля) запоминает пароль, если он подошел, а дальше напрямую работает с базой, при каждом просмотре/изменении записи она сначала расшифровывает отдельный файл базы, затем считывает из него информацию. Если это изменении записи, то расшифровка + чтение виртуального INI + запись виртуального INI, шифрование, запись файла :smile: самое долгое звено в этой цепочке (как я считаю) - это шифрование \ расшифровка, а на стареньких ПК (я думаю) это будет не столь быстро.

А чем Вам, уважаемые Гуру, не нравится вариант с отключением этого ящика в настройках? :smile:


Добавлено:
Сообщение автоматически объединено:

Если кому интересно, то вот что находится в файлах базы:

BD.pm = Информация о базе, ее имя, тестовый ключ проверки пароля (Start=1), ID компьютера, на котором был включен запрет на просмотр базы на другом ПК (если он был включен). Файл шифруется паролем пользователя.
BD.ai = Содержит информацию о алгоритме шифрования базы. Файл всегда (независимо от желания пользователя) шифруется одним и тем-же паролем, который хранится в программе. Файл содержит только 1 секцию и 1 ключ, в котором записано значение одной из констант алгоритмов шифрования.
BD.bk = Файл резервной копии, на случай, если вдруг что-либо случится с другими файлами. Шифруется одним и тем-же паролем, который записан в программе. Если вскрыть этот пароль, то можно увидеть, что внутри просто считанные зашифрованные файлы в Hex формате.
BD.ct = Содержит информацию о каталогах пользователя в виде: Категория=Описание. Шифруется паролем пользователя.
BD.pn=Указывает программе на то, какой пароль куда относится (к какой категории). Шифруется паролем пользователя.
BD.pd = Содержит логины, пароли (и т.д.) пользователя. Шифруется паролем пользователя.

Пример:
BD.pm
Код:
[PasswordManager]
Start=1
PCBinding=1
BindingID={2E1A890E-190E-1753-5973-C0263533978A}
BaseName=Мои пароли
AllPass=2

BD.ai
Код:
[AI]
Info=0x00006801

BD.bk
Код:
[Backups]
PM=0xE8E134976FCD608C88B39536A8EBBD2FDC7AC695E31D8D1EDC322EB30AB0F662B165ADBE56E47847B319AB07797924DFFD8080219D243955175887EA781380F1E70A1C94E5F47B62DC094A586D4AD13C74982DADA48AC0FC60307B1C9F41AD331D95A7481F8B857FC54CD1F0C0004E663B82D86A950F00EC6043A39F89743F99F96D75EF14AB673DBB185F2739FC2E303D401C903BA6E1179B9A5EBE622821E4AC8094775A671475716CA4858CBCD55209E3F4D55106B777847FFDFE7361A93D00D5E80EDD45AC84FBDA3233CFD36A9E4D01CABF49E9D6FEBBEB8850B729088AA294F627CA870FFD03A82C188041A6533CE6BD40DF01A233244BC33CF8D26E422F4F7CF2B58D9934C32E58AF94AF325FB8D3C27D3043C7D1256C125EE3E2780D4C7C3B9B05D4117A093525A7FD0C96B7AEC9E9ED74C53C6B5084E16FC7EAFF26EB92BACC4C02B6D3A3C4CBA4CBC1084D17991A58D9BB886171DCD84A8670865290DEABD5B6EE3129B21CE3209A0288C152BF94E1CF9D623D24FB5AFA429B06B4E5214B5293A7E32556880874941B8D9A6B3FE6DD9B787CDFF9D7FA8B30C6BF5DB76D3FE5691737A1335888B9175FB3C4C6827B1BD475D1399123DAA243043F11D9589FA0319C3254680AB690D1ED904A3835B31FA3F5EF36EAADC493AD588A0DD21FB849116128845CA663A50233BD8EA3E37BF6C2FF78FB672A34922FF2D58D9B90389469CA628CF8C69535A5E8CD2FDB7DB696946BFD1FA3442CCF03B4F16F
CT=0xE8E135946FCD608B88B39747AE90BC5CAF0FB5E1931E8569AD4159C102B6F26DC764DABD58E50644C369DC030E7F54A28A868D509F504E556558F5EB7211F1F3EF0A6D939AF00666AD01472A1B3DDF3903EB2AD9D78FB3FC11467F6AEE4DDD4F6E92D54C12F3F57DC437A284CD033E65498AD568E1780A916243A0EB
PN=0xE8E13DE61CCA118DF8CBE541DFE8CB2CDD08C295E5168868DB472CC275C6F16DCB62A8B85AE37344C369DC770F7F26AD858083559E523C54122E83E3
PD=0xE8E149966CB865F98FC19030A9EABA5FDB06BCE5E46A8868A3472CC500C4FF6CC467AFCA59947344C314DB060F7F20AD89858D57922639541252F6E97215F283EF7E6E91E1860914D47547231849DF4A76EB2BDCA1FDC38F62437F1C9A3BDE366E98D54C1283F60CBD43D584B6713D694989D56BE1027C9F6E45D19084054BEAF31C77EF17DB664BBA1D29544C8A5935494768E537D0E0179CE05EBA6229219FAC82940B5A1D15027016DAFE8BBBD52508EFF2AE5700B001F172F58D7B14A33D06A2EA0BA032AF838AAC4133B8A319E63D02C4B03C98D488CFE88825B75E0B8CA1ED8026CB8008FD04DF29178641A45F3B90B830DC75AC33533CB34EF2D11431284878F4B08D9E41C32258A997DA312EC2A7C27A3542C3D623676929E693780D4C7C3B9B05A8100F0D3226A7FD0C96B7AECAECEA77CD4D1E25F29665C6EEF32698E8B7C23B07C0AFA3B4CBD8C8BD0B3D
AI=0xE8E149966CB869EABA5FDCE5E46A8868A3472CC50C467AFCA59947344C314DB060F7F20AD89858D57922639541252F6E

BD.ct
Код:
[Cats]
Каталог 1=Мой первый каталог
Каталог 2=Мой второй каталог

BD.pn
Код:
[Каталог 1]
1=
3=
[Каталог 2]
2=

BD.pd
Код:
[1]
Exist=1
Имя сайта=Имя
Адрес сайта (URL)=Адрес
Логин=Логин
* Пароль=011235
E-Mail=Мыло

[Ex1]
* Тест=4520

[2]
Exist=1
Имя сайта=1

[3]
Exist=1
Имя сайта=1
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Astel064 [?]
А чем Вам, уважаемые Гуру, не нравится вариант с отключением этого ящика в настройках?
я уже писал, что выглядит не солидно. читай девятое сообщение. отключение\включение "ящичного мелькания" это лишние опции.

а на стареньких ПК (я думаю) это будет не столь быстро
это на каком? образца 2000 года? такие только в организациях остались. но там такой программой пользоваться не будут.
управление программой должно быть максимально эффективно и просто. это залог того, что ею будут пользоваться. а значит - постараться воплотить задуманное используя как можно меньше окон и лишних настроек. суть твоей программы - сохранить данные для входа на сайт\почту или что то другое в шифрованном виде.
достаточно три окна. основное, добавление, редактирование. весь прогресс идет в основном окне.
отточить работу полезного функционала, а красивости оставить на потом.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
У меня процесс занимает миллисекунды, а на старом наверно доли секунды (для Password Commander). Делать анимацию, чтобы показать всем, что ты её сможешь сделать это не поле для "показать себя". Можно даже использовать строку состояния. Когда на офсайте делали "Desktop Locker" удивило что находились пользователи, которые делали разблокировку в виде полосы прогресса в течении например 3 сек, точно не помню сколько, создавая иллюзию сложности процесса разблокировки. Это обман пользователя и трата его времени. Так же и здесь, любой отвлекающий фактор пользователю не нужен.

На счёт алгоритма шифрования:

1. Я бы сделал как в "Password Commander",для каждого аккаунта свой файл базы. Допустим несколько человек пользуются программой, потом один из пользователей перезжает в другой офис и что он должен брать с собой базу аккаунтов всех пользователей? Нет, он должен взять свой аккаунт и ничего больше.

2. Зачем шифровать многократно базу? Шифруешь весь файл один раз, вернее все данные. Например мастер-пароль аккаунта является паролем для всей базы, и нет смысла хранить пароль внутри скрипта и до кучи шифровать ещё раз (медвежья услуга). При входе расшифровываешь файл и загружаешь в виртуальный ini. Далее работаешь в программе и сохраняешь либо при выходе из программы, либо через 10 сек после изменения данных. Создаёшь триггер модификации и при любом изменении переключаешь его в 1. Некая функция через 10 сек опросит триггер модификации и если он 1 то сохранить виртуальный ini в файл с однократным шифрованием.

3. Многократное шифрование не усиливает защиту ни на копейку, это просто холостой ход в чистом виде. Обычно на такие защиты есть более простой метод взлома - клавиатурный шпион и т.д. Так что маниакальная перестраховка результата не даёт. Вернее многократное шифрование усиливает, но уже после первого шифрования степень защиты настолько высока, что второй проход просто просто отнимает время повышая защищённость с 99% до 99,1%.
 
Верх