-
오토핫키] 자신의 스크립트를 난독화 하여 보호하기오토핫키 2023. 3. 8. 07:24
압살맨 오픈채팅 바로가기
압살맨 유튜브 바로가기
시작
우리는 여전히 자신의 스크립트가 타인에게 노출되는 것을 걱정한다.
그래서 난독화를 찾아봤다. 영어로 된 내용을 읽어봤지만 당최 무슨 말을 하고자 하는건지 이해가 안된다.
그냥 딱 쓸 수 있게 구현해놓고 설명 간단하게 싹 해주고 써! 하면 되는데 사이트에 뭐가 존나 많고 초보들은 안되고
어쩌고저쩌고 혀가 길다. 아귀인가?
블로그도 하나 있던데 사진과 내용의 순서가 서로 일치하지 않고 어떻게 쓰라는 내용이 존나 부실하다.
보면 댓글들도 이해 못하는 듯
본문
https://www.autohotkey.com/boards/viewtopic.php?t=49887
여기가 이제 원문.
들어가서 대충 읽어보면
소스가 이렇게 어지럽게 변한다고 설명한다.
명령어나 내장함수 내장변수 등은 건드리지 못하지만 건드릴 수 있는 부분에서는 최대한 건드린다.
https://github.com/DigiDon34/Autohotkey-Obfuscator-L
여기에 들어가서
다운로드 해주고 압축 풀어서 잠시 대기
왜냐면 우리는 앞으로 우리가 난독화를 적용할 우리의 스크립트에 일부 내용들을 작성해줘야 하기 때문이다.
도움
;$OBFUSCATOR: $DYNAMIC_MODE: ;맨 첫줄에 이거 넣어준다. ;$OBFUSCATOR: $DEFGLOBVARS: Var1,Btn1,변수2,변수3 ;난독화 할 변수들을 모조리 적어준다. v라벨 포함 ; 밑에 나열할 4개의 함수를 모두 그대로 적어준다. obf_dumpcommonobjfrags() obf_dumpunclassed() obf_dumpunsecclasses() obf_dumpall() ;밑에 함수내용들도 그대로 적어준다. ;$OBFUSCATOR: $FUNCS_CHANGE_DEFAULTS: ,, -1 obf_dumpcommonobjfrags() { global ;$OBFUSCATOR: $DUMP_SECFRAGS_FORCLASSES: common ;$OBFUSCATOR: $DUMP_TMESSFRAGS_FORCLASSES: common } ;$OBFUSCATOR: $FUNCS_RESTORE_DEFAULTS: ;$OBFUSCATOR: $FUNCS_CHANGE_DEFAULTS: ,, -1 obf_dumpunclassed() { global ;$OBFUSCATOR: $FUNCFRAGS_DUMPCLASS: unclassed ;$OBFUSCATOR: $LABELFRAGS_DUMPCLASS: unclassed } obf_dumpunsecclasses() { global ;$OBFUSCATOR: $FUNCFRAGS_DUMPCLASS: unsecclasses ;$OBFUSCATOR: $LABELFRAGS_DUMPCLASS: unsecclasses } ;$OBFUSCATOR: $FUNCS_RESTORE_DEFAULTS: obf_dumpall() { global ;$OBFUSCATOR: $ALLFRAGS_DUMPALL: } ;마지막으로 난독화를 끝낼 범위를 지정하기 위한 내용 ;$OBFUSCATOR: $END_AUTOEXECUTE:
난독화 할 스크립트에 위 내용들을 추가 해줬다면 이제 따라하자
Start obfuscator.ahk 바로가기를 실행해준다.
이렇게 나오는데 여기서 위에 있는 Create Translations Map 을 클릭
Choose file 을 클릭하면
난독화를 진행할 ahk 파일을 선택할 수 있는데 여기서 내 스크립트를 지정해준다.
그 이후 돌아온 화면에서 Create Translations Map 을 누른다.
밑에 Crawling_TransMap.txt 이라고 되어있는 것은 난독화가 진행된 내용을 정리하는 로그?파일같은 역할이니 뭐 막 적어도 노상관이다. 아마 자동으로 채워질 것이다. 놔두자.
그러면 이렇게 뭐가 뜨고 다시 초기 화면으로 돌아오게 되는데 거기서 두번째에 있는
Obfuscate Source Code 클릭
그러면 이렇게 자동으로 Edit 에 내용들이 채워져있고 우리가 딱히 건드릴 건 없다.
위에 CheckBox 를 선택해서 난독을 강화할 수 있는데 오류가 날 가능성이 커지므로 난 건드리지 않겠다.
직접 하나씩 테스트해봐라 되나 안되나.
Obfuscate Program 클릭
이거랑 뭐 다른 거 뜨고 끝났다는 문구와 함께 초기화면으로 돌아오게 되고 스크립트 폴더로 돌아가면
이렇게 파일이 하나 생성된 것을 볼 수 있다. 열어보자.
전과 후의 차이다.
결론
난독화도 무적은 아니다. 하지만 어느정도 방지를 할 수 있고 의지를 가지고 스크립트를 풀어보려 했던 사람도 전투력이 자연스럽게 하락하는데에 조금이라도 일조할 수 있다.
아 그리고 스크립트 이름이 한글이면 안된다. 영어로 저장해야 한다.
존나 쉽다. 초보도 할 수 있다. 원문에서 얘기하는 것과 한 블로그에 적힌 초보전용이 아니라는 헛소리는 그냥 본인들이 실력을 과시하기 위함이라는 생각밖에 들지 않는다. 봐라 나 같은 초보도 한다.
'오토핫키' 카테고리의 다른 글
오토핫키] Bulls And Cows 숫자야구게임 구현 (0) 2023.07.15 오토핫키] 숫자게임 업&다운 (0) 2023.07.14 오토핫키] 자신의 스크립트를 암호화하여 보호하는 방법 (1) 2023.02.25 오토핫키] WinHttp 를 활용한 네이버 블로그 이메일 추출 (0) 2023.02.09 메이플 무자본 돈벌이! - 수상한 큐브 에픽작 (0) 2023.01.17