Thảo luận Code và thuật toán cho Phbot

Status
Không mở trả lời sau này.
Chà! Cái analyze của HCM_Roya làm việc tốt quá. Có 1 điếu là tui chưa hiểu là khi mình nhận cái packet từ server gửi đến thì nó gửi dưới dạng chuổi string hay là hex (vì cái packet sniffer của mình nó hiện tới 2 cái lận)! ::) Đây là packet mình đã mã hóa định dạng dưới dạng gì để gửi đến server! Bạn có thể upsource để phân tích packet từ server và mã hóa packet để gửi đến server cho mình tham khảo dc không :p

Truyền thông thì tất nhiên là chuỗi bit 0, 1 nhưng đơn vị dữ liệu là byte. String hay hex chỉ là cách biểu diễn thôi.
 
Chà! Cái analyze của HCM_Roya làm việc tốt quá. Có 1 điếu là tui chưa hiểu là khi mình nhận cái packet từ server gửi đến thì nó gửi dưới dạng chuổi string hay là hex (vì cái packet sniffer của mình nó hiện tới 2 cái lận)! ::) Đây là packet mình đã mã hóa định dạng dưới dạng gì để gửi đến server! Bạn có thể upsource để phân tích packet từ server và mã hóa packet để gửi đến server cho mình tham khảo dc không :p
Khi gửi đến server đều dưới dạng hex hết, nếu packet chứa đoạn string đều được chuyển từ string thành hex sau đó mới đem đặt vào data của packet rồi gửi đi, tương tự với các string từ server gửi đến, tách lấy đoạn hex rồi đổi thành string.
Nếu chỉ quan tâm đến opcode và sData thì cần tool Analysator, cái này nhiều chức năng hơn Analyzer của revbot.
 

Attachments

Cách tránh vật cản theo tôi đề nghị các thuật toán sau:
1. Tạo 1 timer: tmrGoWhenStuck, cho interval là 1000 ms.
Nhiệm vụ:
Kiểm tra HP của mob select, mỗi giây sẽ cộng 1 cái:
Ví dụ 20s:
if HPMOB = "Max" then
i = i +1
else i = 0
end if
txStuck.text = "i"
Như vậy sẽ có 1 text theo dõi trị giá là i:
Khi txstuck = 20 (tương đương 20s) thì go về 1 tọa độ nào đó (ban đầu hay sang bên cũng được)
Xác suất để 20 lần kiểm tra đều là max là rất thấp.
2. Tương tự kiểm tra tọa độ nhân vật> Tạo 1 tmrToadochange, kiểm tra, trong 20 lần nếu đúng + 1, không phải trở về 0... như vậy sẽ OK.
3. Kiểm tra tình trạng ra skill, nếu skill chưa ra +1, ra rồi = 0.
4. Kiểm tra get Exp , hay MP (dùng skill sẽ mất), không thay đổi +1, thay đổi = 0....
Và còn nhiều nữa....
 
Hội nghị Diên Hồng dạo này xôm tụ quá ta.
Anyway, các bạn đã bắt đầu biêt làm việc teamwork, biết chia sẽ với nhau vậy là quá tốt rồi. Như vậy không lâu nữa sẽ có team tốt phục vụ cho cộng đồng SROVN rồi. Hi vọng ngày càng nhiều thành viên tham gia đóng góp hơn trong một tương lai gần. Ban đầu có thể sẽ có nhiều bạn không biết start từ đâu, nhưng nếu chịu khó tham gia cộng đồng, chia sẽ thông tin cho nhau, từ từ các bạn sẽ có nhiều tiến bộ hơn và có thể tương lai gần sẽ làm được nhiều chuyện lớn hơn nữa.
Mình giờ công việc với mới có con mọn không có thời gian làm cái gì to tát, nhưng thỉnh thoảng cũng sẽ tham gia tán dóc với anh em cho vui nhà vui cửa :D

Happy botting ^_^
 
Mình muốn xem opcode của vsro, để so sánh với isro. Cũng không phải để làm auto login đâu, chỉ đơn giản là muốn xác nhận lại phương pháp trao đổi key mã hóa của sro thôi. Vậy là vsro bây giờ cũng có captcha à. Tưởng là nó không có như hồi trước, cứ gõ password là vào luôn.
 
