※ 이 문서는 뭐 그냥 하면 되지. ()에서 인쇄하였으며,
저작권은 해당 블로그 운영자에게 있습니다.

SciTE4AutoIt3 도움말 우리말 번역본 - SciTE4AutoIt3 Obfuscator

/Autoit/SciTE :: 2009. 4. 4. 18:14

SciTE4AutoIt3 도움말 우리말 번역본 - SciTE4AutoIt3 Obfuscator

Obfuscator.exe 설명

소개:

Smoke_N이 지원을 그만둔 뒤부터 많은 사람들이 Obfuscator 기능을 요구했습니다.

저는 모든 lexing 로직을 포함하고 있는 Tidy 프로그램을 이용하고 있고, Obfuscator를 호출하는 별도의 프로그램을 만들었습니다.

Obfuscator는 코드를 읽기 어렵게 해주지만 실행할 수 있게 해줍니다.:

Obfuscator가 소스를 안전하게 해 주지는 않습니다!
 

자, 이제 몇 가지 해야 할 것들이 있습니다:

  1. Obfuscator를 사용하기 전에 스크립트가 제대로 동작하는지 확인하세요.
  2. Obfuscator를 한 뒤에 생긴 읽기 어려워진 스크립트를 여러번 시험해보세요.
  3. Obfuscator가 스크립트가 제대로 동작하지 않게 만들었다고 불평하지 마세요.
  4. Obfuscator는 스크립트에 비밀번호를 설정하는 것만큼 안전하게 하지는 않는다고 미리 말씀드렸죠?

Obfuscator의 기능:

Obfuscator는 아래와 같은 역할을 합니다.:

  1. 스크립트와 필요한 Include 파일을 읽고 새 소스 파일을 만듭니다.:
    1. 변수 이름을 새로 만듭니다.
    2. 함수 이름을 새로 만듭니다.
    3. 문자열을 변수로 변환합니다.
    4. 값을 숫자(변수)로 변환합니다.
    5. 매크로를 실행(변수)으로 변환합니다.
    6. 아래 AutoIt3 함수와 엠퍼센트(&)를 포함한 매개변수를 사용하면 사용한 파일/함수/줄에서 경고를 보냅니다. 이들을 사용하면 스크립트의 기능을 무력화시키기 때문입니다.:
      1. adlibenable()
      2. call()
      3. eval()
      4. Execute()
      5. guiregistermsg()
      6. guisetonevent()
      7. guictrlsetonevent()
      8. hotkeyset()
      9. isdeclared()
      10. trayitemsetonevent()
      11. objevent()
      12. Opt("OnExitFunc","OnAutoItExit")
         
  2. 문제가 생기면 변환과정에 관한 모든 정보를 포함한 Obfuscator.log 파일을 만듭니다.

지원하는 커맨드라인 명령어와 컴파일러 지시어:

아래는 커맨드라인이나 지시어에서 지원하는 매개변수 목록입니다.:

 #Obfuscator_Parameters=:

  • /CV 또는 /Convert_Vars=0       ; 변수를 암호화하지 않음. (기본값 = 1)
  • /CF 또는 /Convert_Funcs=0      ; 함수 이름을 암호화하지 않음. (기본값 = 1)
  • /CS 또는 /Convert_Strings=0    ; 문자열을 암호화하지 않음. (기본값 = 1)
  • /CN 또는 /Convert_Numerics=0     ; 숫자를 암호화하지 않음. (기본값 = 1 )
  • /SO /StripOnly               ; 다음처럼 설정: /SF /SV /CV=0 /CF=0 /CS=0 /CN=0
  • /SOI /StripOnlyIncludes      ; /SO와 같지만, 주 스크립트는 그대로 둡니다.
  • /OM 또는 /ObfuscateMinumum    ; 파일을 더 작게 만듦.
  • /SF 또는 /StripUnusedFunc      ; 주 스크립트에서 사용하지 않는 함수 제거. (기본값 = 0)
  • /SV 또는 /StripUnusedVars      ; 사용하지 않는 전역 변수 선언줄을 삭제. (기본값 = 0)
  • /SCI 또는 /showconsoleinfo 0   ; 최소 결과를 기본으로 콘솔로 보냄; 경고와 오류.
  • /SCI 또는 /showconsoleinfo 1   ; 자세한 진행과정을 보여줌.
  • /SCI 또는 /showconsoleinfo 9   ; Obfuscator.log에서 찾은 모든 디버그 라인을 보여줌.
  • /Beta                        ; AutoIt\Beta\Include 파일 사용

  

