더미다 2.4.6.0
먼저 본론으로 들어가기전에,대부분의 내용은 asecurity.so에서 가져왔습니다. 설명이 빠진걸 추가로 넣었습니다.
현재 3.0이 베타로 나왔습니다만, 베타라 그런지 아직까지 2.4.6.0보다는 기능이 없더군요.(삭제된건 아닐테고..)
패커겸 프로텍터로 더미다가 가장유명합니다. 배틀그라운드,카카오톡,메이플스토리 등 유명한 애플리케이션들은 대부분 더미다를 사용하더군요.
Application Infomation
적용할 파일 및 파일정보를 볼 수 있는 기본탭입니다.
1.Application - 프로그램 이름입니다. Get from version info를 체크하게되면 어셈블리 정보에서 이름을 가져옵니다.
2.Version - 프로그램 버전입니다. Get from version info를 체크하게되면 어셈블리 정보에서 버전을 가져옵니다.
3.Input Filename - 패커 겸 프로텍터를 걸 바이너리 파일입니다.(Exe,Dll은 되는데 다른건 못해봤네요.)
4.Output Filename - 결과물을 해당경로에 저장됩니다. 기본적으로 Same as input이 체크되어 있으며 Input Filename과 Output Filename이 동일합니다.
5.File Size - Input Filename의 파일 크기입니다.
6.File Infomation - 파일 정보입니다. 파일타입(C/C++인지 .Net인지),마지막으로 수정된 날짜등 여러가지 파일 정보가 나옵니다
Protection Options
Application Infomation -> Input Filename의 보호 옵션을 설정할 수 있는 탭입니다.
1.Anti-Debugger Detection - 안티 디버깅 기능을 조절할 수 있습니다. “Ultra”로 설정하면, 바이러스, 루트킷 등의 설치여부도 감지하게 됩니다.
2.Anti Dumpers - 메모리 덤프를 생성할 수 없도록 막습니다.
3.Entry Point Obfuscation - Entry point를 제거하고 암호화합니다.
4.Resources Encryption - 파일에 들어가는 리소스 파일을 암호화합니다.
5.VMware/Virtual PC - 가상환경에서 실행이 가능하도록 할지 설정합니다. 체크시 실행 가능합니다.
6.Advanced API-Wrapping - API를 호출할 때 분석이 어렵도록 여러 번 포장합니다.
7.Anti-Patching - 파일에 대해 수정을 막습니다.
8.Taggant Information - 암호화 서명인데 검색해도 잘안나옵니다.(https://en.wikipedia.org/wiki/Software_taggant),(http://standards.ieee.org/develop/indconn/icsg/taggant.pdf)
9.Memory Guard - 메모리상에서 수정하는것을 막습니다.
10.Compression - 압축할 항목입니다. 체크하면 압축이 됩니다.
11.Monitor Blockers - Monitor 프로그램을 감지합니다.
12.Delphi/BCB form Protection -델파이를 안써봐서 모르겠습니다만 폼(?)보호 같습니다. 델파이가 아니더라도 체크하셔도 무방합니다.
13.When Debugger Found - 디버거 발견시 어떻게 할건지 선택할 수 있습니다.
● Display Message - Customized Dialogs 탭에 MsgID1의 문자열을 출력합니다.
● Exit Silently - 프로그램을 자동 종료 합니다.
● Crash Application - 고의적으로 프로그램을 충돌시키는것 같습니다.(한번도 안써봤네요.)
Protection Macros
매크로 탭입니다.
앞서 진행한 맵 파일을 통해 매크로를 찾은 후 해당 매크로를 보호해 주는 기능입니다.
Virutal Machine
가상 머신 탭입니다.
더미다는 프로세스 보호를 위한 보호 기법 중 VM(Virtual Machine) 기반으로 보호를 진행하게 됩니다. 이 가상 머신에 대한 설정을 아래 옵션을 통해 조절할 수 있습니다.
1.Automatic handling of Virtual Machines - 이용할 수 있는 가상머신을 자동으로 체크해줍니다. 만약 체크를 해제한다면 수동으로 선택이 가능합니다.
2.Force Integrity Checks - 번역기로는 "무결성 검사 수행" 이라는데 아마 문제가 있는지 없는지 확인해주는것 같습니다.
Customized Dialogs
더미다에서 발생한 오류창의 내용을 기본값에서 수정할 수 있는 옵션탭입니다.
기본적으로 보호모드에 해킹도구나, 디버깅도구를 탐지하였을 때 나타납니다. 회사에서 이용한다면 이 메시지 정책에 맞게 변경하는 것이 좋습니다.
각 MsgID를 더블클릭한후 문자열을 더블클릭하면, 수정할 수 있는 폼이 하나 나옵니다. 아이콘이나 문자열을 변경할 수 있습니다.
Advanced Options
고급 옵션 탭입니다.
1.Encrypt Application - 보호하고자 하는 응용프로그램의 실행 중 전체적으로 코드를 암호화하여 보호합니다.
2.Protect as DLL Plugin - 외부 Dll로부터 보호하고자 할 때 이 옵션을 활성화 합니다. 활성화 한 경우, 외부 Dll을 연결하여 사용할 수 없습니다. (C#으로 개발된 프로그램을 적용하는데 아무런 문제가 없습니다.)
3.Hide form PE Scanners - PEid와 같은 도를 통해 PE 코드를 스캔할 경우에 이용할 수 있는 옵션으로, 이를 속이거나 감추어 프로그램을 보호할 수 있습니다. Standard는 감지가 되더군요.
4.Net Assemblies Checks - .NET으로 개발된 프로그램에서 사용할 수 있는 옵션으로, .NET의 어셈블리를 수정하는지 탐지하는 기능을 보호하고자 하는 프로그램을 추가합니다.
5.Active Context - Dll을 이용할 경우 추가하는 옵션으로 이를 통해 Dll을 이용해서 특정 작업을 진행할 수 있다. 비활성화를 추천합니다.(저도 뭔지 모르겠습니다..)
6.Splash screen settings - 프로그램을 시작하기 전 그림문자 같이 특정 문구를 확인하여 실행할 수 있도록 구성합니다.
● Mouse Click to proceed - 마우스 클릭시 스플래쉬 이미지가 종료됩니다.
● Display during a number of seconds - 초단위로, 지정한 초만큼 출력후에 스플래쉬 이미지가 종료됩니다.
7.Localization - 더미다 국가 유저 인터페이스를 지정합니다. 기본은 English고 Korean은 없습니다.
잘못된 정보가 있으면 댓글로 알려주시면 즉각 수정하겠습니다.
댓글