003▲ 154 · 댓글 44닌텐도 Wii에서 클래식 Mac OS 부팅 성공한 개발자가 Nintendo GameCube와 Wii의 ArtX 칩셋(Flipper, Vegas 등)을 탑재한 PowerPC 시스템에서 클래식 Mac OS를 포팅하여 데스크톱에 부팅하는 데 성공했으며, CHRP 클론 시대 이후 Apple 외부에서 처음으로 이루어낸 성과다.
오픈소스 · 도구 · My favourite PowerMac is a Nintendo Wii
Nintendo 게임 콘솔의 PowerPC 칩셋에서 1990년대 클래식 Mac OS를 정상 부팅한 것은 역사적인 시스템 포팅 사례로, 레트로 컴퓨팅 개발자와 하드웨어 역학 연구자들에게 의미 있는 기술 성과다.
핵심 요약
한 개발자가 Nintendo GameCube와 Wii의 ArtX 칩셋(Flipper, Vegas 등)을 탑재한 PowerPC 시스템에서 클래식 Mac OS를 포팅하여 데스크톱에 부팅하는 데 성공했으며, CHRP 클론 시대 이후 Apple 외부에서 처음으로 이루어낸 성과다.
OpenBIOS를 포팅하고 Open Firmware 환경에서 부팅하는 'Trampoline' 부트로더를 구동하기 위해 SD Gecko와 EXI-IDE 디스크 드라이버를 개발했으며, 기존 Mac OS ROM 이미지를 FAT 파일시스템에 직접 배치하는 방식으로 초기 테스트를 수행했다.
Trampoline이 가정한 물리 주소 공간 레이아웃이 실제 하드웨어와 맞지 않아 버퍼 주소와 메모리 청크 리스트를 패치했으며, 0x8000_0000 이상의 주소가 메모리 매핑 입출력이라는 가정을 수정하고 RAM 영역의 구멍을 처리하기 위해 0x0100_0000 물리 주소를 0xE000_0000 가상 주소로 매핑했다.
005▲ 106 · 댓글 17스테레오 비전 기능을 갖춘 저가 해킹보드 공개Rockchip RV1103 SoC(단일코어 1.1GHz ARM Cortex-A7, 64MB DDR2 RAM, QFN-88 패키지)를 사용하여 스테레오 비전 보드를 설계했고, 로봇공학 프로젝트의 장애물 회피·항법 용도로 활용할 수 있다.
하드웨어 · 시스템 · I Built a Stereo Vision Board for Hardware Hackers
006▲ 143 · 댓글 53엔비디아 RTX 3000 시리즈, 커널 모듈로 FP/BF16 성능 잠금 해제GPU unlock은 리눅스 커널 모듈로 엔비디아 RTX 3090 Ti, 3090, 3080, 3070, 3060 등 GA102/GA103/GA104/GA106 칩 기반 카드의 FP/BF16 명령어 발급 속도를 전문가용 수준으로 끌어올린다.
하드웨어 · 시스템 · GPU-unlock: FP/BF16 instruction issue rate on Nvidia 3000's cards
008▲ 102 · 댓글 299년 걸린 Xbox 360 해킹, 5파운드 칩으로 단 몇 초면 된다Xbox 360의 보안은 마이크로소프트가 이전 Xbox의 실패를 바탕으로 매우 잘 설계했으며, 1BL 부트로더가 CPU 실리콘에 물리적으로 내장되어 소프트웨어 기반 공격으로는 본질적으로 해킹 불가능했다.
하드웨어 · 시스템 · It took me nine years to hack my Xbox 360
012▲ 113 · 댓글 13아이팟 나노 3세대 용량 업그레이드, 8년 만에 성공2020년부터 시작한 iPod Nano 3G의 NAND 칩 업그레이드 프로젝트가 완성됐다. 용량을 기존 4-8GB에서 16GB로 늘렸으며, 이를 위해 펌웨어 역공학, 부트로더 해킹, NAND 드라이버 패칭까지 다층 작업이 필요했다.
8년간의 펌웨어 역공학, 언어문법 익스플로잇, 칩 호환성 패칭을 거친 하드웨어 해킹 프로젝트로, 정보 은닉된 애플 기기에서 독립적인 수정이 얼마나 도전적인지 보여주는 사례다.
핵심 요약
2020년부터 시작한 iPod Nano 3G의 NAND 칩 업그레이드 프로젝트가 완성됐다. 용량을 기존 4-8GB에서 16GB로 늘렸으며, 이를 위해 펌웨어 역공학, 부트로더 해킹, NAND 드라이버 패칭까지 다층 작업이 필요했다.
처음 NAND 칩을 교체했을 때는 '빨간 X' 에러가 발생했는데, Apple 펌웨어가 특정 NAND 칩만 인정하는 화이트리스트를 가지고 있기 때문이었다. Rockbox 프로젝트에서 상속받은 역공학 자료와 Pwnage 2.0 스택 오버플로우 익스플로잇을 활용해 부트로더 수준의 코드 실행을 확보했다.
EFI 부트로더의 NAND 드라이버 내 칩 ID 테이블을 찾아 새로운 칩의 정보로 패칭했지만 계속 실패했다. 진단 모드를 활용해 NAND ID를 빼내는 데이터 굴수 기법으로 초기화 단계에서 메모리검증(memcmp) 실패를 발견했다.