#Autoit3Wrapperr_Run_Obfuscator=y                ; 컴파일하기 전에 Obfuscator 실행. 기본값=n

#Obfuscator_Parameters= /Convert_Strings=0 /Convert_Numerics=0 /showconsoleinfo=1 /Beta

#Obfuscator_Off                                            ; 이 줄부터 Obfuscation 과정을 멈춤

#Obfuscator_On                                            ; 이 줄부터 Obfuscation 과정을 시작

#Obfuscator_Ignore_Funcs=                            ; 해당 함수를 변환하지 않음.

#Obfuscator_Ignore_Variables=                        ; 해당 변수를 변환하지 않음.

 

Obfuscator 실행하기:

Obfuscator를 실행하기 위해서는

  1. 수동: 다음 부분을 SciTEUSer.properties에 추가하세요.
     
    command.46.*.au3="$(SciteDefaultHome)\Obfuscator\Obfuscator.exe" "$(FilePath)"
    command.name.46.*.au3=Obfuscator
    command.save.before.46.*.au3=1
    command.is.filter.46.*.au3=1
    command.shortcut.46.*.au3=Ctrl+Shift+O
  2. 일괄 처리: Obfuscator.exe Scriptname.au3
  3. SciTE에서 F7이나 Ctrl+F7(컴파일)를 누르고 아래 컴파일러 지시어로 활성화 시킵니다.:
     
    #Compiler_Run_Obfuscator=y                 ; 컴파일하기 전에 Obfuscator를 실행시킵니다. 기본값=n

AutoIt3Wrapper는 원본 소스에 대해서 Au3Check를 먼저 실행시키고 오류가 없으면 Obfuscator를 실행시켜 모든 #include 파일 정보를 포함한 암호화된 소스 파일(Scriptfile_Obfuscated.au3)을 만듭니다. .

변환 도중에 잘못된 부분이 있는지 확인하기 위해서 AU3Check를 통해 이 파일을 실행시킵니다.

그런 다음 Scriptfile_Obfuscated.au3은 AUT2EXE를 이용하여 프로그램을 만듭니다


AutoIt3 Source Obfuscator v?.?.?.? Copyright (c) Jos van der Zande  date
-### Obfuscation Warning: Found Eval() statement which will lead to problems running your script.
-### current Func:_ArrayCreate
C:\Program Files\AutoIt3\include\array.au3(101,1) Warning for line:$av_Array[$i_Index] = Eval("v_" & String($i_Index))
-### Obfuscation Warning: Found IsDeclared() statement which could lead to problems running your script.
-### current Func:_About

c:\program files\autoit3\scite\csnippet\csnippet.au3(2182,1) Warning for line:If Not IsDeclared('Cadet_Blue_3') Then Local $Cadet_Blue_3 = 0x7AC5CD
-############################################################################################
-#### Obfuscator Found 2 warning(s)!!!!   This means your script could not run properly. ####
-############################################################################################

+Obfuscator finished obfuscating 4025 lines and created:c:\program files\autoit3\scite\csnippet\csnippet_Obfuscated.au3
블로그의 글과 그림, 첨부파일의 복제, 재배포를 금지합니다. =>  자세히 보기
티스토리 초대장 필요하신 분은 댓글남겨주세요.
give start - 굿네이버스 - 사랑의 열매 - 아름다운재단 - 어린이재단 - 유니세프
굿네이버스 배너
사랑의 열매 배너
아름다운 재단 배너 어린이 재단 배너 유니세프 한국위원회 - 배너