Hack và chống hack trong game Flash

Preview:

DESCRIPTION

in HAFUG809: "Flash & Game"

Citation preview

HACK VÀ CHỐNG HACKTRONG GAME FLASH

Đặc điểm game flash

Game được load về client

Dữ liệu được lưu trên bộ nhớ ram

Cơ chế game lưu điểm

Điểm được tích lũy trong quá trình chơi

Kết thúc quá trình chơi

Lưu điểm trên máy local: lưu vào shareObject

Lưu điểm trên server:

Qua socket: thường áp dụng trong game online

Qua HTTP dùng GET/POST

Load Game Play Game

Game Over

Get Score

Save Score

ShareObject

DataBase

HTTP Server

Server Script

SocketGET/POSTRemote

Chống hack điểm trong game

Chia ra làm 3 quá trình:

Trước khi chơi

Chống can thiệp trực tiếp file flash

Trong quá trình chơi

Chống can thiệp vào dữ liệu đang được lưu trên RAM

Kết thúc quá trình chơi

Hack trong quá trình gửi điểm

CHỐNG CAN THIỆP VÀO FILE FLASH

Chống crossdomain

Chống chạy local

Chống nhúng

Chống loader

Chống dịch ngược

file:///C:/Users/LocLv/Desktop/file_swf512_inline.png

Các phần mềm dùng để decompile

Sothink

Trillix

Giải pháp: dùng các phần mềm encrypt

SWF encrypt

SWF protect

Dịch các file swf thành fla để thay đổi mã lệnh, hình ảnh...

CHỐNG HACK TRONG QUÁ TRÌNH CHƠI

Nguyên lý:

Quét dữ liệu trong bộ nhớ ram

Dựa vào các chỉ số trong game để tìm kiếm, phân loại dữ liệu trong bộ nhớ

Đóng băng bộ nhớ

Thực hiện các sửa đổi để làm tăng lực, tăng điểm... trong game

Các phần mềm thông dụng

CheatEngine

ArtMoney

SWF Money

Giải pháp

Điểm giả

Chống đóng băng tiến trình

CHỐNG HACK KHI GỬI DỮ LIỆU

Dùng các phần mềm, tool để bắt gói tin khi gửi dữ liệu

Phương pháp phổ biến:

Dùng extension Tamper Data của Firefox

Giải pháp

Áp dụng các phương pháp mã hóa dữ liệu gửi đi

Tổng kết game

Tạo chuỗi lưu điểm trong toàn bộ quá trình chơi

Dựa vào kinh nghiệm của người kiểm tra, đặc điểm của từng game, theo dõi và phát hiện những bất thường trong quá trình lưu điểm

Có thể tạo song song 2 chuỗi: chuỗi tổng điểm và chuỗi điểm cộngđể tạo tool autocheck

Việc tổng kết game thường chỉ áp dụng với số điểm của những ngườichơi đang nằm trong top.

Kết thúc!