- HardBreak là một wiki cộng tác miễn phí, tập hợp kiến thức về hack phần cứng và hack IoT vào một nơi, đồng thời sắp xếp các tài liệu rải rác thành cấu trúc tài liệu dễ theo cho người mới bắt đầu
- Hướng dẫn bắt đầu lần lượt đề cập đến việc chọn thiết bị mục tiêu đầu tiên, các công cụ thiết yếu, phương pháp luận và các nghiên cứu tình huống thực tế, giúp hình thành lộ trình nhập môn hack phần cứng
- Tài liệu được chia thành hack phần cứng, phân tích mạng và hack vô tuyến, bao gồm UART, JTAG, SWD, SPI, I2C, voltage glitching, phân tích firmware, cho tới reverse engineering giao thức drone
- Người đóng góp có thể gửi pull request tới kho lưu trữ GitHub hoặc báo cáo lỗi; khi đưa vào nội dung của tác giả khác thì phải tham chiếu nguồn gốc hoặc blog gốc
- Các chiến lược và lời khuyên trong wiki chỉ giới hạn ở mục đích giáo dục và cung cấp thông tin, và cần được kiểm chứng lại cũng như sử dụng có trách nhiệm trước khi áp dụng thực tế
Mục đích của HardBreak và cách truy cập
- HardBreak là một wiki cộng tác miễn phí thu thập kiến thức liên quan đến hack phần cứng / hack IoT tại một nơi
- Mục tiêu là giảm sự bất tiện khi phải tìm thông tin rải rác trên nhiều blog với các định dạng khác nhau, và sắp xếp chúng thành một nền tảng dễ tiếp cận, dễ sử dụng
- Có thể xem toàn bộ chỉ mục tài liệu tại llms.txt, và trang này cũng được cung cấp ở định dạng Markdown
- Cộng đồng thảo luận về hack phần cứng và bảo mật IoT, chia sẻ các dự án đang thực hiện, đồng thời tiếp nhận phản hồi và yêu cầu nội dung wiki trên Discord
- Liên kết mời Discord: https://discord.gg/AWVsKxJHvQ
Cấu trúc tài liệu và phạm vi học tập
- Phần nhập môn hướng dẫn các lựa chọn và quy trình cần thiết khi mới bắt đầu với hack phần cứng
- How to start: chọn thiết bị mục tiêu đầu tiên và các công cụ thiết yếu
- Methodology: phương pháp luận để bắt đầu
- Case Study: nghiên cứu tình huống thực tế
- Phần hack phần cứng được tổ chức xoay quanh cách tiếp cận top-down để khảo sát thiết bị
- Basics: công cụ phần cứng, công cụ phần mềm, các thành phần phần cứng phổ biến
- Reconnaissance: OSINT và phân tích bo mạch
- Interface Interaction: nhận diện và sử dụng các giao thức như UART, JTAG, SWD, SPI, I2C
- Extract firmware using UART: trích xuất firmware bằng giao thức debug
- Voltage Glitching: kỹ thuật vượt qua cơ chế bảo mật
- Analyze Firmware: phân tích firmware
- Phần hack mạng và vô tuyến đồng thời đề cập đến phân tích giao thức và các công cụ không dây
- Drone reverse engineering: reverse engineering giao thức drone
- RTL-SDR, Flipper Zero: công cụ hack vô tuyến
- RFID, NFC: các giao thức không dây và phương pháp hack
Đóng góp và những điểm cần lưu ý khi sử dụng
- Có thể đóng góp bằng cách gửi pull request hoặc báo cáo lỗi tại GitHub repository
- Người đóng góp có thể giúp duy trì độ chính xác của nội dung
- Khi đưa vào nội dung của tác giả khác thì phải tham chiếu nguồn gốc hoặc blog gốc
- Quy trình cho pull request đầu tiên được hướng dẫn tại Contribution Guide
- Wiki được xây dựng dựa trên kiến thức và chủ đích của những người đóng góp, nhưng có thể vẫn có lỗi
- Cần kiểm chứng lại trước khi áp dụng lời khuyên hay chiến lược vào thực tế
- Các chiến lược và lời khuyên trên trang chỉ giới hạn ở mục đích giáo dục và cung cấp thông tin
- Không ủng hộ hay khuyến khích các hành vi bất hợp pháp hoặc phi đạo đức; người dùng phải sử dụng thông tin một cách có trách nhiệm và tự chịu rủi ro
1 bình luận
Ý kiến trên Hacker News
Cảm ơn về wiki này, nhưng từ góc nhìn của một người luôn quan tâm đến hardware hacking mà vẫn bị choáng vì không biết bắt đầu từ đâu, những tài liệu như thế này, đặc biệt là các nghiên cứu tình huống, có vẻ có thể giúp ích rất nhiều
Tuy vậy, khá nhiều phần có cảm giác được tạo bằng LLM, hoặc ít nhất là được LLM viết lại, nên đọc hơi nhạt
Ví dụ, trên trang nghiên cứu tình huống (https://www.hardbreak.wiki/introduction/case-study-led-to-a-...), có hai đoạn gần như giống nhau xuất hiện cạnh nhau; đoạn thứ hai có vẻ là bản gốc, còn đoạn đầu trông như bản LLM viết lại
Tôi không phản đối việc dùng LLM để sửa lỗi chính tả hay trau chuốt câu chữ, nhưng vẫn nên giữ lại giọng văn riêng. Hiện tại nội dung quá nhạt nên không tạo được nhiều động lực để muốn xem tiếp
Nếu hiểu mô hình đang giải thích điều gì, thì việc suy dẫn các công cụ cốt lõi của kỹ thuật điện theo kiểu phòng thí nghiệm vật lý là không thực sự cần thiết
Với AI, đưa rác vào thì rác ra, và điều đó có thể nguy hiểm cho học viên
Mọi học viên nên bắt đầu từ Wave Machines của John Shive: https://www.youtube.com/watch?v=DovunOxlY1k
Một đoạn nói rằng khi tìm tên model “ASUS RT-N12 D1”, họ phát hiện một model tương tự “ASUS RT-N12+ B1” có giao diện UART mở và khả năng truy cập root không cần xác thực; ngay đoạn sau về cơ bản lặp lại cùng nội dung đó với văn phong gần bản gốc hơn
Không phải mã nguồn mở theo nghĩa thông thường
Trong license.md [0], dưới mục “Terms” có ghi: “Exemptions: Commercial Use: For inquiries regarding commercial use, please contact the author.”
[0] https://github.com/f3nter/HardBreak/blob/fd3d2d4cd17624a3f62...
Tôi không thể dẫn nguồn chính xác, nhưng ý chính là thế này: mã nguồn mở, hay chính xác hơn là phần mềm tự do hoặc văn hóa tự do, không phải là khái niệm dành cho người sáng tạo, mà là khái niệm bảo đảm quyền của người dùng được sử dụng tác phẩm theo cách họ muốn, kể cả quyền bán nó
Người ta thường sửa lại rằng đó là “tự do như trong tự do ngôn luận, không phải bia miễn phí”. Vấn đề không phải là nhãn giá, mà cốt lõi là quyền tự do của người dùng, trong đó có cả quyền tự do tái sử dụng cho mục đích thương mại. Nếu có một quyền tự do gần như duy nhất có thể bị hạn chế, thì đó là quyền tự do hạn chế tự do của người khác
Bạn có thể không đồng ý, nhưng lịch sử của các phong trào phần mềm tự do, văn hóa tự do và mã nguồn mở đã tạo nên một phần đáng kể thế giới phần mềm ngày nay là như vậy
Thời điểm rất chuẩn. Gần đây tôi mua micro:bit để học cùng con gái nhỏ; con bé rất thích, nhưng chỉ cần tùy chỉnh những thứ cơ bản nhất trên bo mạch thôi là tôi đã nhanh chóng thấy quá tải
Giờ ngăn kéo của tôi đầy tràn breadboard, kẹp cá sấu, dây jumper, LCD và đủ loại linh kiện điện tử, và tôi đang rất cần hiểu từ căn bản xem tất cả những thứ này hoạt động thế nào
Dù vậy, việc có thể điều khiển linh kiện phần cứng của chính mình bằng code của chính mình thật giống phép màu và rất dễ gây nghiện. Chỉ riêng việc bật LED và lập trình bộ thu hồng ngoại cũng đã đem lại rất nhiều niềm vui
Hay đấy. Tôi sẽ đưa nó vào bộ sưu tập tài liệu embedded
https://hardwareteams.com/docs/embedded/embedded-resources/
Tốt. Sẽ rất hay nếu sau này có thêm cả kỹ thuật circuit bending, thường dùng khi độ lại thiết bị âm nhạc và những thứ tương tự
[1]. https://en.wikipedia.org/wiki/Circuit_bending
https://circuitbending.miraheze.org/wiki/Circuit_Bending
Góp ý nhỏ thôi: nên thêm mô tả trang vào meta/og description[0] để khi liên kết ở nơi khác, người xem biết website này là gì
Chẳng hạn chỉ cần câu như “This page is a free and open-source wiki about hardware hacking!” trong phần nội dung trang là đủ
Tôi dán link lên Slack thì nó chỉ hiện “hardbreak.wiki / Welcome to HardBreak | Hardbreak”, quá ngắn gọn. Có thể phần mềm wiki có thiết lập tự động điền các thẻ này
[0] https://ogp.me/
Có vẻ nó lấy tên trang đầu tiên là “Welcome to HardBreak” rồi thêm tên site “HardBreak” ở cuối
Vì vậy cần đổi tên trang đầu tiên, nhưng một cái tên như “HardBreak - a Hardware Hacking Wiki” sẽ trông hơi kỳ khi hiển thị trong website. Tôi vẫn chưa tìm được giải pháp tốt
Tự quảng bá một chút, nhưng tôi có một tài liệu làm không dùng AI cho những ai muốn bắt đầu phát triển Rockchip SoC: https://danielc.dev/rk/
Tuyệt vời
Tôi luôn làm về bảo mật ứng dụng, nhưng ngày càng quan tâm đến hardware hacking
Tìm qua loa thì thấy tài liệu nằm rải rác khắp nơi, và cách học tốt nhất có vẻ là làm cùng người thật sự biết
Việc gom những hướng dẫn, roadmap và các tài liệu kiểu này vào một chỗ là một nguồn rất tốt, nên tôi chắc chắn sẽ dùng thử
Là nhảm nhí do AI tạo ra
Tốt hơn là ra thư viện công cộng gần nhà và cầm đại một cuốn sách xuất bản trước năm 2020
Thay vì dùng
strings[1] để tìm kiếm, tôi khuyên dùng các công cụrz-bin[2] vàrz-find[3]Chúng linh hoạt hơn, hỗ trợ tìm chuỗi ngoài data section, tìm Unicode và các encoding ít phổ biến hơn, cũng như tìm khóa mã hóa nhúng sẵn
Bản thân Rizin cũng có lệnh tìm kiếm
/. Với entropy thì có histogram tương tác có thể cấu hình, nên hãy xem các lệnhp=vàp==, chẳng hạnp==e[1] https://book.rizin.re/src/search_bytes/intro.html
[2] https://book.rizin.re/src/tools/rz-bin/strings.html
[3] https://book.rizin.re/src/tools/rz-find/intro.html