1

Тема: HTA, VBS: Ввод кода, по дате

Здравствуйте, подскажите пожалуиста как сделать так, что-бы в HTA файле было, поле для ввода пароля и что-бы пароль зависел от даты(пример: 23.03 пароль был 211222, а 24.03 был 54366) а после ввода пароля выходило сообщение "вы успешно ввели код"
Заранее благодарен!

2

Re: HTA, VBS: Ввод кода, по дате

Надеюсь что я тебя правильно понял. Короче цифры даты + 1: например 26032011 будет как 37143122 Можно покалдавать и больше. Например цифры еще местами поменять, или еще чего...

Dim d, n, Pass(7), Password, PassIn

d = Date
Pass(0) = Mid (d, 1, 1) 
Pass(1) = Mid (d, 2, 1)
Pass(2) = Mid (d, 4, 1)
Pass(3) = Mid (d, 5, 1)
Pass(4) = Mid (d, 7, 1)
Pass(5) = Mid (d, 8, 1)
Pass(6) = Mid (d, 9, 1)
Pass(7) = Mid (d, 10, 1)
n = 0

Do
    Pass(n) = Pass(n) + 1
    n = n + 1
Loop Until n = 8

Password = Pass(0) & Pass(1) & Pass(2) & Pass(3) & Pass(4) & Pass(5) & Pass(6) & Pass(7)
PassIn = InputBox ("Введите пароль", "Password", "xxxxxxxx")

If PassIn = Password Then
    MsgBox "Авторизация прошла успешно!",vbInformation,"SurfBoxTo"
Else
    MsgBox "Пороль неверный!", 48, "Password"
    WScript.Quit
End If
'Выполняется код
WScript.Quit

3

Re: HTA, VBS: Ввод кода, по дате

За код спасибо огромное!
Но....
Чуть, чуть не правильно!
Надо чтоб на каждую дату был тот пароль который я задал! И желательно чтобы, число 23.03.2011 и 23.03.2012 тоже не совпадал(тоесть пароль разный был)
Заранее спасибо!

4

Re: HTA, VBS: Ввод кода, по дате

Так ты хочешь на каждый день задать свой код... На сколько лет в перед??? Это чтоб тебе на всю жизнь хватило.... Нужен безразмерный массив. Еще учесть что каждый пароль записан в свой массив посимвольно..... Нереально.... Можно просто отталкиваясь от даты высчитывать код и вводить его, как в примере выше. А по какой формуле считать? Тебе решать. Можно например попарно сложить числа даты. Очень просто! Дата состоит из 8 цифр, пароль получится 4-х значным. Пример: из 26032011 получится 8322. К этому, поменять местами получится либо 2238, либо 8232, 2823.... и тд. а можно еще и по времени разбить.... Угадать не реально.

5

Re: HTA, VBS: Ввод кода, по дате

Ясно... спасибо тебе огромное!
Но еще вопрос , как тогда сделать так чтобы пароль был всегда разный и узнать его смог только я! И как бы я узнавал!
(Главное чтоб ни кто и некогда кроме меня его не подобрал)
Заранее спасибо!

6

Re: HTA, VBS: Ввод кода, по дате

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

7

Re: HTA, VBS: Ввод кода, по дате

SoLoD7393 пишет:

Ясно... спасибо тебе огромное!
Но еще вопрос , как тогда сделать так чтобы пароль был всегда разный и узнать его смог только я! И как бы я узнавал!
(Главное чтоб ни кто и некогда кроме меня его не подобрал)
Заранее спасибо!

Для того чтобы только ты знал пароль, составь свой алгоритм шифрования. Это не так уж и сложно. 100 процентной гарантии что никто не взломает не даю, но от юзеров помогает.

8

Re: HTA, VBS: Ввод кода, по дате

VSVLAD пишет:

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

Так можно сделать, например, 3 раза ввел неправильно пароль, следующие попытки через час. а пароль пусть подбирают... хоть он с настоящим паролем не будет сравниваться. Если правильный пароль введет с 4-ой попытки, он скажет что пароль неверный. Вероятность подобрать пароль приближается к нулю, но не даст 100% гарантии.

9

Re: HTA, VBS: Ввод кода, по дате

Mickey666x пишет:

например, 3 раза ввел неправильно пароль, следующие попытки через час.

Всё это легко избежать произведя чистку следов активности скрипта, также возможен запуск в виртуальной машине/песочнице. Подключить HTA к отладчику, и иследовать алгоритм работы проще простого. Обфускация скрипта поможет оттолкнуть взломщика, но не всех

10

Re: HTA, VBS: Ввод кода, по дате

Ребят! Если не сложно... предложите свои варианты кода(и если не сложно объясните что к чему)
Спасибо вам огромное за помощь.

11

Re: HTA, VBS: Ввод кода, по дате

SoLoD7393 пишет:

Ребят! Если не сложно... предложите свои варианты кода(и если не сложно объясните что к чему)
Спасибо вам огромное за помощь.

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

12

Re: HTA, VBS: Ввод кода, по дате

Даже в голову не лезет не чего! Уже все что можно передумал!
А как сделать так чтоб пароль был разным и я его знал пока не пойму!
И не знаю..  спасибо тебе Mickey666x

13 (изменено: SoLoD7393, 2011-04-02 14:18:33)

Re: HTA, VBS: Ввод кода, по дате

Ребят, помогите чем сможете, просто очень нужен такой код!
Я немного хочу изменить свой вопрос, теперь интересует:
Чтобы пароль каждый день был разный-пример:
1.04.2011 - 8466
2.04.2011 - 4255
3.04.2011 - 2244
4.04.2011 - 6335
5.04.2011 - 1466
6.04.2011 - 4773
7.04.2011 - 4478
И все эти пароли были указанны в скрипте, 7 паролей больше не надо!
Скрипт смотрит на число,месяц и год, сверяет с кодом скрипта- если число подходит, то пишет ОК, не подходит пишет плохой пароль!
А там уж я сам каждую неделю буду менять числа и пароли!

14 (изменено: Mickey666x, 2011-04-03 13:26:34)

Re: HTA, VBS: Ввод кода, по дате

Попробуй так:

Dim a, PassIn, Password
a=Weekday(Now)
Select Case a
    Case 1
        Password = "1" 'Воскресение. Между "" вставляй пароль. Пароль будет работать только в соответствующий день недели
    Case 2
        Password = "2" 'Понедельник
    Case 3
        Password = "3" 'Вторник
    Case 4
        Password = "4" 'Среда
    Case 5
        Password = "5" 'Четверг
    Case 6
        Password = "6" 'Пятница
    Case 7
        Password = "7" 'Субота
End Select
PassIn = InputBox ("Введите пароль", "Password", "xxxxxxxx")
If PassIn = Password Then
    MsgBox "Авторизация прошла успешно!",vbInformation,"SurfBoxTo"
Else
    MsgBox "Пороль неверный!", 48, "Password"
    WScript.Quit
End If
'Выполняется код
WScript.Quit

15

Re: HTA, VBS: Ввод кода, по дате

Доброго времени суток!
Сделал проще, но в 2 скрипта
VBS (Проверка пароля):

t1 = InputBox("Введите пароль:", "Password")
if t1=Oct(Day(date)&Month(date)&Year(date)) then
msgbox "Ура!"
ElseIf  t1 <>Oct(Day(date)&Month(date)&Year(date)) then
msgbox ":("
end if

VBS (Генератор пароля для себя):

t1 = InputBox("Пароль:", "GenPass", Oct(Day(date)&Month(date)&Year(date)))