보안을 연구하는 DavidBuchanan314는 ambiguous-png-packer라는 프로젝트로 최근 Apple기기만 다르게 보이는 이미지를 만드는 소스를 공개했다.
(일주일 정도만에 700+ Star 달성)
파이썬으로 작성되어있고, png의 바이너리를 분해하여 재조립하는데..
제가 정확히 이해는 못했으나, 두 가지의 이미지를 특별하게 합치는 방법을 코드로 작성되어있습니다.
변환 예시
이 이미지는 Apple기기에서는 애플 로고가, Apple을 제외한 나머지 기기에서는 영문 ETC가 보이는 특별한 사진입니다.
이미지 처리의 핵심부분은 중간의 선이다.
내가 3일동안 프로젝트를 만져본 결과로는 이미지가 다채로울수록, 크기가 클수록, 기본적으로 압축이 많이 되어있을수록 중간에 선이 많이 그어진다.
해당 코드는 main함수의 while문 부분에서 처리되는 핵심 부분이다.
while ypos < height:
브라우저로 변환하면서 굉장히 어려웠는데, 문제를 하나씩 살펴보며 파악했더니 npm 라이브러리 버그였다.
버그를 고치고 난 후에야 js코드로 변환에 성공했고.. 이걸 찾는데 3일이나 걸렸다.
추후 툴을 더 업그레이드 한 후 기존 코드를 공개할까 생각중이다.
브라우저에서 체험가능한 링크
원본 소스 코드
'소개 > 기타' 카테고리의 다른 글
이미지로 커서(*.cur)파일 만드는 법 (0) | 2022.01.12 |
---|---|
제일 간단하게 이미지 모자이크(블러) 처리하는 법 (8) | 2022.01.09 |
[보안] 2022/01/07 카카오톡 해킹? (2) | 2022.01.07 |
Github Pages + CloudFlare 같이 쓰지 마세요 (0) | 2022.01.01 |
[무료 CDN] jsDelivr의 대안 Statically (2) | 2021.12.11 |
[단독] 한국외식업중앙회 11만명 개인정보 유출 (0) | 2021.11.30 |
월패드해킹+택배CCTV 등 이슈, 그리고 "법" (0) | 2021.11.26 |
더 나은 광고 표준 후속편 - 티스토리 변경사항 (0) | 2021.11.04 |
저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
(웹툴을 이용하고, 스크린샷/녹화하는것은 상관없습니다.)
예외적으로. 저에게 허락받은 경우에는 본문을 전재할 수 있습니다.
만약, 본문 공유를 원하신다면 링크 공유를 해주세요
저작권 정책 확인하기링크 공유하기