Phần mã hóa là do nuconnector làm, khi sniff chỉ là dạng hex thôi, sau khi gửi đi, qua nu sẽ được mã hóa nhưng mã hóa thế nào thì ko biết, chỉ biết mã hóa bằng blowfish thôi.
Về phần opcode đăng nhập tôi đã tìm được, phân tích dữ liệu cũng biết cấu trúc rồi, cả opcode chứa id server gửi cho client để thực hiện kết nối cũng có. Vấn đề là thứ tự send để cho server chấp nhận và cái captcha làm sao hiển thị được nó lên.
 
Send cho nó chấp nhận làm gì! Sau khi chứng thực xong vô tới phần chọn Char mình mới bật bot lên có sao đâu! Ko hiểu KR đang muốn làm gì mà quanh quẩn vòng ngoài không biết nữa :D
 
Send cho nó chấp nhận làm gì! Sau khi chứng thực xong vô tới phần chọn Char mình mới bật bot lên có sao đâu! Ko hiểu KR đang muốn làm gì mà quanh quẩn vòng ngoài không biết nữa :D

Có lẽ là bypass verifying code :|. Làm cái autologin. Hoặc làm clientless :devil:.
 
Tôi cũng k hiểu lắm về cái clientless nghe có vẻ hiểu một chút theo nghĩa thôi. Mấy bác giải thích hộ cái này chính xác là gì được k?
 
