Thấy mọi người mừng sinh nhật REA, nên hôm nay cũng viết vài ba hàng tut để chúc
REA ngày càng hấp dẫn và lớn mạnh.
Cũng nhân dịp tháng 8 tết trung thu, tui sẽ giới thiệu các bạn 1 soft để quan sát hình dạng
của mặt trăng theo từng ngày trong tháng. Hihi (cái này Merc giới thiệu thì đúng hơn)
Vào đề:
Tui rất khóai crack các soft nào mà các lão coder ẩu tả để lộ serial chình ình cho người ta
“dòm ngó”. Nó giống như mặt quần mà wên kéo phẹc-mơ-tuya. Thật là cẩu thả!. Crack
các soft dạng này vừa nhanh, vừa giải trí lại vừa thỏai mái đúng ko các bạn.
Tut này cũng dành cho các newbiez, ko dành cho các lão trùm cracker. Benina luôn viết
tut cho newbiez vì benina luôn hiểu newbie cần gì mà (tui cũng là newbie như các bạn).
Tut này cũng là dạng “câu cá” (fishing) truyền thống (hay có lần tui gọi là “tìm serial
trong đóng rác”), tức là dùng 1 debugger trace từng dòng lệnh để tìm xem có “con cá
real serial” nào “bơi” trong khi ta đang “dạo cảnh xem hoa” ko. ☺
Các tut về fishing thì ko cần trình độ cao, chỉ cần biết quan sát và nhạy bén 1 chút là có
thể tìm ra nó. Đức tính suy luận và nhạy bén rất cần thiết cho các cracker. Nếu bạn ko
chuẩn bị đức tính này, thì bạn có thể rất mất tg để crack được 1 soft. Tut này cũng nhằm
mục đích giới thiệu sự linh họat và suy luận khi crack (ko cần khả năng đọc code nhiều).
I.Giới thiệu target:
Target này do Merc giới thiệu trong box cracker. (PS: Nếu bạn nào có khả năng crack
nhất đinh, đăng ký với chúng tôi để vào box này sinh họat)
Target : Desktop Lunar Calendar
Link download: http://www.softaddress.com/
Tui chọn target này, vì nó hơi “điểu”, và cách câu serial cũng hơi lạ 1 chút.Rồi các bạn sẽ
thấy nó “điểu giả” như thế nào.
12 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2276 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Fishing series serial, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
FISHING SERIES SERIAL
Page 1/12
FISHING SERIES SERIAL
(CÂU CẢ ĐÀN CÁ)
Thấy mọi người mừng sinh nhật REA, nên hôm nay cũng viết vài ba hàng tut để chúc
REA ngày càng hấp dẫn và lớn mạnh.
Cũng nhân dịp tháng 8 tết trung thu, tui sẽ giới thiệu các bạn 1 soft để quan sát hình dạng
của mặt trăng theo từng ngày trong tháng. Hihi (cái này Merc giới thiệu thì đúng hơn)
Vào đề:
Tui rất khóai crack các soft nào mà các lão coder ẩu tả để lộ serial chình ình cho người ta
“dòm ngó”. Nó giống như mặt quần mà wên kéo phẹc-mơ-tuya. Thật là cẩu thả!. Crack
các soft dạng này vừa nhanh, vừa giải trí lại vừa thỏai mái đúng ko các bạn.
Tut này cũng dành cho các newbiez, ko dành cho các lão trùm cracker. Benina luôn viết
tut cho newbiez vì benina luôn hiểu newbie cần gì mà (tui cũng là newbie như các bạn).
Tut này cũng là dạng “câu cá” (fishing) truyền thống (hay có lần tui gọi là “tìm serial
trong đóng rác”), tức là dùng 1 debugger trace từng dòng lệnh để tìm xem có “con cá
real serial” nào “bơi” trong khi ta đang “dạo cảnh xem hoa” ko. ☺
Các tut về fishing thì ko cần trình độ cao, chỉ cần biết quan sát và nhạy bén 1 chút là có
thể tìm ra nó. Đức tính suy luận và nhạy bén rất cần thiết cho các cracker. Nếu bạn ko
chuẩn bị đức tính này, thì bạn có thể rất mất tg để crack được 1 soft. Tut này cũng nhằm
mục đích giới thiệu sự linh họat và suy luận khi crack (ko cần khả năng đọc code nhiều).
I.Giới thiệu target:
Target này do Merc giới thiệu trong box cracker. (PS: Nếu bạn nào có khả năng crack
nhất đinh, đăng ký với chúng tôi để vào box này sinh họat)
Target : Desktop Lunar Calendar
Link download:
Tui chọn target này, vì nó hơi “điểu”, và cách câu serial cũng hơi lạ 1 chút.Rồi các bạn sẽ
thấy nó “điểu giả” như thế nào.
II.Thông tin về soft:
1. Kiểm tra soft:
-Như mọi khi check soft với Peid:
FISHING SERIES SERIAL
Page 2/12
-Nó code bằng VC++7.0 và ko có cryto nào. Vậy là khỏe rồi.
2.Tìm hiểu MagicString :
-Chạy chương trình
-Nhấn vào button “Register Now!”
-Nhập 1 FS : “01234567890”, nhấn “OK”
-Xuất hiện hộp thọai có MagicString “Unsuccessful”
III.Cracking:
-Load target vào Olly.
FISHING SERIES SERIAL
Page 3/12
-Click phải vào cửa sổ code của Olly, Chọn Search for/All referenced text strings .Ta tìm
thấy chuổi “Unsuccessful” tại :
Address=00408288
-DClick vào nó để goto đến cửa sổ code chứa chuổi. Dò ngược lên trên và đặt bp tại : (vì
sao đặt bp tại đây thì các bạn tự tìm hiểu trong các tut căn bản nhé, vì nếu giải thích thì
dài dòng quá)
00408240 . E8 DB0C0000 CALL Desktop_.00408F20
Bp này tui gọi tên là “BP call check”
-Nhấn F9 để run soft. Ta ngừng lại tại bp đã set. Nhấn F7 đề vào hàm call chúng ta đã set
tại đó
-Mới nhấn F7 thì mà đã thấy 2 string lạ xuất hiện :
FISHING SERIES SERIAL
Page 4/12
Chúng ở tại các addr sau:
00408F4E . 68 98FE4200 PUSH Desktop_.0042FE98 ; ASCII
"awxNMdfvBGHERnmjiTWtyhoEFS954slFS148DDGDFHfghjDSFeyhGAGWETYJgh
m756735"
Và một string nữa tại :
00408F7F . 68 74FE4200 PUSH Desktop_.0042FE74 ; ASCII
"HT5147h5Dg5G4mfDfFg6dSFsjfABaT"
Theo kinh nghiệm, tui nghĩ rằng string đầu tiên ko phải là serial, và tui nghĩ string này rất
dài có thể là 1 dạng “table char” dùng trong quá trình mã hóa serial.
Vậy khả năng string thứ 2 là serial rất cao.
Bây giờ đóng Olly, ta chạy file exe( ko phải load file exe trong Olly nhe các bạn, rồi tui
sẽ giải thích sau). Nhập FS vừa tìm được :
FS="HT5147h5Dg5G4mfDfFg6dSFsjfABaT"
OH, nó chấp nhận rồi. “Successful!”
Trời , vậy là “câu con cá” này dễ quá hả?. Đến đây ta close soft lại.
FISHING SERIES SERIAL
Page 5/12
-Nhưng để chắc ăn và theo thói wen, tui thử chỉnh giờ hệ thống lên 1 năm thành năm
2006 để kiểm tra lại xem sao.
-Bùmmmmm. Trời nó vẫn kêu ta đăng ký. Đúng là 1 cú lừa ngọan mục. Bắt đầu tui máu
với thằng này rồi đó nhe. Uống 1 ly nước cái đã ,đốt 1 điếu Craven “A” , thả vài làn khói
thuốc cho thanh thản, rồi load soft lại trong Olly xem sao.
-Bp vẫn set như cũ, nhấn F9 và nhập 1 chuổi Fake Serial :
"005147h5Dg5G4mfDfFg6dSFsjfABaT"
(Tui chỉ thay 2 ký tự đầu “HT”trong chuổi "HT5147h5Dg5G4mfDfFg6dSFsjfABaT"
thành “00” chủ yếu là lấy chiều dài chuổi cho đúng để hạn chế 1 số “rào cản” check
length serial của soft nếu có. Đây là 1 thói wen các bạn nên làm).
-Nhấn OK, bp bị break tại “BP call check” mà chúng ta đã set. Nhấn F9. Nó ko chấp
nhận serial mới (dĩ nhiền rồi).
-Bây giờ tui set lại year thành 2005. Run lại soft (chạy file exe) thì soft vẫn chạy như
được đăng ký.
-Từ đây ta bắt đầu động não 1 tí. Theo như những gì diễn biến ở trên , ta thấy soft sẽ ko
save lại số FS "005147h5Dg5G4mfDfFg6dSFsjfABaT" , vì nếu nó lưu số fake serial
này thì khi ta set year thành 2005 trở lại bình thường như lúc cài đặt soft thì nó phải bắt ta
đăng ký chứ. Đằng này nó lại run như đã đăng ký rồi. Vậy là nó lưu số serial này
"HT5147h5Dg5G4mfDfFg6dSFsjfABaT" chứ ko phải lưu FS nhập sau.
-Mục đích của ta bây giờ là xem soft lưu số serial ở đâu. Thường thì nó lưu trong
Registry hoặc là lưu trên file trong 1 thư mục nào đó.
Trước tiên ta kiểm tra nó có lưu trong Registry ko. Thường để check soft access khóa
Registry nào tui hay dùng RegSpy vì nó dễ sử dụng và rất trực quan. Bật RegSpy lên, vào
menu Action/Run New/ chọn file .exe. Nó thông báo như sau:
FISHING SERIES SERIAL
Page 6/12
-Nhìn vào bảng thông báo, ta thấy ko có khóa nào đặc biệt. Vậy là soft ko lưu serial trong
Registry. Vì sao biết ko có khóa nào đặc biệt? (Newbie hay hỏi thế.) Vì thật ra khi các
bạn dùng RegSpy quen, các bạn sẽ thấy các “khóa” trên hầu hết soft nào cũng access
đến. Đó chỉ là kinh nghiệm của newbie tui. Ko tin các bạn thử 1 soft xem sao.
-Kiểm tra tiếp xem nó lưu serial trong trong file nào. Để đơn giản, tui ko sử dụng
FileMon làm điều này (Hẹn dịp khác chúng ta sẽ tìm hiểu về FileMon), mà tui sẽ set bp
hàm ReadFile trong Olly . Load lại olly, trong hộp command của Olly ta set bp như sau:
bpx ReadFile
Sau đó nhấn F9 để Run,nó sẽ ngắt tại bp hàm ReadFile. Nhìn vào cửa sổ Stack ta thấy :
Tui nghi ngờ đây là file lưu serial. D:\WINDOWS\u2419.log
-Vào thư mục D:\WINDOWS\ xóa file u2419.log .
FISHING SERIES SERIAL
Page 7/12
-Đến đây ta Run chương trình lại xem sao. À , nó kêu reg kìa. Vậy chính u2419.log là file
save serial rồi.
Thấm mệt rồi phải ko các bạn. Chưa đâu, thằng này nó còn “điểu” lắm. Để tiếp tục, ta
close soft lại , và set year là 2005.
- Load Olly lại .Bây giờ ta xóa bp tại hàm ReadFile đi và vẫn giữ bp tại “BP call check”:
00408240 . E8 DB0C0000 CALL Desktop_.00408F20 < ====Set bp (F2)
và Run (F9), nhập FS : 005147h5Dg5G4mfDfFg6dSFsjfABaT
-Nhấn OK,ngắt tại bp “BP call check” . Nhấn F7 để vào hàm call. Thường thì khi
cracking, tui hay trace F8 qua 1 vòng cho đến khi bắn Nag. Chủ yếu là xem có “con cá”
nào ko. Các bạn nên tập thói wen này để rút ngắn tg crack và nhiều khi ta chụp ngay
được hàm mã hóa serial. Vâng, bây giờ chúng ta trace F8 thôi. Go go go.
-Trace qua vài chục dòng lệnh ko xa lắm, ta gặp 1 vòng lặp Loop:
00409070 > /E8 B5B50000 CALL Desktop_.0041462A ; Begin Loop
00409075 . |99 CDQ
00409076 . |F77C24 20 IDIV DWORD PTR SS:[ESP+20]
0040907A . |8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
0040907E . |8B46 FC MOV EAX,DWORD PTR DS:[ESI-4]
00409081 . |8B6E F4 MOV EBP,DWORD PTR DS:[ESI-C]
00409084 . |8D7D 01 LEA EDI,DWORD PTR SS:[EBP+1]
00409087 . |8A1C0A MOV BL,BYTE PTR DS:[EDX+ECX]
0040908A . |B9 01000000 MOV ECX,1
0040908F . |2BC8 SUB ECX,EAX
00409091 . |8B46 F8 MOV EAX,DWORD PTR DS:[ESI-8]
00409094 . |2BC7 SUB EAX,EDI
00409096 . |0BC1 OR EAX,ECX
00409098 . |7D 0E JGE SHORT Desktop_.004090A8
0040909A . |57 PUSH EDI
0040909B . |8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18]
0040909F . |E8 7C83FFFF CALL Desktop_.00401420
004090A4 . |8B7424 14 MOV ESI,DWORD PTR SS:[ESP+14]
004090A8 > |8B4424 1C MOV EAX,DWORD PTR SS:[ESP+1C]
004090AC . |881C2E MOV BYTE PTR DS:[ESI+EBP],BL
004090AF . |48 DEC EAX
004090B0 . |897E F4 MOV DWORD PTR DS:[ESI-C],EDI
004090B3 . |C60437 00 MOV BYTE PTR DS:[EDI+ESI],0
004090B7 . |894424 1C MOV DWORD PTR SS:[ESP+1C],EAX
004090BB .^\75 B3 JNZ SHORT Desktop_.00409070 ; End Loop
004090BD . 8B5C24 34 MOV EBX,DWORD PTR SS:[ESP+34] ; BP after Loop <= Set BP
-Để thóat mau khỏi vòng lặp Loop ta set bp (F2) tại dòng lệnh dưới vòng lặp (addr
004090BD) (Tôi gọi bp này là “BP after Loop”) và nhấn F9.Nó ngắt .
FISHING SERIES SERIAL
Page 8/12
-Bây giờ nhìn vào cửa sổ Stack ta thấy gì nào:
-OH, một con cá nữa chăng! .
0012D4F8 003F8AB0 ASCII "hm47A6E5FSe5SNmJhySRGF5WWFsE4G"
-Bây giờ ta nhấn F9 để nhập lại FS ta vừa câu . ... Nhưng.....nó lại ngắt tại bp “BP after
Loop”. Và nhìn sang Stack, lại 1 con cá nữa.
0012D4F8 003F8AB0 ASCII "5sn6ANMTETiRyGG3Slsm6TFA76FS87"
-Nếu càng nhấn F9 ta câu được cả 1 đàn cá đó :
0012D4F8 003F8AB0 ASCII "lSDeh5DDHyStDmDSH1gDD9fSTHjweF"
0012D4F8 003F8AB0 ASCII "Gd8MwtMjjhS4AmdhEDwas5sSWtFDDh"
0012D4F8 003F8AB0 ASCII "6gaR5TefhBD73hlExGWFSxifJDv7H6"
FISHING SERIES SERIAL
Page 9/12
0012D4F8 003F8AB0 ASCII "EJAtighySNMm74DE4mGHlDGFFHegeR"
0012D4F8 003F8AB0 ASCII "hNW5lDEFdFEj6D4ExGSDGMGDo65xTF"
....v...v...v...
- Vì vậy ta phải bỏ bp tại “BP after Loop”, chứ ko thôi nhấn F9 mệt xỉu mà vẫn ko ra
khỏi chu kỳ của nó.
-Bây giờ đóng Olly lại chạy file ứng dụng (file exe) , và nhập số serial ta vừa tìm được
Ví dụ tui chọn cái thứ 3 ta vừa câu được : FS=
”lSDeh5DDHyStDmDSH1gDD9fSTHjweF”
-Ah-ha, nó chấp thuận rồi. Hy vọng quá. Close ứng dụng lại đi bạn.
-Bây giờ để chắc ăn chúng ta thay đổi year lên 1 năm xem sao (2006).
Má ơi!.Đồ chó chết!. Nó vẫn kêu đăng ký. Tui muốn đá nó 1 cước quá. Tức gòi nhe!.
Grừ grừ grừ. Đây đúng là cú lừa thứ 2.
Rối, rối, rối, rối thật sự.
Bây giờ phải quay lại từ đầu thôi để xem kỹ lại code xem sao.
- Load lại Olly ,bỏ hết bp. Run soft (F9). Nhập fake serial :
005147h5Dg5G4mfDfFg6dSFsjfABaT . Khoan hả nhấn OK. Trở lại Olly , set bp tại
“BP after Loop”. Sau đó nhấn vào nút “OK”. (À các bạn hảy nhớ rằng , máy của ta đang
set year là 2006).
-Nó ngắt tại bp “BP after Loop” đúng ko các bạn. Nhìn xuống đọan code fía dưới ta thấy
như sau:
004090BB .^\75 B3 JNZ SHORT Desktop_.00409070 ; End Loop
004090BD . 8B5C24 34 MOV EBX,DWORD PTR SS:[ESP+34] ; BP after Loop
004090C1 . 56 PUSH ESI
004090C2 . 53 PUSH EBX
004090C3 . E8 30A60000 CALL Desktop_.004136F8
004090C8 . 8B7C24 20 MOV EDI,DWORD PTR SS:[ESP+20]
004090CC . 83C4 08 ADD ESP,8
004090CF . 85C0 TEST EAX,EAX ; BP Magic
004090D1 . 75 14 JNZ SHORT Desktop_.004090E7
004090D3 . 81FF BB020000 CMP EDI,2BB
004090D9 . 7E 0C JLE SHORT Desktop_.004090E7
004090DB . 81FF EF020000 CMP EDI,2EF
004090E1 . 0F8C A0000000 JL Desktop_.00409187
004090E7 > 56 PUSH ESI
004090E8 . 53 PUSH EBX
004090E9 . E8 0AA60000 CALL Desktop_.004136F8
004090EE . 83C4 08 ADD ESP,8
FISHING SERIES SERIAL
Page 10/12
004090F1 . 85C0 TEST EAX,EAX
004090F3 . 0F84 0A010000 JE Desktop_.00409203
004090F9 . 47 INC EDI
004090FA . 81FF E8030000 CMP EDI,3E8
00409100 . 897C24 18 MOV DWORD PTR SS:[ESP+18],EDI
00409104 .^ 0F8C 12FFFFFF JL Desktop_.0040901C
004090F9 . 47 INC EDI
004090FA . 81FF E8030000 CMP EDI,3E8
00409100 . 897C24 18 MOV DWORD PTR SS:[ESP+18],EDI
00409104 .^ 0F8C 12FFFFFF JL Desktop_.0040901C
-Ta chú ý đến 3 dòng lệnh này:
004090D3 . 81FF BB020000 CMP EDI,2BB
004090DB . 81FF EF020000 CMP EDI,2EF
004090FA . 81FF E8030000 CMP EDI,3E8
-Từ đây ta thấy ngòai việc kiểm tra 2 chuổi string FS và string tính được ở vòng lặp phía
trên, soft còn check 1 tham số thứ 2 chứa trong EDI. Vậy tham số này là gì?. Nhìn qua
cửa số FPU ta thấy hiện tại nó = 0. Ko có ý nghĩa suy diễn gì cả. Để tìm hiểu nó là gì , tui
bèn đặt bp trước hàm cmp thứ 1:
004090CF . 85C0 TEST EAX,EAX ; BP Magic
Tui đặt tên bp này là “BP Magic”. Bây giờ tui xóa hết các bp, chỉ chừa lại bp “BP
Magic”. Và nhấn F9 , nó bị ngắt tại bp chúng ta set. Nhìn sang cửa sổ FPU ta thấy
EDI=0. Nhấn tiếp F9, lại ngắt, và EDI=1, cứ thế EDI tăng dần thành 2,3,4,.....
Đến đây thì có manh mối rồi. Ta thử suy diễn như sau :
Vòng lặp Loop sẽ tạo ra 1 Real Serial tạm. Nó đem so sánh với chuổi FS, nếu ko bằng thì
báo “Unsuccessful!”. Còn nếu OK , nó sẽ so sánh tiếp với số thứ tự Real Serial
(IndexRealSerial) mà vòng lặp Loop vừa tạo. Số thứ tự này chứa trong EDI. Với đọan mã
trên ta suy diễn tiếp:
-Nếu IndexRealSerial (chứa trong EDI) <= 2BB : thì là số Serial là dzỏm. Nhưng nó vẫn
thông báo là “Successful!” vậy mới điểu chứ.
-Nếu 2BB< IndexRealSerial (chứa trong EDI)<2FF : Nó chính là số Serail xịn (chúng ta
sẽ check điều này sao).
-Còn nếu : 2EF< IndexRealSerial (chứa trong EDI)<38E : Nó cũng là số Serial dzỏm
luôn, nhưng vẫn báo là “Successful!”
-Cuối cùng, nếu bằng 38E, thì thóat vòng lặp check serial và báo là “Unsuccessful!”
Bây giờ để kiểm tra những suy luận trên có đúng ko. Ta thử câu 1 serial có số index nằm
trong khỏang:
2BB< IndexRealSerial (chứa trong EDI)<2FF
FISHING SERIES SERIAL
Page 11/12
Hê hê, tui chọn Index của Real serial chứa trong EDI=2BF.
Bây giờ Load lại Olly, bỏ hết bp và Run F9, nhập FS :
005147h5Dg5G4mfDfFg6dSFsjfABaT
Khoan nhấn OK.Quay lại Olly, set bp tại “BP Magic”
004090CF . 85C0 TEST EAX,EAX ; BP Magic
Bây giờ nhấn button “OK”. Nó ngắt tại bp ta set. Nếu các bạn siêng năng thì các bạn hảy
ngồi và nhấn tiếp F9 đến 2BF(hex) lần để câu “con cá” này (chắc khỏang vài giờ). Tui thì
ko có khả năng này. Thành thử , tui lấy “cần câu máy” của tui ra để câu hắn. “Cần câu
máy” của tui là gì đây, Hihi , chính là file script này đây các bạn.
Các bạn hảy tạo 1 file : AutoFishing.txt có nội dung như sau:
//AutoFishing.txt :
-----------------------------------
label0:
run
cmp edi,2BF
je label1
jmp label0
label1:
ret
---------------------------------
Các bạn tự tìm hiểu nó nhé. Tut quá dài gòi tui ko giải thích ở đây.
Bây giờ chạy script trên đi bạn. Đốt 1 điếu thuốc mà thưởng thức Olly nó làm việc quần
quật như trâu hihi . ☺
Chờ 1 chút Olly , Script sẽ chạy xong. Ta nhìn vào cửa sổ thấy chuổi RealSerial như sau:
0012D4F8 003F8860 ASCII "if4xGgfj4iHjGGiRB5D4RDD4TWsGsG"
-Bây giờ đóng Olly lại. Và xóa file u2419.log trong thư mục WINDOWS .Chạy thử ứng
dụng (run file .exe). Nhập Real Serial vừa câu vào:
if4xGgfj4iHjGGiRB5D4RDD4TWsGsG
Nó chấp nhận rồi. Ta đóng close ứng dụng lại.
-Để chắc ăn ta thay year thành 2008 (hiện tại máy set à 2006). Check lại xem sao.
FISHING SERIES SERIAL
Page 12/12
OK,OK rồi .
Vậy là những suy luận của ta hòan tòan đúng phải ko các bạn.
Còn bây giờ, ai muốn câu cả đàn cá số Index từ : 2BB< IndexRealSerial (chứa trong
EDI)<2FF
Thì dùng cái script trên mà câu nhé. ☺
Haha vậy là xong . Sao khi ta múa mai quay cuồng, chém tới, chém lui. Thằng soft thì né
qua né lại. Cuối cùng ta cũng chém được nó 1 nhát chết tươi. ☺
Các bạn chú ý trong tut, khi tui nói chạy file exe thì ko nên load ứng dụng lên Olly để
run. Vì khi chạy file exe, ta đóng ứng dụng lại thì soft sẽ save Serial vào file u2419.log.
Còn nhiều khi các bạn load ứng dụng vào Olly giữa chừng, và đóng Olly lại thì soft chưa
kịp save số serial của chúng ta vào file u2419.log. Mà như thế thì.... khó mà suy diễn
diễn biến của soft được.
Các bạn thấy đó, muốn câu cá cũng đâu phải dễ dàng phải ko bạn!. Mệt đứt hơi.
Benina (21/8/2005)
Các file đính kèm theo tài liệu này:
- Fishing Serial Series.pdf