![]()
고즐 개발이나 업무를 하다 보면 반복되는 패턴이 보여서 해당 부분을 해결하기 위해 매크로 프로그램에 대해 관심을 가지고 있었습니다. 유료 프로그램도 있고 무료도 있지만 너무 어렵고 복잡해서 직접 만들어 써봐야겠다고 생각해서 이번에 배우게 된 Python 을 통해 구현하여습니다.
json 타입으로 텍스트로 직접 수정이나 추가 복사가 간편하여 이전에 xml 같은 별도의 형식을 갖추는 것에 비해 파일 구조가 간편합니다.
좌표를 구하는 프로그램과 실행 파일 2가지만 있어 용량도 27MB 밖에 안되어 가볍게 활용할 수 있습니다.
고즐 매크로 서비스 소개 및 개발 배경
개인적 불편함에서 시작된 자동화 프로젝트
고즐매크로(Gozzle Macro)는 개발자가 직접 블로그와 SNS 마케팅 업무를 수행하며 느꼈던 비효율을 해결하기 위해 기획되었습니다. 매일 동일한 이미지를 복사하여 붙여넣고 기본 문구를 입력하는 과정은 단순하지만 많은 시간을 소모하는 작업이었습니다. 이러한 반복 노동을 줄이고 창의적인 업무에 집중하기 위해 윈도우 환경에서 작동하는 경량화된 자동화 도구를 개발하게 되었습니다.
초기에는 개인적인 스크립트 형태로 시작했으나 주변 사용자들의 피드백을 수용하여 범용성을 갖춘 프로그램으로 고도화하였습니다. 특정 업무에 국한되지 않고 사용자가 원하는 대로 시나리오를 구성할 수 있도록 설계하여 확장성을 넓혔습니다. 현재는 마케팅뿐만 아니라 게임, 사무 자동화 등 다양한 분야에서 활용 가능한 솔루션으로 완성되었습니다.
기계적인 움직임을 거부한 개발 철학
기존의 매크로 프로그램들은 기계적이고 직선적인 마우스 이동 경로를 가지고 있어 각종 보안 프로그램이나 시스템에 의해 쉽게 탐지되는 단점이 있었습니다. 고즐매크로는 단순 반복은 기계에게 맡기되 그 움직임은 가장 사람다워야 한다는 철학을 바탕으로 개발되었습니다. 이를 통해 시스템의 제재를 피하고 보다 안전하게 자동화 업무를 수행하는 것을 목표로 합니다.
또한 복잡한 설치 과정이나 무거운 리소스를 요구하는 상용 프로그램과 달리 가볍고 즉각적인 실행이 가능하도록 설계되었습니다. 사용자가 프로그램의 로직에 얽매이지 않고 설정 파일 하나만으로 모든 동작을 제어할 수 있는 유연한 구조를 지향합니다. 이는 개발자가 아닌 일반 사용자도 손쉽게 자신만의 비서를 만들 수 있는 환경을 제공합니다.
프로그램 주요 기능 및 기술적 특징
휴먼 모션 엔진과 탐지 우회 기술
고즐매크로의 핵심 기술은 마우스 이동 경로에 베지에 곡선(Bezier Curve) 알고리즘을 적용한 휴먼 모션 엔진입니다. 기계가 A지점에서 B지점으로 이동할 때 최단 거리인 직선을 그리는 것과 달리, 이 프로그램은 사람의 손처럼 부드러운 곡선을 그리며 가감속을 수행합니다. 이는 보안 프로그램이 봇(Bot)으로 인식하는 패턴을 근본적으로 회피할 수 있는 강력한 기능입니다.
단순한 좌표 이동뿐만 아니라 동작 사이의 대기 시간(Delay)에도 랜덤성을 부여하여 패턴화를 방지합니다. 정해진 시간 간격으로 정확하게 클릭하는 것이 아니라 설정된 범위 내에서 무작위로 시간을 조절함으로써 실제 사용자가 조작하는 것과 같은 데이터를 생성합니다. 이러한 기술적 특징은 티켓팅이나 게임 등 민감한 환경에서도 높은 안정성을 보장합니다.
JSON 기반 설정과 직관적인 오버레이 시스템
프로그램의 유연성을 위해 실행 파일과 설정 파일(key.json)을 분리하는 아키텍처를 채택했습니다. 사용자는 복잡한 코드를 수정하거나 프로그램을 다시 빌드할 필요 없이 메모장으로 JSON 파일만 수정하면 즉시 새로운 매크로를 적용할 수 있습니다. 이는 사용자가 시나리오를 공유하거나 백업하기에 매우 유리한 구조입니다.
사용자 경험(UX)을 고려하여 작업 화면 위에 반투명하게 현재 상태를 표시해 주는 오버레이(HUD) 시스템을 탑재했습니다. 현재 로드된 단축키 정보와 매크로 실행 여부(Ready/Run)를 실시간으로 확인할 수 있어 작업의 편의성을 높였습니다. 또한 전용 레코더 기능을 통해 마우스 좌표를 일일이 찾을 필요 없이 단축키 입력만으로 설정 코드를 자동 생성할 수 있습니다.
활용 분야 및 적용 예시
마케팅 및 사무 자동화 효율 증대
블로그나 인스타그램 등 여러 계정에 동일한 콘텐츠를 업로드해야 하는 마케팅 업무에서 탁월한 성능을 발휘합니다. 폴더 열기, 이미지 선택, 태그 입력 등의 일련의 과정을 단축키 하나로 자동화하여 작업 시간을 획기적으로 단축할 수 있습니다. 실제로 1분 이상 소요되던 반복 작업을 3초 이내로 줄이는 효과를 검증하였습니다.
일반 사무 환경에서도 엑셀 데이터 입력이나 ERP 시스템 등록과 같은 단순 반복 업무(RPA)에 적용할 수 있습니다. 복사 및 붙여넣기 기능과 키보드 타이핑 기능을 조합하면 복잡한 데이터 처리 과정도 실수 없이 빠르고 정확하게 수행합니다. 이는 업무 피로도를 낮추고 생산성을 높이는 데 크게 기여합니다.
게임 보조 및 정밀 작업 수행
장시간 반복적인 조작이 필요한 게임 환경에서도 고즐매크로는 유용하게 사용됩니다. 사냥, 채집, 아이템 제작 등 지루한 반복 플레이를 자동화하여 사용자의 피로를 덜어줍니다. 특히 휴먼 모션 엔진 덕분에 게임사의 매크로 단속을 효과적으로 피할 수 있어 계정 안전성을 확보하는 데 유리합니다.
선착순 구매나 티켓팅과 같이 정해진 시간에 정확한 위치를 클릭해야 하는 작업에서도 활용도가 높습니다. 밀리초 단위의 정밀한 제어와 무한 반복 기능을 통해 사람이 직접 수행하기 어려운 속도와 정확도를 제공합니다. 사용자는 상황에 맞춰 반복 횟수와 대기 시간을 자유롭게 설정하여 최적의 결과를 얻을 수 있습니다.
다운로드 및 사용 가이드
설치 및 실행 방법
고즐매크로는 무설치 포터블 방식으로 배포되어 별도의 인스톨 과정이 필요 없습니다. 배포된 압축 파일을 해제한 후 main.exe 파일을 실행하면 즉시 오버레이 화면이 나타납니다. 함께 제공되는 recorder.exe를 사용하면 원하는 위치의 좌표를 손쉽게 획득하여 설정 파일에 적용할 수 있습니다.
프로그램 실행 시 같은 폴더 내에 있는 key.json 파일을 자동으로 로드합니다. 따라서 사용자는 프로그램을 종료할 필요 없이 설정 파일을 수정한 후 다시 실행하거나 단축키를 통해 변경된 내용을 바로 적용할 수 있습니다. 프로그램 종료는 화면의 닫기 버튼이나 단축키를 통해 간편하게 수행할 수 있습니다.
JSON 설정 파일 작성 예시
설정 파일은 직관적인 구조로 되어 있어 비전문가도 쉽게 수정이 가능합니다. 아래 예시와 같이 트리거 키, 동작(이동, 클릭, 대기, 타이핑), 좌표 등을 정의하여 저장하면 됩니다. 반복 횟수(repeat)와 대기 시간(interval)을 조절하여 무한 반복이나 조건부 실행을 구현할 수 있습니다.
{
"profile_name": "SNS_Upload",
"triggers": {
"f1": [
{ "action": "move", "x": 500, "y": 500 },
{ "action": "click", "button": "left" },
{ "action": "wait", "min": 0.5, "max": 1.0 },
{ "action": "type", "text": "#GozzleMacro" }
]
}
}
위와 같은 코드를 통해 사용자는 자신만의 시나리오를 무한대로 확장할 수 있습니다. 고즐매크로는 단순한 도구를 넘어 사용자의 시간을 벌어주는 강력한 파트너가 될 것입니다. 현재 개인 포트폴리오 사이트인 goz.kr에서 관련 정보를 확인할 수 있습니다.