C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[75279] Re:라이센스 매니저 프로그램은 어떻게 좋은가요?
빌더(TWx) [builder] 2797 읽음    2019-02-18 21:14
뽀뽀중 님이 쓰신 글 :
: 간단한 윈도우용 업무 프로그램을 개발 했습니다.
: 상용화 하기에는 기능이 부족하지만, 제한된 분야에서만 사용하기 판매를 하더라도 몇 카피를 넘지 않을것 같기 때문에 큰 문제는 안됩니다. (몇 카피 판매도 안될 프로그램을 만들었으니,,, ..)

: 현재는 무료로 사용할수 있는데, 기능개선이나 버그수정을 하여 새 버전을 공개해도 예전 프로그램을 사용을 합니다.
: 그래서, 사용기간 제한을 하려하고, 설치된 컴퓨터의 기초정보 (IP, MAC address, CPU ID 등) 을 수집하려 생각 중입니다.
: 프로그램 실력이 미천하여, 사용제품을 구입해서 사용하려 하는데, 어떤 제품이 좋은가요?
:
: Winlicense, Protection Plus Wrapper 등 있는 것으로 알고 있는데, 어느 제품을 구입하는 것이 좋을 지 모르겠습니다.




답변:


어떤 툴을 이용하든...
상용화 되어 많이 이용되는 Packing 툴 들은 이미 Unpacking 하는 기법들도 많이 노출 되어 있어서...
직접 커스텀하게 만들어서 쓰지 않는 한... 리버스 엔지니어링 쪽의 지식이 없더라도 해킹에 쉽게 노출 될 수 있다는 것을
감안하고 써야 합니다.

리버스 엔지니어링 하기 가장 까다롭게 손을 쓰는 테크닉 중에 하나가...
x86 cpu 인스트럭션을 사용하지 않고, 일종의 가상 cpu 인스트럭션을 대신해서 사용해서
런타임 중에 가상의 인스트럭션 코드를 인터프리트 해가면서 실행하는 경우인데...

이런 식으로 프로텍션이 걸려있는 바이너리는 static analyzing 기법을 사용하는 게 의미가 없죠.
디스어셈블링 해봤자 표면으로 나타나지 않으므로 의미가 없다는 말.

그러나...

런타임 중에 인젝션 테크닉 이용하면 저런 anti reverse engineering 기법을 이용해서 바이너리에 손을 써놔도
무용지물이 돼 버립니다. 결국 어느 시점에서는 Unpacked 된, Real x86 머쉰 인스트럭션으로 복구된 실제
코드가 실행되게 되므로.


예를 들어서...

바이너리 리소스 섹션에 어떤 중요한 데이타를 넣어 두었다고 합시다.
그리고 이 바이너리를 Packing 툴을 이용해서 리소스 섹션이 노출되지 않게 변형해 놓았다고 합시다.

디스어셈블링으로는 Pack 되어 있는 리소스 섹션 데이타를 참조할 수 없지만...

프로그램에선 런타임 중에 어느 시점에서 리소스 섹션을 읽기 위해 Windows API를 호출 할 것이므로
인젝션 테크닉 이용해서 Windows API를 바인드 해 버리면 결국 드러나게 돼 버리죠.


Anti debugging 테크닉 이용해서 디버깅 하지 못하게 바이너리에 손을 써 놓으면 안전할 까요?

개~~~~뿔~ 안전하긴 뭐가 안전해요. ㅎ

커널모드에서 몇가지 작업해주면...
Anti debugging 테크닉 이용해서 디버깅 방지하고 있는 프로그램을
현재 attach 되어 있는 디버거가 하나도 없는 것 처럼 타겟 프로그램을 바보로 만들어 버릴 수도 있어요.

ASPack 등의 어떤 Packing 툴을 이용해서 바이너리에 손을 써놓으면... 해킹에 안전할거라고 믿는 것은
시스템 구조를 모르고 있는 사람들의 순진한 생각 입니다.

그러려니 하고 쓰는 거죠. ㅎ


rad studio 10.3 도 Activation 과 관련한 해킹을 방지 하기 위해 몇 가지 기법들을 사용하고 있지만
인젝션 테크닉 이용하면 무용지물.


사이트에 적혀있는 내용을 곧이 곧대로 받아들이면 Winlicense 가 괜찮아 보입니다.


+ -

관련 글 리스트
75278 라이센스 매니저 프로그램은 어떻게 좋은가요? 뽀뽀중 2640 2019/02/18
75279     Re:라이센스 매니저 프로그램은 어떻게 좋은가요? 빌더(TWx) 2797 2019/02/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.