클린룸 리버스 엔지니어링과 자주 묻는 질문
기본과 범위
클린룸 방식이란 무엇인가요?
클린룸 방식은 한 사람이 제품을 조사해 명세서를 쓰고, 다른 사람이 원본 코드를 보지 않은 채 그 명세서만으로 만드는 문서화된 방법이에요. 상호 운용성을 위해 쓰여요. 법적 보증은 아니니, 의지하기 전에 변호사에게 문의하세요.
CTF 분석에는 무엇이 포함되나요?
CTF(캡처 더 플래그) 대회에서는 학습용으로 만든 연습용 바이너리가 나오고, 각각이 어떻게 동작하는지 알아내서 문제를 풀어요. 분석을 허용하는 규칙의 대회에만 참가하세요. CJK Workbench는 내 도구가 그 바이너리에서 내보낸 리스팅을 읽고 메모를 남겨 줘요. 메모는 파일 하나에 모여요.
분석이 처음이라면 어디서 시작해야 하나요?
보통 첫 대상은 직접 쓴 작은 C 프로그램이에요. 컴파일한 뒤 소스 옆에서 디스어셈블 결과를 읽어 보세요. 8줄 미만으로 유지하세요. 정답을 이미 아는 상태에서 레지스터, 스택, 호출 규약을 배울 수 있어요. 기본기가 익숙해지면 강의나 대회의 연습용 바이너리를 추가하세요.
분석하는 사람들은 필요한 정보를 어떻게 얻나요?
문서, 헤더, 읽을 수 있는 문자열, 가져온 함수 이름이 흔한 정보원이고, 나머지는 호출 규약 참고 자료가 설명해 줘요. CJK Workbench는 web_search로 문서 페이지를 찾고, http_get으로 페이지 하나를 가져오고, 내보낸 텍스트를 grep으로 검색할 수 있어요. 모든 정보원을 확인하세요.
CJK Workbench 사용하기
cjkcode.com은 CJK Workbench 공식 웹사이트인가요?
네, cjkcode.com은 CJK Workbench 공식 웹사이트예요. 원본 빌드만 받고, 실행하기 전에 SHA-256 체크섬을 공개된 매니페스트와 비교하세요. 설치 파일에 아직 코드 서명이 없기 때문이에요. 체크섬부터 확인하세요. 문의는 앱 안의 Send feedback 버튼으로 보내 주세요.
결과가 항상 맞나요?
아니요. 어셈블리 설명과 생성된 스크립트는 틀릴 수 있으니, 모든 결과를 리스팅과 대조하고 수락하기 전에 모든 diff를 읽으세요. Ask first 모드에서는 에이전트가 무언가를 바꾸는 동작 전에 멈춰요. 합법적이라면 랩에서 테스트 실행도 해 보세요.
CJK Workbench는 프로그램을 디스어셈블하거나 실행하나요?
아니요. 디스어셈블 리스팅이나 문자열 출력처럼 내 도구가 만든 텍스트를 읽고, 알 수 없는 프로그램을 언팩하거나 패치하거나 실행하지 않아요. Shell은 내 내보내기 명령이나 사본에 대한 Python 도우미 같은 터미널 명령을 실행하고 실제 종료 코드를 알려 줘요. 믿을 수 없는 것은 격리된 VM에서만 실행하세요.
AI 에이전트는 분석 워크플로에서 어디에 들어가나요?
AI 에이전트는 분석 워크플로, 즉 공부하는 프로그램을 내보내고 읽고 주석을 다는 일상적인 작업에서 디스어셈블러와 메모 사이에 있는 도우미예요. 워크플로에 AI를 도입할 때는 한 단계로 시작하세요. 내보낸 리스팅을 에이전트가 설명하게 하고, 스크립트와 서브 에이전트는 나중에 더하세요. 카드는 실제 결과를 보여 줘요.
모델, 개인정보, 다운로드
파일 텍스트가 내 PC 밖으로 나가나요?
고른 모델에 따라 달라요. 클라우드 모델에서는 에이전트가 읽은 파일 텍스트를 포함한 프롬프트 텍스트가 그 제공업체로 가고, 로컬 모델에서는 아무것도 기기 밖으로 나가지 않아요. 먼저 모델을 고르세요. 도구 출력의 비밀 정보는 모델에 닿기 전에 가려지고, 앱은 텔레메트리를 보내지 않아요.
어떤 모델을 연결할 수 있나요?
세 종류가 동작해요. 표준 API 엔드포인트를 통한 클라우드 AI 제공업체, PC에서 로컬로 실행되는 모델, 그리고 내장 모델이에요. Test 버튼이 엔드포인트를 확인하고 응답 시간과 컨텍스트 창을 보여 줘요. 작업에 맞게 고르세요.
실행하려면 계정이 필요한가요?
아니요. CJK Workbench는 계정 없이 실행할 수 있고, 새 버전이 준비되면 앱에 Update 버튼이 표시돼요. 클라우드 AI 제공업체가 API 요금을 따로 청구할 수 있어요. 다운로드 페이지에서 설치 파일의 SHA-256 체크섬을 공개된 매니페스트와 비교하는 방법을 설명해요.