Пароль находится в файле на подобие этого - "~/.config/qutim/qutim.d33/ICQ.12345/accountsettings.ini" , но храниться он в каком-то не понятном значение на подобие этого - "password=@ByteArray(a\x11\x33\n\xf1m)".
Решение нашел в файле исходников qutim: oscarprotocol.cpp, шифрование выполняется обычным xor-ом, т.е. пароль почти хранится в открытом виде.
В данном исходнике, если поменять строчку str на зашифрованную строку, то получится искомы пароль:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <stdio.h>
char str
= "a\x11\x33\n\xf1m";
const char crypter
= {0x10, 0x67, 0x56, 0x78, 0x85, 0x14, 0x87, 0x11, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45};
int main(){
int i = 0;
char *p = str;
printf("Password <encrypted> <ascii>:\t%s\n", str);
for (i = 0; i < sizeof(str) - 1; i++){
*p = *p ^ crypter<i>;
p++;
}
printf("Password <decrypted> <hex>:\t");
for (i = 0; i < sizeof(str) - 1; i++){
printf("%#2x ",(unsigned char) str</hex></decrypted></i><i>);
}
printf("\n");
printf("Password <decrypted> </decrypted></i></ascii><ascii>:\t%s\n", str);
return 0;
}</ascii></encrypted>
|