Cái clientless cũng đang là mục tiêu của tui và Holy. Mấy ngày nay điên đầu. Một phần do bận quá. 2 người : người "mổ", người "kiểm".
Nói cho đơn giản nha : clientless là cái chương trình giả lập client game. Thay gì chạy cái client game nặng ì ạch thì chỉ cần cái clientless nho nhỏ nhưng nhân vật của bạn vẫn online.:hug:
Lúc đó thì cái topic 7ac/pc của Tobelove đem đi ngâm rượu.:D
Hiện nay cả 2 đang cùng nghiên cứu viết cái nu riêng để kiểm soát được quá trình connect.
Ý tưởng của tui như sao :
vẫn chạy nu ( do GVN code ) mở client, mở bot. Sao đó close client đi. Thế là chỉ còn connect giữa bot và server thông qua cái nu.
Nhưng ác cái nuconnect và srproxy hiện nay khi thoát game nó cũng dis luôn connect với server ::(.
 
Việc thoát client sẽ kéo theo việc ngắt kết nối của nu là đúng rồi, vì nu chen giữa client với server, tất cả những gì trao đổi giữa 2 bên đều phải đi qua nó, khi thoát client thì nu cũng truyền tin báo đóng kết nối, 2 đầu đều ngắt thì nó để lại làm gì :D.
Giờ vẫn dùng client nhưng khi đăng nhập hoàn toàn ko động chạm gì đến bàn phím là được rồi (tất nhiên để nhập cái captcha thì vẫn phải mó tay vào). Ngày trước làm đến đây toàn bị lỗi C10, sau đó phát hiện ra là lúc bấm đặng nhập thì client ko kết nối được với server ngay, mà nó chỉ gửi 1 packet lên xin kết nối, sau đó server sẽ gửi lại 1 ID, client sẽ điền số này vào vị trí tương ứng rồi lại gửi đi, lúc này việc kết nối mới được thực hiện.
Tìm được đến đó thì bận quá nên bỏ lại, sau đó thấy nhu cầu về cái pet filter nhiều hơn nên quay sang làm.
 
Hiện h hình như tôi đang có 1 đống database về cái ảnh check đăng nhập (captcha) đó, chưa có thời gian ngồi check lại xem có đúng ko. Để mai ngồi check kỹ lại xem, nếu đúng sẽ đưa lên cho mọi người ngâm cứu . Nếu đúng thì có lẽ nó sẽ mở ra 1 trang mới :'>

P/s: Mai tôi sẽ dọn lại topic này, những bài ko mang tính giá trị lắm sẽ del để cho mọi người dễ theo dõi. Nói trước ko 1 số người bất ngờ
 
Hiện h hình như tôi đang có 1 đống database về cái ảnh check đăng nhập (captcha) đó, chưa có thời gian ngồi check lại xem có đúng ko. Để mai ngồi check kỹ lại xem, nếu đúng sẽ đưa lên cho mọi người ngâm cứu . Nếu đúng thì có lẽ nó sẽ mở ra 1 trang mới :'>

P/s: Mai tôi sẽ dọn lại topic này, những bài ko mang tính giá trị lắm sẽ del để cho mọi người dễ theo dõi. Nói trước ko 1 số người bất ngờ

Cái image verify sau khi login vào server sẽ send về 1 cái encrypted value. Nếu muốn tự động submit verify code thì phải decrypt packet đó để lấy info của cái image. Muốn làm cái này thì gần như phải code lại 1 cái như nuConnector, phức tạp lắm. Nếu muốn làm nên tham khảo bộ 0x33 framework, nó nằm hết trong cái HandShakeAPI class
 
<bon chen>
mudzot cũng mới ngó qua cái framework đó gần đây, encrypt/decrypt cứ bê nguyên class HandShakeApi dùng thì cũng ko cần biết nó hoạt động thế nào , đỡ đau đầu :P . captcha thì theo giang hồ đồn đại nó là ảnh nén với zlib và không có encrypt. Để tự động submit code thì lại chạy sang lĩnh vực OCR nên ko dám tán phét.
</hết bon chen>

Bên isro có cái clientless tên là sr33[cl] do 0x33 làm cách đây mấy tháng, bây giờ vẫn dùng được, phải cái nó bị bỏ rơi, bọn isro nó sửa vài opcode để bắt gọn những ai dùng cái này. Nếu ko có silk thì xác định là bị ban vào thứ 3 hàng tuần. Cách xử lý captcha của nó là tạo ra nguyên file ảnh, người dùng tự nhập vào thôi, chứ cũng không tự động.
 
Demo dùng HandShakeApi, xem trạng thái các server. Cái này rất hữu ích với isro nhưng, không có ích lắm ở vsro vì server ít khi hết chỗ. Nhìn vào Bac Dau với Thai Duong là 2 server to nhất, giới hạn 2700.
serverlist.png

Download: http://mudzot.sro.googlepages.com/vserverlist.zip
Sử dụng: gõ lệnh
list để xem trạng thái hiện tại
auto tự động hiển thị 4s 1 lần
quit thoát.
 
Từ lúc kết thúc map 80 bây giờ mới thấy mudzot xuất hiện :D.
Nhờ cái này mới biết vì sao lúc xưa Song Tử tồi tệ đến thế :|.
 
<bon chen>
mudzot cũng mới ngó qua cái framework đó gần đây, encrypt/decrypt cứ bê nguyên class HandShakeApi dùng thì cũng ko cần biết nó hoạt động thế nào , đỡ đau đầu :P . captcha thì theo giang hồ đồn đại nó là ảnh nén với zlib và không có encrypt. Để tự động submit code thì lại chạy sang lĩnh vực OCR nên ko dám tán phét.
</hết bon chen>

Bên isro có cái clientless tên là sr33[cl] do 0x33 làm cách đây mấy tháng, bây giờ vẫn dùng được, phải cái nó bị bỏ rơi, bọn isro nó sửa vài opcode để bắt gọn những ai dùng cái này. Nếu ko có silk thì xác định là bị ban vào thứ 3 hàng tuần. Cách xử lý captcha của nó là tạo ra nguyên file ảnh, người dùng tự nhập vào thôi, chứ cũng không tự động.

Mudzot có cách nào làm cho Volbot chạy được muticlient k? Nếu làm được bạn bày cách để mình ngồi mò thử xem thế nào nhé :D.
 
Muốn volbot chạy với 2 client, về phía volbot phải sửa cho nó nhận ra và lựa chọn giữa các handle cửa số SRO (hình như có ai đó làm rồi thì phải), không nên dùng srosniffer nữa mà nên cho volbot connect đến nuconnector/multisocket (sửa cổng 41176 trong volbot thành 22580). Vấn đề quy về việc chạy nhiều nuconnector/multisocket, cho nó listen trên các cổng khác nhau. Việc này hình như có thể dùng hex editor patch trực tiếp vào file exe. Tạm thời chỉ nghĩ ra đến thế thôi.

Tiện thể bà con cho hỏi hiện giờ version client của vsro là bao nhiêu? Và opcode của packet đầu tiên client gửi cho server khi vừa log vào là gì (nó gửi ngay sau khi nhận gói tin báo ID của char)
 
Log vào là sau hi chọn char hay sau khi đăng nhập.
opcode báo ID của char là 3020, nếu nó nằm ngay sau thì chỉ việc tìm opcode này sẽ thấy.
Version hiện tại là 1.037
 
Status
Không mở trả lời sau này.
Back
Top