Chủ đề: Cách chống kill thread cho phần mềm anticheat có cơ chế hoạt động giống một chương trình antivirus?
-
17-02-2013, 08:26 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cách chống kill thread cho phần mềm anticheat có cơ chế hoạt động giống một chương trình antivirus?
Đầu tiên xin cảm ơn các bạn đã chiếu cố, dành thời gian quý báu để ngó qua topic này!
Vấn đề mình muốn thảo luận và xin các bạn giúp đỡ ở đây là làm sao để chống kill một thread do mình tạo ra!
Mình xin mô tả sơ qua cái gọi là phần mềm anti-cheat của mình!
Thực chất nó là một dll được đính kèm với một game online, mỗi khi game khởi động sẽ gọi đến cái dll này, trong dll sẽ gọi lên một vài thread với vài chức năng khác nhau:
-Quét tiêu đề cửa sổ các chương trình đang chạy => phát hiện theo tên (kém chính xác)
-Quét bộ nhớ RAM xem có chương trình cheat nào đang chạy không => phát hiện theo "chữ ký của chương trình" cái này tương tự như cái quét file của phần mềm anti của a Dũng nhưng khác ở chỗ là các offset và đoạn code mẫu lấy khi chương trình được load vào RAM (tức là khác so với ở file chưa thực thi)
Với mỗi phát hiện sẽ dẫn đến thoát Game
Vấn đề ở đây của mình là chỉ cần dùng một chương trình quản lý tác vụ, soi process của game lên, kill bỏ cái thread anticheat là lại cheat ầm ầm được!
Mình đã thử sử dụng cách hide process nhưng cũng không ăn thua vì vẫn có tool có thể chống hide được
Mình có nghĩ đến cách sau mỗi một lượt quét lại tạo một thread mới và kết thúc thread cũ nhưng nếu pause hay suspense cái process game thì vẫn kill thread được như thườngView more random threads:
- lập trình Virus bằng AutoIT. Ai biết không
- Virus conficker Rootkit, cơ chế của nó như thế nào?
- Cách viết một con virus đơn giản?
- Debug xem task manager tắt file bằng hàm api nào
- Viết virus để làm gì?
- Hướng Dẫn Lập Trình Trojan Trên VC++
- học phần mềm có làm được trình duyệt viruts không?
- Bik pass wifi của victim thì có lấy thông tin của victim đc không ?
- [RxBot] Không thêm khóa vào registry đc
- Code virut viết bằng C, tác dụng của nó như thế nào?
-
18-02-2013, 04:19 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi quyen194
-
19-02-2013, 08:37 AM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi quyen194
Khi hook cần tránh các hàm gọi lồng nhau, chương trình bị re-entry, sẽ dump hệ thống.
Còn 1 tình huống khác, bạn bị antivirus nhận nhầm là rootkit.
-
19-02-2013, 10:02 AM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi quangnh89
-
19-02-2013, 05:17 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi quangnh89
Của mình là từ win xp trở lên bạn ạ có thể dùng cái trên hay phải cách khác vậy bạn?[IMG]images/smilies/icon_question.gif[/IMG]
-
20-02-2013, 04:58 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Nếu bạn muốn chống kill thread theo đúng nghĩa thì theo mình biết có một số phương pháp nhưng chủ yếu thực hiện ở kernelmode
1. Hook ssdt function NtTerminateThread
2. Unlink thread list -> Hide thread
.....
Các phương pháp này có thể chống tốt các chương trình từ usermode, nhưng nếu gặp mấy bác powertool, xuetr... thì tắt điện.
Hầu hết các hệ thống anti cheat hiện đại ngày này không sử dụng phương pháp này để chống bị kill. Thay vào đó nó tạo ra một kênh liên lạc riêng với game kiểu kiểu như:
Game: mày có đó không anti cheat?
Anti Cheat: tao có
Game: mày đang làm gì thế?
Anti Cheat: tao đang chơi điện tử
........
Tất nhiên cuộc nói chuyện giữa 2 đứa này đã bị mã hóa rồi, ta không dễ mà hiểu được nó đang nói cái gì với nhau. Nếu ta kill hoặc suppend thằng anti cheat thì thằng anti cheat sẽ không trả lời lại thằng game, do đó thằng game biết thằng anti cheat đã bỏ đi nên nó sẽ bỏ đi theo luôn. Kiểu như chàng không còn thiếp chẳng thiết sống nữa ấy.
Ở mức độ đơn giản thì bạn có thể hiểu như vậy.
-
20-02-2013, 06:32 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Tức là nếu tắt anti Cheat thì game cũng out luôn?
Vậy có thể giả Anti Cheat không nhỉ?
Mình đặt giả thiết vậy, chứ mình chưa sờ đến mấy cái này...
-
21-02-2013, 04:39 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- hà nội
- Bài viết
- 0
Gửi bởi puss
Thật ra game này mình hiện đang không có source [IMG]images/smilies/biggrin.png[/IMG] và làm ra Anticheat thì game cũng không biết đến sự tồn tại của Anticheat vậy nên mình mới phải tìm cách để tự nó có thể chống kill [IMG]images/smilies/biggrin.png[/IMG]
-
12-05-2013, 07:44 PM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Trong game có một vòng lặp vô hạn, thay vì bạn tự tạo thread, hãy lấy thread của chính game để chống, hki đó kill thread chính là kill game.
Chúc bạn may mắn [IMG]images/smilies/smile.png[/IMG]
Vệ sinh cá nhân là một phần quan yếu của sức khỏe nam giới. Dùng dung dịch vệ sinh mỗi ngày mang lại nhiều ích, giúp loại bỏ vi khuẩn và vi sinh vật gây hại, giúp khu vực cơ quan sinh dục luôn sạch...
Gel vệ sinh cu, bạn trai có nên...