Chào mọi người ạ.
Hiện tại em đang tập tành viết tool auto bằng c# và đã thành công đối với các app có thể tìm class bằng spy++.
Em có 1 thắc mắc là nếu app đó mình không thể dùng spy++ ( vd: telegram) thì làm cách nào để xác định vị trí mình cần click ạ.
Em cám ơn mọi người ạ.
Thắc mắc viết tool auto bằng c#
Tự mò thôi.
Các ứng dụng dùng được Spy++ do nó sử dụng các điều khiển (Control) có sẵn của Windows. Tất nhiên là có nhiều ứng dụng không thích thế, nên họ tự vẽ ra các điều khiển riêng của họ.
Việc của bạn là xác định tọa độ của thứ bạn cần nhấn và gửi thao tác đến cửa sổ chính.
em cũng nghĩ đến sẽ dùng tọa độ và tìm kiếm bằng hình ảnh nhưng sợ độ chính xác ko cao ạ
Tất nhiên là còn một vài cách có độ chính xác cao hơn.
- Bạn có thể dùng đến các công cụ gỡ lỗi trực tiếp như ollydbg để đọc mã nhị phân của ứng dụng đang chạy, xác định nó đang làm gì, cấu trúc dữ liệu ra sao, rồi tiêm (inject) đoạn mã của bạn vào.
- Xâm nhập máy tính của người tạo ra ứng dụng đó, sửa mã nguồn theo cách bạn muốn.
Cách 1 cũng không khó gì, chỉ cần bạn hiểu rất rõ về mã máy (nhị phân) và Assembly (của hạ tầng window) là đủ.
Còn cách 2 thì bạn làm hacker mũ đen là được.
Đó là cách chính xác không cần chỉnh.
Mà một số ứng dụng có hỗ trợ API đấy, thao tác qua API thì mới thực sự chuẩn.
Với telegram thì họ hay dùng luôn Telegram API.
Có sẵn thư viện giúp giảm thiểu sự phức tạp việc kết nối API, ví dụ TLSharp.