Archive for May, 2009
Lỗi mms:// not support của WMP11
by vietfov on May.29, 2009, under IT
Số là mình vào mấy trang nhạc nghe online làm tí giải trí, nhưng cái WMP & add-in đang dùng lại không Play được, nó bảo nó không hỗ trợ mms nữa đâu- mms protocol not support. Quái quỷ thay, tháng trước còn nghe trang này ầm ầm…
Google chút, chỉ trong Page1 của trang kết quả, Google nói thằng thì bảo WMP11 đã không còn support mms://, thằng bảo đổi protocol qua rtsp
), có thằng kể lể đã cài lại WMP mà vẫn k được…
Cái dở của cái lỗi là không có cái mã nào để tìm đích xác nên hơi phiền phức, đây là fix http://support.microsoft.com/kb/940029
- Start -> Run
- gõ regsvr32 wmnetmgr.dll
Vậy là xong, dĩ nhiên là WMP phải mở các kết nối mặc định (trong tab Network). Còn lỗi này trong máy tớ là do upgrade chú Windows từ Home lên Pro, nên một số component và dll không theo kịp xu thế thời đại. (Upgrade cho oai thôi chứ mấy tính năng cộng thêm dùng của mấy 3rd party thú hơn nhiều)
Yahoo! 360 to Shut Down
by vietfov on May.29, 2009, under IT

- Hãy làm những gì có thể cho entries trước 13/7/2009, đây một số tips-of-the-day của mình
- Chuyển sang Y! Plus (http://vn.myblog.yahoo.com) hoặc Y! Profiles (http://profiles.yahoo.com) hoặc download các bài viết (file text + hình ảnh) về máy tính, tất cả đều ở đây http://download.360.yahoo.com
Note: Y! Plus và Y! Profiles là 2 môi trường blog khác nhau.Bước này nhằm mục đích bảo lưu các entries của bạn, tiếc là các quick comment sẽ phải về trời.
- Chọn một điểm đến thích hợp (WordPress, MySpace, Facebook, Opera, Blogger…)
- Yên vị & chờ đợi một công cụ nhập bài viết cũ vào blog mới của một *cô tiên* nào đó có nhiều freetime lập ra, nếu blog mới đó không hỗ trợ. (Yahoo đang hứa sẽ có công cụ này, hứa sẽ có cho WordPress, nhưng mình đoán chưa chắc đã có cho facebook, cạnh tranh mà)
- Có thể khóc thật to nhưng đừng nên chôn cái máy tính của bạn để từ biệt Y! 360.
http://blog.360.yahoo.com/blog-1qCkw2Ehaak.hdNZkEAzDrpa4Q–?cq=1&p=67265
Beautiful Barca
by vietfov on May.27, 2009, under Relaxation
Những cung bậc thăng trầm của cảm xúc, những ngọn lửa vụt cháy khát khao, chỉ tiếc một điều, đội được yêu thích hơn đã không thể bảo vệ ngôi vương. Âu đó là một giá trị mang tính tôn trọng lịch sử, đáng được tôn trọng.
Đấu trường UEFA Champions quả là một sân chơi quá lớn cho Ferguson, đội hình của MU cũng hơi thật khó hiểu. Với những cầu thủ tuy cần tôn vinh đáng ra chỉ cần thiết cho hiệp 2. Cái dở của Alex là bảo thủ và quá con người. Còn nhớ một lần gặp lại Bayern, ông đưa ra đa phần những cầu thủ đã từng tham dự trận CK năm 1999, MU thua. Với Gary Neville, MU suýt phải trả giá vì sự non yếu vì tuổi tác của cầu thủ này…
Dĩ nhiên, thắng làm vua, thua làm giặc, Sir Alex cũng không là ngoại lệ.
Với suốt sự nghiệp cầm quân của mình, Fergi không quá lão luyện và tinh quái ở châu Âu.
Giờ đây tất cả đã thuộc về Lionel Messi.
Phân tích Y!M Protocol (Part2)
by vietfov on May.23, 2009, under IT
2. Quy trình giao dịch
Sơ đồ giao dịch giữa SC có dạng như hình dưới, trong đó các kết nối có kí hiệu “*” có thể tồn tại hoặc không.

1) Bước đầu tiên, Verify:
Nhằm xác thực một kết nối đến Yahoo server, bước này cho biết hệ thống mạng đang hoạt động bình thường.
- Service: Verify (76)
- Status: Default (0)
- Content: Null
2) Authorization:
Xin quyền xác thực tài khoản
- Service: Auth (13)
- Status: Default (0)
- Content: Username
Server sẽ phải tiếp nhận và đáp ứng lại một khoá chứng thực, theo kiểu challenging response (Xem thêm slide An toàn mạng), nếu quá trình chứng thực thành công, Username sẽ được thiết lập một flag Available (Online)
3) Buddies List:
Tiếp tục quá trình đăng nhập, trao đổi danh sách bạn bè, trạng thái
- Service: List (85) / (241)
- Status: Default (0)
4) Ping
Xem xét các nick online và status của nó.
5) Thực hiện chatting và các tuỳ chọn nâng cao khác (Chatroom, đổi giao diện chat, webcam….)
1) Sign In
Đây là bước quan trọng và phức tạp nhất trong mọi ứng dụng Messessger Protocol, cũng là chủ đề chính của các bài viết này. Bước này đòi hỏi sự đồng nhất giữa SC với chuẩn mã hoá tuân theo quy tắc riêng của mỗi ứng dụng tin nhắn.
Thiết lập socket tới csc.msg.yahoo.com:5050
csc.msg.yahoo.com chỉ là địa chỉ CNAME (Canonical name for an alias), DNS server sẽ xác định host cho csc.msg.yahoo.com và trả về các gói tin chứa thông tin cho biết máy chủ sẽ kết nối đến – Host Address (Cho thấy Yahoo có rất nhiều máy chủ phân tán).
scsc.msg.yahoo.com: type A, class IN, addr 66.163.181.167
scsc.msg.yahoo.com: type A, class IN, addr 66.163.181.168
….
scsc.msg.yahoo.com: type A, class IN, addr 66.163.181.193
….

