설명
N사 만화뷰어는 사진을 찍지 못하게 막아두었다.
어떤 원리로 막는지 궁금해서 여러가지 시도를 했다.
어디까지나 호기심으로 한 것으로 코드는 공개하지 않습니다.
분석
- ( 티스토리 에디터 화면에서는 문단 번호가 보이는데... 글에서는 이상하게 안보이네요. . )
- print screenshot을 찍으면 clipboard에 저장되는데 저장되는 순간 clipboard에서 지운다.
- print key 감지 한다
- 다른 스크린샷 활용시 opengl 감지시 해당 영역을 사진을 찍을 수 없다고 표시
- 결제는 웹(js, html)으로 처리한다
- 만화 이미지는 openGL로 그린다.
- 뷰어가 켜질 경우, 2개의 자식 Thread가 생성 된다. Main, Thread1, Thread2
- themida 패킹으로 되어있다.
- 패킹프로그램으로 최강으로 불린다.
- 보안프로그램들도 대부분 이것으로 패킹되어 있다.
- 디버깅 감지까지 있어서 메모리, 디버깅 접근을 막아준다.
- 일반적인 ollydbg로 접근을 못한다.
- image를 불러올 때, 암호화된 파일을 불러온다.
- image파일이 보통 100개이다.
- image파일은 이미 암호화된 파일이다.
- decode하기 위한 key는 통신시 받아온다.
- 암호화 코드를 찾을려고 했지만 찾지 못함.
방법 1
- 화면 전체를 찍는 screenshot 코드를 작성한다.
- 찍고나서 bitmap 형태로 받아오면 다음줄에 새로운 변수에 넣는다.
- 해당 변수(bitmap)을 파일로 저장한다.
방법 2
injection
방법 3
openGL API hooking
사용한 프로그램
- ollydbg
- visual studio(c++)
주의
어디까지나 분석방법과 보안지식을 전달하기위한 글입니다.
방법에 있는 방법은 스스로 구현하시길 바랍니다. 화이팅
( 참고로...!!!! 만화를 캡쳐하는 것은 저작권 위반입니다. )
git page 블로그 2018-10-02 작성했던 글입니다.