Что нового

нужна помощь по кодированию строки

BrAWo

Новичок
Сообщения
15
Репутация
1
полная предыстория:
есть такой jabber клиент jajc хочется его развернуть в домене
доменное имя пользователя = имя юзера на jabber сервере
так вот jajc хранит логин/пароль в реестре в шифрованном виде
идея такая - при первом запуске юзером jajc писать в реестр все настройки

вопрос: как писать в реестр уже шифрованное значение?
оговорюсь сразу программист из меня не очень
что удалось выяснить:
строку jajc хранит там в Base 64 вроде как
если поможет то на оф. форуме эта тема поднималась но я если честно не очень понял как сделать там речь про какой та Key для имени - 4235

пример строки: admin на выходе получаем cQf4Zvo=
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Могу разве что сам алгоритм кодирования написать если надо. Правда там алгоритм выдающий серийники исходя из логина и контрольного числа для юзера :smile:
Просто вбиваешь ник до 16 символов и число и получаешь серийник :smile:
 
Автор
B

BrAWo

Новичок
Сообщения
15
Репутация
1
не понял какие такие серийники речь про логин-пароль в jajc
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
ну я так понел тебе надо какую-то информацию закодировать, вот и предложил пример алгоритма :smile:
 
Автор
B

BrAWo

Новичок
Сообщения
15
Репутация
1
да все правильно закодировать
я может не очень понятно обьяснил
попробуй сходить по ссылке на оф. форум из первого поста может так понятнее будет
 
Автор
B

BrAWo

Новичок
Сообщения
15
Репутация
1
спасибо всем
списался с разработчиком
он ответил что использует некий свой механизм шифровки и раскрывать его не хочет так что угадывать можно долго
будем думать как по другому сделать
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Я шифрую тупо вот так вот
Код:
For $i = 1 To 3 Step 1
	If $Simbol[$i] = "0" Then $SimbolCode[$i] = 14
	If $Simbol[$i] = "1" Then $SimbolCode[$i] = 15
	If $Simbol[$i] = "2" Then $SimbolCode[$i] = 16
	If $Simbol[$i] = "3" Then $SimbolCode[$i] = 17
	If $Simbol[$i] = "4" Then $SimbolCode[$i] = 18
	If $Simbol[$i] = "5" Then $SimbolCode[$i] = 19
	If $Simbol[$i] = "6" Then $SimbolCode[$i] = 20
	If $Simbol[$i] = "7" Then $SimbolCode[$i] = 21
	If $Simbol[$i] = "8" Then $SimbolCode[$i] = 22
	If $Simbol[$i] = "9" Then $SimbolCode[$i] = 23
	If $Simbol[$i] = "-" Then $SimbolCode[$i] = 24
	If $Simbol[$i] = "(" Then $SimbolCode[$i] = 25
	If $Simbol[$i] = ")" Then $SimbolCode[$i] = 26
	If $Simbol[$i] = "." Then $SimbolCode[$i] = 27
	If $Simbol[$i] = "[" Then $SimbolCode[$i] = 28
	If $Simbol[$i] = "]" Then $SimbolCode[$i] = 29
	If $Simbol[$i] = "_" Then $SimbolCode[$i] = 30
	If $Simbol[$i] = "{" Then $SimbolCode[$i] = 31
	If $Simbol[$i] = "}" Then $SimbolCode[$i] = 32
	If $Simbol[$i] = "a" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 33
	If $Simbol[$i] = "b" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 34
	If $Simbol[$i] = "c" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 35
	If $Simbol[$i] = "d" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 36
	If $Simbol[$i] = "e" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 37
	If $Simbol[$i] = "f" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 38
	If $Simbol[$i] = "g" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 39
	If $Simbol[$i] = "h" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 40
	If $Simbol[$i] = "i" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 41
	If $Simbol[$i] = "j" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 42
	If $Simbol[$i] = "k" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 43
	If $Simbol[$i] = "l" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 44
	If $Simbol[$i] = "m" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 45
	If $Simbol[$i] = "n" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 46
	If $Simbol[$i] = "o" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 47
	If $Simbol[$i] = "p" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 48
	If $Simbol[$i] = "q" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 49
	If $Simbol[$i] = "r" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 50
	If $Simbol[$i] = "s" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 51
	If $Simbol[$i] = "t" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 52
	If $Simbol[$i] = "u" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 53
	If $Simbol[$i] = "v" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 54
	If $Simbol[$i] = "w" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 55
	If $Simbol[$i] = "x" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 56
	If $Simbol[$i] = "y" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 57
	If $Simbol[$i] = "z" And StringIsLower($Simbol[$i]) Then $SimbolCode[$i] = 58
	If $Simbol[$i] = "a" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 59
	If $Simbol[$i] = "b" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 60
	If $Simbol[$i] = "c" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 61
	If $Simbol[$i] = "d" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 62
	If $Simbol[$i] = "e" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 63
	If $Simbol[$i] = "f" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 64
	If $Simbol[$i] = "g" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 65
	If $Simbol[$i] = "h" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 66
	If $Simbol[$i] = "i" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 67
	If $Simbol[$i] = "j" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 68
	If $Simbol[$i] = "k" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 69
	If $Simbol[$i] = "l" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 70
	If $Simbol[$i] = "m" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 71
	If $Simbol[$i] = "n" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 72
	If $Simbol[$i] = "o" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 73
	If $Simbol[$i] = "p" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 74
	If $Simbol[$i] = "q" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 75
	If $Simbol[$i] = "r" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 76
	If $Simbol[$i] = "s" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 77
	If $Simbol[$i] = "t" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 78
	If $Simbol[$i] = "u" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 79
	If $Simbol[$i] = "v" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 80
	If $Simbol[$i] = "w" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 81
	If $Simbol[$i] = "x" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 82
	If $Simbol[$i] = "y" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 83
	If $Simbol[$i] = "z" And StringIsUpper($Simbol[$i]) Then $SimbolCode[$i] = 84
Next

в конечном итоге получая строку такого вида: 1918-3183-4294-123
 

ynbIpb

Скриптер
Сообщения
399
Репутация
110
Да нет тут не нужен любой алгоритм.
ему нужно реверсить алго проги и в точности также как она его воссоздать.
BrAWo сказал(а):
он ответил что использует некий свой механизм шифровки и раскрывать его не хочет так что угадывать можно долго
будем думать как по другому сделать
Ну оно и понятно, он препятствует тому, чтоб трояны типа пинча тырили пароли из реестра. Но это не говорит что алгоритм не вытащить. Если программа умеет его расшифровывать и посылать серверу, то и человек может его вытащить.
могу посоветовать сходить на: форум cracklab.ru
А там если датут хитрый алго, то мы на автоите покажем.
 
Верх