Host có thời gian đáp ứng tốt nhất sẽ được chọn (Lúc đó là Addr: 66.163.181.167)
Client gửi string Username cho Server
0000 3a fb 20 00 18 00 08 00 0f 00 00 00 08 00 45 00 :. ….. ……E.
0010 00 48 28 7a 40 00 80 06 a8 8a 0a 10 27 51 42 a3 .H(z@… ….’QB.
0020 b5 a7 0b b1 13 ba ce 6c 9a 63 9b cc e8 02 50 18 …….l .c….P.
0030 70 1c 9f e5 00 00 59 4d 53 47 00 0f 00 00 00 0c p…..YM SG……
0040 00 57 00 00 00 00 00 46 f5 b9 31 c0 80 76 69 65 .W…..F ..1..vie
0050 74 5f 76 71 c0 80 t_vq..
59 4d 53 47 – YMSG : standard header
00 0f - .. : Version 15, với 2 bytes đệm ở sau là 00 00
00 0c - .. : Packet Length, là độ dài của Content (12 bytes)
00 57 – .W : Service, chữ W (57) ra hiệu cho server trả về kí tự xác nhận (challenge command)
00 00 00 00 – …. : Status
00 46 f5 b9 – .F.. : 4 bytes Session, luôn thay đổi ở mỗi lần giao dịch
31 c0 80 76 69 65 74 5f 76 71 c0 80 – 1..viet_vq.. : 12 bytes nội dung. Mỗi phần tử nội dung (Key, Value) được ngăn cách bởi 2 byte c0 80.
31 là mã ASCII trả về chuỗi (String) 1
c0 80
76 69 65 74 5f 76 71 mã ASCII trả về chuỗi viet_vq
c0 80
Server Response to:
0000 08 00 0f 00 00 00 3a fb 20 00 18 00 08 00 45 00 ……:. …..E.
0010 00 a0 3a b5 40 00 31 06 e4 f7 42 a3 b5 a7 0a 10 ..:.@.1. ..B…..
0020 27 51 13 ba 0b b1 9b cc e8 02 ce 6c 9a 83 50 18 ‘Q…… …l..P.
0030 ff ff 57 02 00 00 59 4d 53 47 00 0f 00 00 00 64 ..W…YM SG…..d
0040 00 57 00 00 00 01 00 5a a9 a7 31 c0 80 76 69 65 .W…..Z ..1..vie
0050 74 5f 76 71 c0 80 39 34 c0 80 77 5e 28 6f 26 34 t_vq..94 ..w^(o&4
0060 5e 28 6f 7c 28 34 2f 6b 25 31 2a 35 2f 75 2d 61 ^(o|(4/k %1*5/u-a
0070 2f 71 2a 68 2d 6f 25 33 2a 70 26 61 2b 6f 7c 76 /q*h-o%3 *p&a+o|v
0080 5e 33 26 28 78 2f 6f 26 64 2d 69 26 6a 26 28 6c ^3&(x/o& d-i&j&(l
0090 2a 71 2a 77 2f 67 5e 6a 2f 6a 29 7c 28 72 2d 61 *q*w/g^j /j)|(r-a
00a0 29 29 29 29 29 c0 80 31 33 c0 80 32 c0 80 )))))..1 3..2..
Để ý đến một cặp khoá mới được server trả về với key 94 là
w^(o&4^(o|(4/k%1*5/u-a/q*h-o%3*p&a+o|v^3&(x/o&d-i&j&(l*q*w/g^j/j)|(r-a)))))
Nhận xét:
- Cố tình thử lại nhiều lần, kể cả cung cấp thông tin login sai cho server, thấy rằng chuỗi kí tự này luôn luôn xuất hiện và thay đổi trong từng session một.
- Mã trả về luôn có số tags đóng bằng số tags mở, các kí tự $, ^, +, %, *, / có vẻ như các phép toán => chuỗi được biểu thị như một biểu thức đại số.
- Đây chắc chắn là một mã hash (token) chứng thực (authetication).
- ViệtQ
Phân tích Y!M Protocol (Part1)
by vietfov on May.17, 2009, under IT
| Giới thiệu chủ đề
Ta đã biết Instance Message là một nguồn thu lợi nhuận khổng lồ trong lĩnh vực Information & Communication Technology (ICT). Bên cạnh đó Yahoo Messenger là chương trình phổ biến ở Việt Nam cũng như trên toàn thế giới. Bài viết này sẽ tìm hiểu Protocol của Y!M, nhằm phục vụ cho việc thiết kế các chương trình có khả năng tuỳ biến nội dung chat (Ví dụ: Center Tra cứu thông tin, các công cụ tinh chỉnh, ngăn quảng cáo phiền phức, hoặc dựa vào đó để viết ứng dụng trên nền mobile J2ME. …). ![]() YMSG Protocol Yahoo Messenger Protocol (YMSG) là một Protocol tầng Application chạy trên nền TCP, hoặc HTTP, SOCKS. (Tham khảo thêm các định nghĩa về TCP, HTTP, SOCKS nếu muốn tìm hiểu thêm) Với YMSG Protocol, Yahoo có 3 kiểu kết nối chính đến server:
Chúng ta sẽ tìm hiểu kiểu kết nối trực tiếp (Direct connection) đến server cn.csc.msg.yahoo.com csc.msg.yahoo.com [port 5050] – sẽ trình bày chi tiết ở các phần sau. Mô hình phân tích & Công cụ:
I) GIỚI THIỆU CHUNG 1. YMSG Packet Qua quá trình capture Y!M packets từ phía client, ta thấy được YMSG luôn có cấu trúc gói tin (Packet) như sau: Trong đó:
Version:
Packet Length:
Service:
Status:
Session ID:
Content
Ví dụ 1 đoạn Packet đã Decoded ra mã text (ASCII):
Kết luận:
|
