Bài giảng Lập trình an toàn: Chương 7 - Lương Ánh Hoàng
Số trang: 14
Loại file: pdf
Dung lượng: 3.36 MB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Lập trình an toàn - Chương 7: Anti-Tampering" trình bày các nội dung: Phát hiện thay đổi (Detecting modification), che giấu mã (Code hiding), sử dụng con trỏ hàm (Function Pointer), giấu xâu (String hiding), phát hiện debugger (Anti-Debugger) Self-modifying code, giải pháp tổng thể. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình an toàn: Chương 7 - Lương Ánh HoàngChương 7. Anti-‐Tampering Lương Ánh Hoàng hoangla@soict.hut.edu.vn Nội dung 7.1 Phát hiện thay đổi (Detecting modi}ication) 7.2 Che giấu mã (Code hiding) 7.3 Sử dụng con trỏ hàm (Function Pointer) 7.4 Giấu xâu (String hiding) 7.5 Phát hiện debugger (Anti-‐Debugger) 7.6 Self-‐modifying code 7.7 Giải pháp tổng thể 119 7.1 Phát hiện thay đổi mã lệnh • Mục tiêu: Phát hiện chương trình đã bị crack chưa (Detecting modi}ication) • Kỹ thuật: – Tính MD5, SHA1, hoặc HMAC mã lệnh của }ile thực thi. – Đánh dấu một đoạn trong chương trình sẽ dùng để lưu mã băm }ile thực thi và ghi giá trị băm vào đó bằng một chương trình Hex edit khác. – Tại thời điểm runtime tính lại giá trị băm của }ile thực thi và so sánh với mã băm trước đó. • Ví dụ: băm // Khai báo xâu đánh dấu m ã char * md5hash = AAAAXXXXXXXXXXXXXXXX; int _tmain(int argc, _TCHAR* argv[]) { unsigned char hash[16];// Giá trị băm tính được unsigned char expectedhash[16];// Giá trị băm lưu trong }ile FILE * fp = fopen(argv[0],rb);// Mở }ile để tính lại giá trị băm unsigned char * pFile ; fseek(fp,0,SEEK_END); int len = ftell(fp); 120 7.1 Phát hiện thay đổi mã lệnh • Ví dụ: char*)malloc(len); pFile = (unsigned fseek(fp,0,SEEK_SET); fread(pFile,1,len,fp); md5hash = 0; for (int i=0;i
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình an toàn: Chương 7 - Lương Ánh HoàngChương 7. Anti-‐Tampering Lương Ánh Hoàng hoangla@soict.hut.edu.vn Nội dung 7.1 Phát hiện thay đổi (Detecting modi}ication) 7.2 Che giấu mã (Code hiding) 7.3 Sử dụng con trỏ hàm (Function Pointer) 7.4 Giấu xâu (String hiding) 7.5 Phát hiện debugger (Anti-‐Debugger) 7.6 Self-‐modifying code 7.7 Giải pháp tổng thể 119 7.1 Phát hiện thay đổi mã lệnh • Mục tiêu: Phát hiện chương trình đã bị crack chưa (Detecting modi}ication) • Kỹ thuật: – Tính MD5, SHA1, hoặc HMAC mã lệnh của }ile thực thi. – Đánh dấu một đoạn trong chương trình sẽ dùng để lưu mã băm }ile thực thi và ghi giá trị băm vào đó bằng một chương trình Hex edit khác. – Tại thời điểm runtime tính lại giá trị băm của }ile thực thi và so sánh với mã băm trước đó. • Ví dụ: băm // Khai báo xâu đánh dấu m ã char * md5hash = AAAAXXXXXXXXXXXXXXXX; int _tmain(int argc, _TCHAR* argv[]) { unsigned char hash[16];// Giá trị băm tính được unsigned char expectedhash[16];// Giá trị băm lưu trong }ile FILE * fp = fopen(argv[0],rb);// Mở }ile để tính lại giá trị băm unsigned char * pFile ; fseek(fp,0,SEEK_END); int len = ftell(fp); 120 7.1 Phát hiện thay đổi mã lệnh • Ví dụ: char*)malloc(len); pFile = (unsigned fseek(fp,0,SEEK_SET); fread(pFile,1,len,fp); md5hash = 0; for (int i=0;i
Tìm kiếm theo từ khóa liên quan:
Anti-Tampering Bài giảng Lập trình an toàn Lập trình an toàn Phát hiện thay đổi Che giấu mã Sử dụng con trỏ hàm Phát hiện debuggerGợi ý tài liệu liên quan:
-
Phương pháp phát hiện và cảnh báo sự thay đổi của website
7 trang 23 0 0 -
12 trang 22 0 0
-
Bài giảng Lập trình an toàn: Chương 6 - Lương Ánh Hoàng
17 trang 21 0 0 -
Lập trình an toàn trong Java J2EE
5 trang 18 0 0 -
Bài giảng Lập trình an toàn: Chương 3 - Lương Ánh Hoàng
9 trang 16 0 0 -
Bài giảng Lập trình an toàn: Chương 4 - Lương Ánh Hoàng
26 trang 15 0 0 -
Đề cương chi tiết học phần Lập trình an toàn (Programming Security)
8 trang 15 0 0 -
Bài giảng Lập trình an toàn: Chương 2 - Lương Ánh Hoàng
17 trang 15 0 0 -
Bài giảng Lập trình an toàn: Chương 5 - Lương Ánh Hoàng
20 trang 14 0 0 -
Bài giảng Lập trình an toàn: Chương 1 - Lương Ánh Hoàng
28 trang 11 0 0