PDA

View Full Version : [QUES]Thuật toán decode yahoo mes archive



MrPaint
05-06-2005, 01:43
Theo mình đoán là có cái thuật toán này, vấn đề là mình còn chưa biết vậy ai biết làm ơn chỉ giùm, cần cái này lắm lắm
thanks

thanh_mai
06-06-2005, 07:43
có tool mà bạn download ở google ý : ), file rất bé chỉ khoảng 5 kb thôi
Không đế ý lắm nhưng nghe nói yahoo lưu file dưới dạng RTF but đổi đuôi file thôi thì kô đủ đâu (có mã hóa mừ)

MrPaint
06-06-2005, 09:36
Thì đúng là nó có mã hóa mấy cái file đấy lại, theo mình đoán nó mã hóa theo nickname của 2 người chat vì có chương trình tên là Yammy (hay đại loại như thế) khi mình đổi tên 2 người chát thì nó giải mã bị lỗi ngay --> vấn đề là nó mã hóa kiểu gì???

mRrO
06-06-2005, 10:53
http://www.securitytracker.com/id?1007587

MrPaint
06-06-2005, 21:28
Bạn ơi mình không hiều lắm, chỉ hiểu sơ sơ là có ông THái Dương nào đó báo về việc bảo mật kém của Yahoo... hix, và hình như là Yahoo dùng thuật toán XOR vấn đề là decode cụ thể như thế nào?

MrPaint
10-06-2005, 14:26
Ka ka tui có thuật toán này gòi, ai cần tui share cho
Nhưng vẫn đang áy này vì không hiểu sao không decode được tiếng Việt Unicode!

jiSh@n
10-06-2005, 20:16
Share ra thử đi rồi cùng tìm cách giải quyết TV.

MrPaint
11-06-2005, 11:56
source = Delphi mong mọi người thông cảm
ai không hiểu thì email: mrpaint@gmail.com

MrPaint
12-06-2005, 10:50
format file .dat của Yahoo:
4 bytes: timestamp
4 bytes: không bít là cái ji
4 bytes: người đang nói: 00 00 00 00: là mình nói; 01 00 00 00: là người kia; 06 00 00 00 là người kia nhưng lúc mình off line
4 bytes: độ dài của tin nhắn (theo byte)
* bytes: tin nhắn đã bị mã hóa
4 bytes: 00 00 00 00: hết tin nhắn

Cách decode cái tin nhắn của Yahoo:
*một số biến + quy tắc:
me: string = nickname của mình
other: string = nickname của bạn mình
ch: char = biến trung gian để chứa dữ liệu từ file .dat của Yahoo
p: int = biến trung gian để decode, default là 1;

đầu tiên, các bạn sẽ phải cho chạy vòng lặp để đọc hết các ký tự từ file --> đư vào biến "ch". Mỗi khi đọc xong 1 ký tự, bạn sẽ phải:
- gán ch=ch xor me[p]
- gán ch=ch and 127;
- cho tăng p lên 1 đơn vị;
- nếu p>độ dài của "me" --> gán p=1

bạn tiếp tục chạy y hệt như vậy cho đến khi nào hết file vì file của Yahoo chứa rất nhiều tin nhắn nối tiếp nhau

Chú ý:
Với 1 số ngôn ngữ (như Delphi hoặc Pascal), việc gán ch:=ch xor me[p] và ch:=ch and me[p] sẽ không thực hiện được, các bạn phải dùng cách chuyển đổi sau:
ch:=chr(ord(ch) xor ord(me[p]));
ch:=chr(ord(ch) xor 127); :)
Ngoài ra, với ngôn ngữ C, giá trị default của p phải là 0 chứ không phải là 1, còn đoạn xét p>độ dài của me thì phải thay là p>=độ dài của me

chúc các bạn thành công và giúp mình tìm cách decode tiếng Việt Unicode

hieusua
13-06-2005, 09:29
Message Archive của yahoo nó cất ở đâu vậy nhỉ? Nếu trong profile thì chỉ có của nick mình đang xài thôi, còn những cái khác ở đâu?

MrPaint
13-06-2005, 13:34
Yahoo để archive trong thư mục:
Messenger\Profiles\{my_nickname}\Archive\Messages\ {friend_nickname}\*.dat
trong đó file name viết theo format: yearmonthday {my_nickname}.dat

MrPaint
14-06-2005, 00:07
Không ai cho mình ý kiến nào để decode Việt Unicode a`?
Pls

tinhthl
29-09-2005, 08:20
Hic... có source C hay C# hay gì đó ko?
hic... tui ko biết cái Delphi hay pascal... nhìn nhức đầu khiếp.

thuynguyen0212
21-02-2010, 23:45
Mới viết xong = code C#, ai cần liên hệ nha!

Nic-
22-02-2010, 00:17
Mới viết xong = code C#, ai cần liên hệ nha!

bạn có thể cho mình tham khảo với được ko?

thuynguyen0212
24-02-2010, 18:04
link dow đây bạn: http://www.mediafire.com/?yqjwwzzdn2t

hungud
25-02-2010, 10:39
Mình hỏi cái file yearmonthday {my_nickname}.dat này hình như mặc định chỉ lưu thông tin trong khi chat, out là msg về zero đúng không bạn?