Cleanroom reverse engineering và các câu hỏi thường gặp khác
Kiến thức cơ bản và phạm vi
Cleanroom reverse engineering là gì?
Cleanroom reverse engineering là phương pháp có tài liệu hóa, trong đó một người nghiên cứu sản phẩm và viết đặc tả, còn người thứ hai xây dựng từ đặc tả đó mà không nhìn mã gốc. Nó được dùng cho khả năng tương thích. Đây không phải bảo đảm pháp lý, nên hãy hỏi luật sư trước khi dựa vào nó.
CTF reverse engineering gồm những gì?
Một cuộc thi CTF (capture-the-flag) cung cấp các tệp nhị phân luyện tập được làm để nghiên cứu, và bạn tìm hiểu từng tệp hoạt động ra sao để giải thử thách. Chỉ tham gia những cuộc thi có luật cho phép dịch ngược. CJK Workbench đọc các listing mà công cụ của bạn xuất từ các tệp nhị phân đó và giữ ghi chú của bạn. Ghi chú nằm trong một tệp.
Tôi mới học dịch ngược thì nên bắt đầu từ đâu?
Mục tiêu đầu tiên thường là một chương trình C nhỏ do chính bạn viết: biên dịch nó, rồi đọc disassembly cạnh mã nguồn. Giữ dưới 8 dòng. Cách đó dạy bạn thanh ghi, stack và quy ước gọi hàm ở nơi bạn đã biết đáp án đúng. Hãy thêm tệp nhị phân luyện tập từ một khóa học hoặc cuộc thi khi các kiến thức nền đã quen thuộc.
Những người dịch ngược lấy thông tin cần thiết bằng cách nào?
Tài liệu, tệp header, chuỗi đọc được và tên hàm được nhập là các nguồn thường dùng, còn tài liệu tham khảo về quy ước gọi hàm giải thích phần còn lại. CJK Workbench có thể tìm trang tài liệu bằng web_search, lấy một trang bằng http_get và tìm trong văn bản đã xuất của bạn bằng grep. Hãy kiểm chứng từng nguồn.
Sử dụng CJK Workbench
cjkcode.com có phải trang web chính thức của CJK Workbench không?
Có, cjkcode.com là trang web chính thức của CJK Workbench. Chỉ tải bản gốc và so sánh checksum SHA-256 với bản kê khai đã công bố trước khi chạy, vì trình cài đặt chưa được ký mã. Hãy kiểm tra checksum trước. Câu hỏi được gửi qua nút Send feedback trong ứng dụng.
Kết quả có luôn đúng không?
Không. Phần giải thích assembly và các script được tạo ra có thể sai, vì vậy hãy xác nhận mọi kết quả với listing và đọc mọi diff trước khi chấp nhận. Ở chế độ Ask first, agent dừng trước các hành động thay đổi thứ gì đó. Khi hợp pháp, hãy thêm một lần chạy thử trong phòng lab.
CJK Workbench có disassemble hoặc chạy chương trình không?
Không. Nó đọc văn bản do chính công cụ của bạn tạo ra, như listing disassembly và kết quả chuỗi, và không giải nén, vá hay chạy chương trình lạ. Shell chạy các lệnh terminal như lệnh xuất của chính bạn hoặc trình hỗ trợ Python trên bản sao, và báo mã thoát thực sự. Chỉ chạy bất cứ thứ gì không đáng tin trong VM cô lập.
AI agent nằm ở đâu trong quy trình dịch ngược?
AI agent là người trợ giúp nằm giữa disassembler và ghi chú của bạn trong quy trình dịch ngược, tức là chuỗi việc xuất, đọc và chú giải một chương trình bạn đang nghiên cứu. Khi đưa AI vào quy trình dịch ngược, hãy bắt đầu từ một bước: nhờ agent giải thích một listing bạn đã xuất, rồi thêm script và sub-agent sau. Các thẻ hiển thị kết quả thật.
Mô hình, quyền riêng tư và tải xuống
Văn bản tệp của tôi có rời khỏi PC không?
Câu trả lời phụ thuộc vào mô hình bạn chọn. Với mô hình đám mây, văn bản prompt, bao gồm cả văn bản tệp mà agent đọc, đi tới nhà cung cấp đó; với mô hình cục bộ thì không có gì rời khỏi máy. Hãy chọn mô hình trước. Bí mật trong kết quả công cụ được che đi trước khi tới mô hình, và ứng dụng không gửi telemetry.
Tôi có thể kết nối những mô hình nào?
Có ba loại: nhà cung cấp AI đám mây qua endpoint API chuẩn, mô hình chạy cục bộ trên PC của bạn và mô hình tích hợp sẵn. Nút Test kiểm tra endpoint và hiển thị thời gian phản hồi cùng cửa sổ ngữ cảnh. Hãy chọn theo từng nhiệm vụ.
Tôi có cần tài khoản để chạy không?
Không. Bạn có thể chạy CJK Workbench mà không cần tài khoản, và ứng dụng hiển thị nút Update khi có phiên bản mới. Nhà cung cấp AI đám mây có thể tính phí API riêng. Trang tải xuống giải thích cách so sánh checksum SHA-256 của trình cài đặt với bản kê khai đã công bố.