프로그램마다 입력을 읽는 층이 다릅니다. 위쪽에서 넣은 신호가 아래쪽만 보는 프로그램에는 안 보입니다. 그래서 바꿔 가며 맞춥니다.
| 방식 | 어떻게 넣나 | 이길 때 | 질 때 |
|---|---|---|---|
| Win32 | 윈도우 입력 큐에 넣는다 (SendInput) | 거의 전부. 기본값이고, 바꿀 이유가 없으면 이것 | DirectInput 게임 |
| 게임 - 스캔코드 | 키의 물리적 위치 번호를 보낸다 | DirectInput 게임의 키보드. W 를 보내도 안 움직일 때 | 커서를 가두는 게임의 시야 |
| 게임 - 상대이동 | 좌표가 아니라 움직인 양을 보낸다 | 1인칭 게임 시야. 커서를 화면에 가두는 게임 | 일반 프로그램 (커서가 안 맞는다) |
| 아두이노 | USB 에 꽂은 진짜 키보드·마우스 | UAC 창, 잠금 화면, BIOS, 안티치트가 도는 게임 — 주입이 원천 차단되는 자리 | 한글 입력, 보드가 필요함 |
고르는 순서 — Win32 → (키가 안 먹는 게임이면) 스캔코드 →
(시야가 안 돌면) 상대이동 → (UAC·잠금화면·안티치트면) 아두이노
안티치트가 도는 게임은 소프트웨어 입력이 통째로 막힙니다.
방식을 아무리 바꿔도 안 먹고, 오류도 안 납니다 — 그냥 아무 일이 안 일어납니다.
그 자리에서는 아두이노만 통합니다.
예전에 있던 기본 은 없앴습니다. 커서를 옮기기만 해서
안 먹히는 프로그램이 너무 많았고, 되는 곳에서는 Win32 도 똑같이 됩니다.
- 텍스트 입력은 게임에서 잘 안 됩니다. 붙여넣기는 유니코드로 넣는데(자판 배열과 무관해 한글에 강합니다) DirectInput 게임은 그걸 무시합니다. 게임 안에서는 한 글자씩 키로 보내야 합니다.
- 안티치트가 거르면 그대로 안 됩니다. 여기 쓰는 것은 전부 윈도우 공개 API 입니다. 보호를 우회하거나 숨기지 않습니다. 아두이노가 유리한 자리는 "OS 가 주입을 막는 곳"이지 "프로그램이 입력을 검사하는 곳"이 아닙니다.
- 지금 무엇이 되고 있는지는 입력 방식 옆 상태에 뜹니다. 아두이노면 포트와 정확도, 상대이동이면 이 PC 에서 잰 배율이 보입니다.
목록은 지금 큰 화면 PC 가 지원하는 해상도입니다. 다른 PC 가 지원하지 않으면 그 PC 만 바뀌지 않습니다. 바꾸기 전에 Windows 에 먼저 묻고, 된다고 할 때만 바꿉니다. 바꾼 해상도는 다시 켜도 유지됩니다.
| 이름 | 동작 | 길이 | 랜덤 | 만든 사람 |
|---|
| 이름 | 매크로 | 대상 | 언제 | 다음 | 최근 결과 |
|---|
| 이름 | 크기 | 수정일 |
|---|
전송 목록
| PID | 이름 | 사용자 | CPU % | 메모리 | 상태 |
|---|
뒤에 다시 시작합니다. 그 사이 예약 취소로 물릴 수 있고, 그 PC 앞에 사람이 있으면 윈도우가 경고창을 띄웁니다.
| 컴퓨터 | 내부 IP | MAC | 어댑터 | 공인 IP | CPU | 판 |
|---|
동시 조작
큰 화면에서 한 입력이 따라가는 PC 에 들어갈 때만 겁니다. 큰 화면 PC 는 손 그대로 갑니다. 바꾸면 바로 적용되고 이 브라우저에 기억합니다.
매크로
매크로를 실행할 때 서버가 PC 마다 겁니다. 실행한 값은 그 매크로에 저장되어 예약도 이 값으로 돕니다.
값 고르는 법
- 랜덤 픽셀은 그 PC 화면의 픽셀입니다(콘솔 화면 크기와 상관없음). 소수도 됩니다 - 커서는 정수 픽셀로만 움직이므로 0.3 이면 대부분 0, 가끔 ±1 로 들어가 평균 0.15px 쯤 어긋납니다(축마다 설정의 절반).
- 정확도가 중요한 게임: 랜덤 픽셀 0.3~3 · 랜덤 경로 3~8 이 무난합니다.
- 랜덤 배회는 랜덤 지연이 있을 때만 움직입니다(클릭이 0.25초 이상 늦춰질 때). 지연을 넉넉히(예: 300~1500ms) 주면 자연스럽습니다.
- 랜덤 지연은 누를 때마다 더해져 실행이 그만큼 길어집니다. 누름 길이는 짧은 연타를 길게 만듭니다.
간편 설치 (여러 대를 한 번에)
등록 코드를 하나 만들면, 모든 PC 에 같은 설치 파일을 써도 각 PC 가 자기 전용 토큰을 받아갑니다. 코드는 정해진 시간·횟수만 유효합니다.
기간·횟수 제한을 없애면 계속 살아 있는 열쇠가 됩니다. 새어 나가면 그것을 아는 누구나 장비를 목록에 밀어 넣을 수 있습니다(기존 장비를 조작하지는 못합니다 — 콘솔은 따로 로그인해야 합니다). 언제든 사용 중지로 즉시 끊을 수 있고, 누가 언제 어디서 썼는지는 감사 로그에 남습니다.
관리자 권한으로 도는 프로그램은 일반 권한 입력을 받지 않습니다(윈도우 UIPI). 게임 런처(C2SLauncher)가 관리자 권한으로 돌아서 기본으로 켜 둡니다 - 끄고 설치한 PC 는 게임 창이 조작되지 않습니다(목록에 '일반 권한' 이 뜹니다). 켜면 설치 파일을 오른쪽 클릭 → 관리자 권한으로 실행하고 UAC [예] 를 눌러야 하며, 그 PC 에서 에이전트가 할 수 있는 일의 범위가 넓어집니다.
- 아래 설치 파일을 받아 제어할 PC 로 복사합니다. (모든 PC 공통)
- 그 PC 에서 더블클릭합니다. 입력할 것이 없습니다.
- 끝입니다. 자동 시작까지 등록되고 목록에 나타납니다.
받은 파일에는 살아 있는 등록 코드가 들어 있습니다. 유효 기간이 끝날 때까지는 비밀번호처럼 다루세요.
관리자용 프로그램
브라우저 대신 쓰는 데스크톱 콘솔입니다. 받은 파일에는 서버 주소가 이미 들어 있어 실행하면 바로 연결됩니다. 등록 코드 같은 비밀은 들어 있지 않습니다.
발급된 등록 코드
| 코드 | 남은 횟수 | 만료 | 발급자 | 상태 |
|---|
등록된 장비
같은 PC 를 다른 등록 코드로 다시 설치하면 새 줄이 생깁니다
(뒤에 -2, -3 이 붙습니다). 꺼져 있는 줄만 지울 수 있고,
지금 켜져 있는 장비는 지워지지 않습니다 — 지워도 다음 접속에 다시 생기니까요.
여기서 지워지는 것은 이 목록의 줄뿐입니다. 장비는 자기 토큰으로 접속하므로
등록을 지워도 연결이 끊기지 않고, 붙여 둔 번호도 그대로입니다.
| 장비 | 번호 | 실제 이름 | 상태 | 지금 IP | 등록 IP | 등록 시각 |
|---|
한 대만 직접 등록
장비 이름을 넣으면 그 장비 전용 토큰과 설정 파일을 만들어 줍니다. 토큰은 장비마다 다르므로, 한 대가 유출돼도 나머지는 안전합니다.
| 사용자 | 역할 | 2단계 | 상태 | 생성 |
|---|
| 사용자 | 역할 | 접속 IP | 로그인 | 마지막 활동 |
|---|
| 시각 | 사건 | 사용자 | 장비 | 내용 |
|---|