
파이썬 코드 2.x 및 3.x 난독화
주석, 모든 공백 라인코드 조각/함수/클래스를 항상 다른 값으로 추가$ git clone https://github.com/Hnfull/Intensio-Obfuscator.git
$ python3 -m pip install -r Intensio-Obfuscator/requirements.txt
$ cd Intensio-Obfuscator/src/intensio_obfuscator
$ python3 intensio_obfuscator.py --help
$ python3 -m pip install intensio-obfuscator
$ intensio_obfuscator --help
replace string to string mixed -> -rts, --replacetostrpadding script -> -ps, --paddingscriptreplace file name -> -rfn, --replacefilenamereplace string to hex -> -rth, --replacetohex| 기능 | 설명 | 난독화 목적 | 모든 유형의 파이썬 코드/구문과의 호환성 |
|---|
| 주석 삭제 | 모든 주석 삭제 (이 기능은 기본적으로 실행됨) | 잠재적 행동 정보 삭제 | 높음 파이썬 파일 2 & 3 |
| 공백 라인 삭제 | 모든 공백 라인 삭제 (이 기능은 기본적으로 실행됨) | 코드 가독성 저하 | 높음 파이썬 파일 2 & 3 |
| 빈 클래스/함수 패딩 보정 | 빈 클래스와 함수에 패딩 추가, 클래스나 함수에 주석만 있는 경우 기본 기능인 주석 삭제가 클래스나 함수를 비워둘 수 있으므로 오류 발생을 방지 (이 기능은 기본적으로 실행됨) | 없음, 오류 방지 목적 | 높음 파이썬 파일 2 & 3 |
| 문자열 혼합 대체 | 모든 변수/클래스/함수 이름을 정의된 길이의 무작위 문자열로 대체 | 코드 가독성 저하 - 변수/클래스/함수의 동작 추론 지연 | 낮음 - 높음 (제외해야 하는 이름 수에 따라 다름) 파이썬 파일 2 & 3 |
| 제외 단어 | 단어 제외 파일 (형식은 문서 확인) - replace file name 난독화 기능 전용 | 필요 없는 정보 | 필요 없는 정보 |
| 스크립트 패딩 | 각 줄 뒤에 무작위 스크립트 패딩 추가 | 코드 가독성 저하 - 데드 코드 조각/클래스/함수를 추가하여 프로그램 동작 분석을 흐리게 하고 지연시킴 | 높음 파이썬 파일 2 & 3 |
| 파일 이름 대체 | 모든 파일 이름을 정의된 길이의 무작위 문자열로 대체 | 코드 가독성 저하 - 파일 기능 추론 저하 | 낮음 파이썬 파일 2 & 3 |
| 파일 이름 제외 | 파일 이름 제외 파일 (형식은 문서 확인) - replace file name 난독화 기능 전용 | 필요 없는 정보 | 필요 없는 정보 |
| 문자열 16진수 변환 | 모든 문자를 16진수 값으로 변환 | 코드 가독성 저하 / 예를 들어 grep 명령어로 탐지되는 것을 방지 | 중간 파이썬 파일 2만 |
| pyc 파일 삭제 보정 | 출력 디렉터리의 모든 pyc 파일 삭제 (이 기능은 기본적으로 실행됨) | 난독화되지 않은 채로 이미 컴파일된 파일 삭제 | 높음 파이썬 파일 2 & 3 |
| 혼합 길이 낮음 | -rts, --replacetostr 또는 -ps, --paddingscripts 또는 -rfn, --replacefilesname 또는 -rth, --replacetohex 매개변수가 지정될 때 무작위 문자열 길이를 32 문자로 정의 | 길이가 길수록 코드 가시성이 더 어려워짐 | 필요 없는 정보 |
| 혼합 길이 중간 | -rts, --replacetostr 또는 -ps, --paddingscripts 또는 -rfn, --replacefilesname 또는 -rth, --replacetohex 매개변수가 지정될 때 무작위 문자열 길이를 64 문자로 정의 | 길이가 길수록 코드 가시성이 더 어려워짐 | 필요 없는 정보 |
| 혼합 길이 높음 | -rts, --replacetostr 또는 -ps, --paddingscripts 또는 -rfn, --replacefilesname 또는 -rth, --replacetohex 매개변수가 지정될 때 무작위 문자열 길이를 128 문자로 정의 | 길이가 길수록 코드 가시성이 더 어려워짐 | 필요 없는 정보 |
| 매개변수 | 설명 |
|---|
| -h, --help | 이 도움말 메시지를 표시하고 종료 |
| -i, --input | 소스 디렉터리 - 파일이 포함된 디렉터리 지정 |
| -o, --output | 난독화될 출력 디렉터리 - 파일이 저장될 빈 디렉터리 지정 |
| -mlen, --mixerlength | --replacetostr 또는 --paddingscripts 또는 -rfn, --replacefilesname 또는 --replacetohex 기능이 지정될 때 생성되는 무작위 문자열 길이 정의 [낮음:32|중간:64|높음:128] 문자, 가능한 값: [낮음|중간|높음] |
| -ind, --indent | 파이썬 소스 코드의 들여쓰기 지정, 가능한 값: [2|4|8] |
| -rts, --replacetostr | replace string to string mixed 난독화 기능 활성화 |
| --excludewords | 특정 단어 제외 파일 (형식은 문서 확인) - -rts, --replacetostr 난독화 기능 전용 |
| -ps, --paddingscript | padding script 난독화 기능 활성화 |
| -rfn, --replacefilename | replace file name 난독화 기능 활성화 |
| --excludefiles | 파일 이름 제외 파일 (형식은 문서 확인) - -rfn, --replacefilename 난독화 기능 전용 |
| -rth, --replacetohex | replace string to hex 난독화 활성화 (파이썬 파일 2만) |
| --version | 현재 버전 확인 |
| -v, --verbose | 상세 출력 향상 |