개요
분석을 하다보면 중국어로 된 웹사이트 방문기회가 잦습니다. 사실 웹이야 크롬 자체기능을 이용해서 자동번역이 되기에, 번역의 질은 둘째 손 치더라도 일을 진행할 순 있습니다만 문제는 중국어만 지원하는 프로그램에서 발생합니다.
프로그램에 표시된 중국어들은 드래그가 되는 것도 아니고, 네이버에 한땀한땀 그리고 싶어도 글자가 뚜렷하게 보이는 게 아니라 막막하기만 합니다. 우린 분석가잖아요, 리소스에서 뜯어올까요?
OCR 기능을 이용할 수 있지만, Web 기반 OCR 은 대게 중국어를 지원하지 않았습니다. Acrobat Pro 에서 중국어를 지원하긴 하지만 유룝니다. 결과가 만족스럽지도 않기도 했습니다. 보안뉴스발 중국의 공격소식에 관련 툴을 분석하다 드래그가 안되는 중국어를 복붙하기 위한 방법을 알게되어 공유합니다. 기본적으로 OCR 을 이용하고, 굉장히 번거로운 절차를 거쳐야 하지만 뭐… 당장 분석을 해야하니까요.
번역 방법
여기에는 준비물이 필요합니다. 화면 캡처 프로그램과 구글 계정이 그것입니다.
- 드래그하고자 하는 중국어를 캡처하여 그림파일로 저장합니다.
-
구글드라이브에 업로드하고 워드로 엽니다.
-
긁어다 번역기를 돌립니다.
“기차역이 질문에 다음” 이란 결과가 나왔습니다. 뭐 읽지 못하는 것 보단 나으니까요… 익숙해지면 제법 빨리 할 수 있습니다.
한 화면에 여러 글자가 있어도, 띄어쓰기 문제가 생기긴 하지만 잘 인식하는걸 볼 수 있습니다. 그림파일을 여러 개 만드는 것 보다 한번에 인식시키는 것이 나을때도 있습니다.
프로세스 단순화
화면 캡처 프로그램으로는 캡처와 동시에 저장이 가능한 길호넷 의 칼무리를 추천합니다. 아니면 파이썬으로 Ctrl+C, Ctrl+V 하면 원하는 파일명으로 저장하는 스크립트를 짜도 좋구요. PyQt5 는 직관성 높은 이벤트 처리와 클립보드 접근을 가능하게 해줍니다. Qt 프레임워크를 써본적이 있다면 더욱 쉽게 접근할 수도 있구요. 저는 씨알못이라 처음에 고생을 했습니다.
def keyPressEvent(self, event):
key = event.key()
if key == QtCore.Qt.Key_V:
if event.modifiers() & QtCore.Qt.ControlModifier:
self.pasteImage()
elif key == QtCore.Qt.Key_S:
if event.modifiers() & QtCore.Qt.ControlModifier & QtCore.Qt.ShiftModifier:
self.saveImage_crop()
return
if event.modifiers() & QtCore.Qt.ControlModifier:
self.saveImage()
def pasteImage(self):
clip = QtGui.QGuiApplication.clipboard()
img = clip.image()
pixmap = QtGui.QPixmap.fromImage(img)
self.board.setPixmap(pixmap)
self.board.show()
def saveImage(self):
fileName = self.currentPath + self.filePrefix + str(self.currentIndex) + '.png'
pixmap = self.board.pixmap()
pixmap.save(fileName, format='png')
self.currentIndex += 1
게다가 마크다운으로 포스트를 작성하려면, 이미지 처리를 간편하게 할 필요도 있습니다. 자신의 워드프레스 웹서버에 직접 업로드 하는 기능을 추가하면 포스트 작성 시간이 더 짧아지겠지만, 이걸 구현하자니 앞으로 아낄 시간보다 개발 시간이 더 길것 같아 아직 구현하지 못했습니다.
마무리
이번 보안뉴스의 자극적인 기사로 인해 관련업계 종사자 분들의 고생이 많은 것으로 알고 있습니다. 이만큼 중국어를 많이 보게 된 기회도 없었으니, 이번 기회에 쉽게 번역할 방법을 알아두면 좋을 것 같습니다. 이번에도 누군가에겐 도움이 되었길 바랍니다.