블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2342)N
Unity3D (577)
Programming (473)
Unreal (4)
Gamebryo (56)
Tip & Tech (187)N
협업 (34)
3DS Max (3)
Game (12)
Utility (116)
Etc (92)
Link (31)
Portfolio (19)
Subject (90)
iOS,OSX (38)
Android (13)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (1)
Memories (20)
Interest (37)
Thinking (36)
한글 (26)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (2)
냥이 (9)
육아 (13)
Total1,356,249
Today17
Yesterday269
Statistics Graph

달력

« » 2020.1
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

공지사항

태그목록

유니티3D_Android dll파일 난독화 가이드

(사용툴 : Spices.Net)



[파일]

BS_Unity3D_Obfuscate_Guide_20131220_v0.1.odt



1. 난독화할 dll파일

  • APK파일을 디컴파일or압축해제를 하면 Asset폴더 내부에 dll파일이 들어있다.

    (유니티 프로젝트의 경우 \assets\bin\Data\Managed\)


  • 난독화할 파일은 Assembly-CSharp.dll


2. Spices.Net 툴을 사용하여 난독화하기




  • 최상위 경로에서 마우스 오른클릭을 하면 메뉴들이 나오는데 Obfuscation Options에서 난독화 설정을 해줄 수 있다.




  • Members 내부에 있는 설정들이 가장 큰 비중을 차지하는것으로 보인다.

  • Members 설정으로 전체적으로 내부설정들을 한번에 바꿀수도 있고

    하나하나 바꿔줄 수도 있다.

  • Methods와 public옵션이 클래스명과 메소드명을 바꿔주는 설정인데 난독화시 가장 효과가 좋은 설정중 하나이다.

    (해당설정 적용시 짜여진 소스 구조에 따라서 작동이 안되는 경우가 있다.

  • Controll Flow 라는 함수 내부 구조를 바꿔주는 난독화부분은 이 툴에서 아직 찾지 못하였음





  • Obfuscation Options 설정이 끝났으면 다시 메뉴를 열어서 Obfuscate!를 선택하면 .iloprj 라는 확장명의 파일 저장경로 확인창이 뜨는데 바로 저장을 해주면 dll파일 경로로 저장된다.

    (툴관련 정보 저장파일인듯 하다)

  • 경로설정이 완료되면 난독화가 진행되고 정상적으로 난독화가 완료되면 “dll파일 경로\Output\”안에 난독화된 Assembly-CSharp.dll 파일이 생성된다.

  • 난독화된 파일을 기존 dll파일 경로에 덮어씌워준후 다시 컴파일 해주면 작업이 완료된다.





*난독화 적용전 .dll 디컴파일 결과





*난독화 적용후 .dll 디컴파일 결과(Members Full옵션 적용)




[출처]

http://theemeraldtablet.tistory.com/entry/Unity3D-Android-dll-%EB%82%9C%EB%8F%85%ED%99%94-%EA%B0%80%EC%9D%B4%EB%93%9C-SpicesNet

Posted by blueasa

댓글을 달아 주세요