4. 안드로이드 APK 디컴파일 (Android APK Decompile) - 마지막


디컴파일 준비를 안하신 분들은 이전글을 참고 해주세요.

3. 안드로이드 APK 디컴파일 (Android APK Decompile) - 필수프로그램



전체적인 내용은 앱 백업후 디컴파일을 진행합니다.

두개의 동영상이 제공됩니다.

글 읽기 귀찮으신 분들은 영상만 보셔도 됩니다~^^


[ 앱 백업 방법 (MEMu) ]

[ 디컴파일 방법 영상 ]




  • App Backup (앱 백업)


자 이제 디컴파일 할 앱을 백업하겠습니다.
백업 할줄 아시는 분들은 다음 단계를 진행해주세요~

마켓에서 Astro 다운로드 -> 도구 ->  앱 매니져 로 이동하신후 앱 선택하여 백업해주시면 됩니다.
이후 이 파일을 PC로 복사해주세요. (폰 or VM 모두 가능합니다.)


잘 모르시는 분들은 아래 영상 참고해주세요~




  • 패키지명 수정


여기서 부터는 개발자가 아니면 약간 복잡할수 있습니다.
그래서 최대한 간단하게 배치파일로 만들어 두었습니다.
(http://cafe.naver.com/deslife2/1127)


순서는 다음과 같습니다.


  1. Key 생성

    keytool.exe -genkey -keyalg RSA -keystore myKey.keystore -validity 14600 -alias alias_name
  2. apktool d

    apktool.jar d app.apk
  3. 패키지명수정
  4. apktool b

    apktool.jar b app
  5. 사이닝

    jarsigner.exe -verbose -tsa http://timestamp.digicert.com -sigalg SHA1withRSA -digestalg SHA1 -keystore ..\_Key\myKey.keystore app\dist\app.apk alias_name
이 단계를 거치면 설치 가능한 apk 가 만들어 집니다.

클래시로얄의 경우 소스까지 수정하지 않아도 설치 / 구동이 됩니다.

하나하나 이미지로 복사해서 넣기는 너무 번거롭고 이해가 안되는 분들도 있을수 있어 처음부터 끝까지 동영상으로 알려드립니다.

뒷 부분에 참고해주세요~



  • 소스보기

app.apk 파일을 압축해제 해주세요~
압축해제된 폴더명을 app_dex 으로 변경해주세요.


  1. 1_dex2jar.bat 파일을 실행해주세요.
  2. classes-dex2jar.jar 파일이 생성될 것입니다.
  3. JD-GUI 폴더로 이동후 jd-gui.exe 파일을 실행해주세요
  4. classes-dex2jar.jar 파일을 드래그 하여 JD-GUI 화면으로 가져오세요~


이제 소스가 보이실 것입니다.

이 부분도 동영상으로 제공됩니다. 이해가 안되시는 분들은 아래 영상을 참고해주세요~



[ 디컴파일 방법 영상 ]





감사합니다~

ICO 파일 만들기


개발을 하다보면 아이콘 파일이 필요할 때가 있습니다.
웹에서 간단히 변환 해주는 곳이 있습니다.

https://iconverticons.com/online/


이미지 파일을 올리면 변환 해줍니다.

Visual Studio Community 2017 Deploy (배포) - 프로젝트 및 단축아이콘 생성



[ Visual Studio 2017 Deplay (배포) 추가 하는 방법 ] 은 이곳을 참고해주세요.


기본 프로젝트 생성 후 설치 프로젝트를 만들고 바탕화면에 프로그램 단축 아이콘까지 생성하는 방법 입니다.
세부적인 기능은 추후 작성 하겠습니다.

각 메뉴단계로 아래 정리 하였습니다.

잘 안되시는 분들은 동영상을 참고해주세요.






  • Installer 프로젝트 생성


Add -> New Project -> Other Project Types -> Visual Studio Installer -> Setup Project





  • 프로젝트 추가


프로젝트 선택 -> 마우스 우측 버튼 -> View -> File System

Application Folder 선택 -> 마우스 우측 버튼 -> Add -> Project Output -> 프로젝트 선택





  • 폴더명 설정


Installer 프로젝트 선택 -> Properties 선택 -> Manufacturer, ProductName 설정 합니다.

Manufacturer : 설치할때 생성되는 폴더 이름 입니다.
ProductName : Manufacturer 아래에 생성되는 폴더 이름 입니다.

즉, Manufacturer / ProductName 형태로 생성이 됩니다.




  • 바로가기 생성


User's Programs Menu 선택 -> 우측창 선택 -> 마우스 우측 버튼 -> Create New Shortcut -> Application Folder 선택 -> 추가한 프로젝트 선택 -> 확인





  • 바로가기 아이콘 설정


Shortcut 선택 -> 마우스 우측 버튼 -> Properties Window -> Icon 선택 -> Browse 선택 -> Application Folder 선택 -> Add File -> 원하는 아이콘 선택



이렇게 설정하시고 빌드 후 생성된 설치파일을 실행하시면 프로그램이 설치가 되고 바탕화면에 바로가기 아이콘이 생성됩니다.

삭제는 제어판 - 프로그램 추가 / 삭제 or Installer 프로젝트 에서 우측버튼 -> Uninstall 선택하시면 됩니다.





감사합니다~

웹포토샵 (PIXLR)


어둠의 경로의 프로그램 사용은 싫고..
무료 소프트웨어 설치하기도 귀찮은 경우..

브라우져에서 사용 할 수 있는 PIXLR 이 있습니다.

경로 : https://pixlr.com/editor/


위 경로로 들어가면 가입도 필요없고, 설치도 필요없고 그냥 사용 할 수 있습니다.
플래시로 구동이 되니 플래시는 설치가 되어있어야겠죠~



아래와 같은 화면이 나오며, 새 이미지 생성을 눌러서 편집을 하시면 됩니다.





포토샵 대용 김프(GIMP)



포토샵은 다 아실테고~ 유료인것도 아시겠죠~? ^^
어둠의 경로를 통해서 사용하실 분도 계시겠지만~

좋은 무료 프로그램도 있습니다.

GIMP
https://www.gimp.org/downloads/






Visual Studio Community 2017 Deploy (배포) - Microsoft Visual Studio 2017 Installer Projects 설치


아시겠지만~
Visual Studio Community 가 개인에게는 무료로 배고 되고 있습니다.

어둠의 경로를 이용하지 않아도 되니 너무나도 좋습니다~^^

Community 2015 부터 사용했었는데 배포기능이 없어서 아쉬웠습니다.
그래서 Open Source 인 NSIS 를 사용했었는데요.

다시 찾아보니 기본설치에 없는것이고 확장 프로그램으로 사용할 수 있었습니다. ㅠㅠ



"도구 - 확장 및 업데이트" 를 선택해주세요.

온라인으로 선택후

"Microsoft Visual Studio 2017 Installer Projects" 를 찾아주세요



저는 이미 다운로드를 해서 다운로드 버튼이 없는데

우측에 다운로드 버튼이 있을것입니다.

다운로드 후 Visual Studio 를 종료하면 설치화면이 나올것입니다.

설치 해주시면 됩니다~



사용방법은 아래 링크를 눌러주세요~
Visual Studio Community 2017 Deploy (배포) - 프로젝트 및 단축아이콘 생성


DirectX 설치방법



DirectX 는 아래 경로에서 다운로드 / 설치 할 수 있습니다.

https://www.microsoft.com/ko-kr/download/details.aspx?id=35



아래와 같은 화면이 나오며 다운로드 를 눌러서 다운로드 / 설치 할 수 있습니다.




다음 항목은 필요하시면 체크 하시고, 필요없으면 "건너띄고 다음 단계 진행" 을 눌러 설치를 진행 하시면 됩니다.



설치는 다음/ 다음 눌러 진행하시면 됩니다.



Windows 10 SDK 다운로드 / 설치


Windows 10 SDK 다운로드 링크
https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk





해당 링크로 들어가면 아래와 같이 나오며
필요한 형태로 다운로드 하시면 됩니다.
윈도우10 부터는 iso를 기본적으로 지원하니 iso 를 받으셔도 됩니다.






설치할 경로를 선택하고 Next 눌러 설치를 진행하시면 됩니다.





용량이 큰만큼 설치하는데는 시간이 조금 걸립니다.

잠시 기다리면 아래와 같이 설치가 완료 됩니다.




3. 안드로이드 APK 디컴파일 (Android APK Decompile) - 필수프로그램



아래 순서대로 그대로 진행해주세요~


  1. JDK 설치

    다운로드 경로 : http://www.oracle.com/technetwork/java/javase/downloads/index.html

    JDK 선택후 사용하는 윈도우에 맞는 것으로 다운로드 합니다. (32비트, 64비트)

  2. Apktool 다운로드

    다운로드 경로
    ==> https://ibotpeaches.github.io/Apktool/

    해당 페이지 우측위에 current version 을 눌러 다운로드 합니다.
    다운로드 후 파일명을 apktoo.jar 로 변경해주세요.
  3. dex2jar 다운로드

    다운로드 경로
    ==> https://sourceforge.net/projects/dex2jar

    해당 페이지 우측 약간 위쪽에 Download 를 눌러 다운로드 합니다.

  4. JD-GUI 다운로드

    다운로드 경로
    ==> http://jd.benow.ca
이제 필요한 프로그램은 모두 다운로드 하였습니다.

다운로드 받은 프로그램을 적절한 위치에 두고 사용하면 됩니다.

path 를 잡아도 되고 경로를 직접 입력해도 됩니다.

각자 편하실 대로 사용하시면 됩니다.
참고로 저는 path 사용을 좋아하지 않습니다.^^

잘 모르시는 분들은 그냥 경로를 동일하게 만들어 주세요.
(똑같이 만들면 동작이 안될수가 없습니다.^^)


C 드라이브에 android 폴더를 만들어 주세요.
andoid 폴더 밑에 apktool, dex2jar, jd_gui, key, work 폴더를 각각 만들어주세요.
아래와 같은 형태가 될 것입니다.



위에서 다운로드 받은 것들을 해당 폴더로 각각 이동 해주세요.
(하위 폴더가 생기지 않도록 파일만 복사해주세요.)


배치파일 및 폴더구성은 압축하여 자료실에 올려두었습니다.

(http://cafe.naver.com/deslife2/1127)

다른 어플들은 직접 다운로드 하여 해당 폴더로 복사해주시면 됩니다.

이제 모든 준비가 되었으니 다음글에서 디컴파일을 시작하겠습니다.


감사합니다.




2. 안드로이드 APK 디컴파일 (Android APK Decompile) 순서




다음 순서로 진행합니다.


  1. 필요할 프로그램 다운로드 / 설치
    공식사이트가 있다면 가급적 블로그나 카페에 올려져 있는 파일은 사용하지 마시기 바랍니다.
    악성코드가 포함된 경우가 있을지 모릅니다~ 무서운 세상이라~^^
  2. dex2jar 사용 방법
  3. apktool 사용 방법
  4. 키생성 방법
  5. 사이닝 방법

디컴파일 및 apk 수정을 하기 위해서는 위의 내용들이 필요합니다.

단순히 앱 중복설치만 필요하시다면 JD-GUI 나 dex2jar 는 필요없습니다.

자바 설치 -> 키생성 -> 디컴파일 -> 패키지명수정 -> 빌드 -> 사이닝

순서로 진행하시면 됩니다.

1. 안드로이드 APK 디컴파일 (Android APK Decompile) 이란?




  • 디컴파일 이란 무엇인가?



네이버에 디컴파일 이라고만 쳐봐도 많은 내용들이 검색 될 것입니다.
자세한 내용은 네이버 검색 해보시고

어떤것을 할 수 있는지 먼저 보여드리겠습니다.
보는게 이해가 제일 빠르죠? ㅎ 의욕도 생기고~~


우선~!!!
개인적인 테스트 용도로, 학습을 목적으로, 스스로 혼자 하는거야 상관없겠지만, 배포를 목적으로 한다면 법적으로 문제가 될 것입니다. 이점 반드시 참고하시기 바랍니다.
저역시 수정된 apk를 배포하진 않습니다.

아래 프로그램은 단지 디컴파일이 무엇인지 쉽게 설명하기 위해 예를 든 것입니다.
(인지도가 있는 게임으로 설명을해야 학습이 잘 되겠죠~^^)






예 1 ) 클래시로얄 중복설치. 부계정 만들기 
(CLASH ROYALE duplication)


일반적으로 안드로이드폰에서는 동일한 어플을 중복으로 설치 할 수 없습니다.
샤오미폰 MIUI 에서는 듀얼앱 기능이 있습니다만~

아래 영상은 미뮤로 테스트 한 것입니다. 녹스도 되며, 폰에서도 됩니다.
모든 폰에서 테스트 한 것은 아니기 때문에 일부폰에서 안될수도 있습니다.^^









예 2 ) 소스 보기


디컴파일 후 jd-gui 라는 툴을 이용하면 쉽게 소스레벨로 볼수 있습니다.
apk studio 라는 프로그램도 가능합니다.

아래 동영상에서 왼쪽항목을 선택하면 소스가 보입니다. 소스가 보이면 문제가 될 수 있어 클릭은 하지 않았습니다.





디컴파일을 하면 이런것들을 할 수가 있습니다~



개발하시는 분들은 자신이 개발하는 프로그램과 유사한 프로그램이 어떻게 구현되었는지 확인해보기 위해 디컴파일을 하는 경우가 있습니다.

일반인들은 이렇게 부계정을 만들때, 또는 크랙을 할때 사용을 합니다.


다음 글에서는 디컴파일 하는 방법을 순서대로 정리하겠습니다.

각 항목들에 대한 자세한 설명들은 하지 않을 것입니다.

궁금하시면 네이버 검색해보세요~^^

세부적인 내용을 몰라도 단계별로 다운로드 하고 설치하고 하면 디컴파일이 되는구나?
라는 것을 보여드리는 것이 목적입니다~


그 이후 관심이 생기면 하나하나 자세히 공부를 해보시기 바랍니다~



두번째 이야기!!

OpenCV 3.2.0 CMake 빌드하기 2



Visual Studio 2017 에서 사용하기 위한 소스생성까지 하였습니다.
이제 Visual Studio 2017 에서 빌드하려고 합니다.

OpenCV.sln 을 클릭하여 빌드하면 당연히 될줄 알았는데 또다시 오류~!! ㅠㅠ

윈도우7 + Visual Studio 2017 + OpenCV 3.2.0 조합이라 그런지

이전과 다른 오류들이 나오네요.


첫번째~

포함 파일을 열 수 없습니다. 'sys/types.h': No such file or directory (소스 파일 컴파일 중 C:\_OpenCV\OpenCV_3_2_0\Source\3rdparty\zlib\compress.c)


이런 오류가 발생한다면

프로젝트 - 속성 - 구성속성 - 일반 - 대상플랫폼 8.1 ==> 10.0 으로 변경 해주세요.
Release / Debug 모두 변경 해주세요.
(가끔 Release 에서 속성 변경후 계속 에러날때 왜 안되지 하며 쓸데없이 시간 보내는 경우가 있죠~ ㅎ)
모든 프로젝트를 변경 해주세요~



두번째~
오류는 아니고 Warning 이죠.

C:\_OpenCV\OpenCV_3_2_0\Source\modules\core\include\opencv2/core/utility.hpp : warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.

이런것들이 많이 나옵니다.
(대부분 주석에 있는 문자가 문제가 있는 경우죠.)
빌드에는 지장이 없으나 계속 나오면 거슬리죠.

#pragma warning(disable: 4819)

또는

속성 - C/C++ - 고급 에서 특정경고 무시하도록~

또는

해당 파일들을 유니코드 형식으로 변경후 저장해주시면 해결이 됩니다.
(파일이 한두개면 변경하면 되는데 너무 많다면 귀찮으니 두번째 방법으로~^^)



이렇게 변경하면 빌드가 정상적으로 될 것입니다~

정상적으로 빌드가 되었다면
\Build\bin\Debug or Release 폴더에

결과물들이 생성되어 있을 것입니다~



OpenCV 3.2.0 CMake 빌드하기 1



VisualStudio 2017 에 OpenCV 라이브러리 사용할수 있도록 셋팅하는 것은 다음글에 적겠습니다.

이번글은 OpenCV 소스를 다운로드 하여 VisualStudio 2017 에서 사용할수 있도록 CMake 사용하는 법을 적도록 하겠습니다.


OpenCV 를 사용할때 대부분의 사용자분들은 빌드된 라이브러리만 사용하시면 됩니다.
하지만 내부적으로 소스를 일부 수정을 해야 할 경우가 생긴다면 빌드를 해야할 경우가 발생됩니다.

CMake를 사용합니다.
공식사이트는 다음과 같습니다.

사용하시는 윈도우가 32비트면 32비트버젼으로, 64비트면 64비트 버젼으로 다운로드 하시면 됩니다.






설치후 실행하면 아래와 같이 나옵니다.








아래와 같이 소스가 있는 위치, 빌드된 결과물이 저장될 폴더를 지정해줍니다.








소스폴더는 아래와 같은 폴더들이 있는 곳입니다.





빌드폴더는 그냥 생성하시면 됩니다~





이제 Configure 버튼을 눌러주세요~ 아래와 같은 화면이 나옵니다.
여기서 Visual Studio 15 2017 Win64 를 선택해주세요.
그리고 Finish 버튼~








아마도 Windows 10 기준에서는 문제가 없을것 같고, Visual Studio2017 이전버젼을 사용해도 문제가 없을것 같습니다.

Windows 7 + VisualStudio 2017 + CMake + OpenCV 3.2.0 조합일때 문제가 될 수도 있습니다.

뭔가 문제가 생기면 Fail 이 되고 CMakeError.log 파일이 생성됩니다. (빌드폴더 \CMakeFiles)

이 파일을 보면 어떤것이 문제가 있는지 설명되어 있습니다.

 Link:
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x64\link.exe /ERRORREPORT:QUEUE /OUT:".\CompilerIdCXX.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:".\CompilerIdCXX.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:".\CompilerIdCXX.lib" /MACHINE:X64 Debug\CMakeCXXCompilerId.obj
LINK : fatal error LNK1104: 'ucrtd.lib' 파일을 열 수 없습니다. [C:\_OpenCVTest\Out\CMakeFiles\3.8.0\CompilerIdCXX\CompilerIdCXX.vcxproj]
"C:\_OpenCVTest\Out\CMakeFiles\3.8.0\CompilerIdCXX\CompilerIdCXX.vcxproj" 프로젝트를 빌드했습니다(기본 대상). - 실패

빌드하지 못했습니다.




만약 이와 같은 에러가 발생된다면 

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\ucrt\x64
폴더에 있는 파일 네개를

C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64
폴더에 복사해주세요.
패스를 잡아주셔도 될것 같고..

아예 위 폴더들이 없다면 Widnows SDK 를 다운로드 하여 설치해주세요.




빌드가 완료되면 아래와 같은 화면이 나옵니다.







이제 Generate 버튼을 눌러주세요.
Build 폴더로 가시면 Visual Studio 2017 에서 사용할 파일이 생성되어 있는것을 보실수 있을 것입니다.





이제 Visual Studio 에서 사용할 소스가 준비 되었습니다~^^



OpenCV 3.2.0 다운로드 및 환경설정





  • OpenCV 다운로드


공식 사이트 : 소스 및 바이너리를 받을수 있습니다.



아래와 같은 화면이 나올것이며 3.2.0 버젼의 Win pack / Sources 를 다운로드 합니다.

 






  • Visual Studio 2017 Community 다운로드 / 설치


개발툴
VisualStudio 2017 Community 를 사용할 예정입니다. 개인사용자에게 무료로 배포됩니다. 최신버젼이 얼마전 배포되었습니다.
사용되는 언어들이 많겠지만 테스트, 샘플 프로그램을 만들고 테스트 하기에는 MFC 가 편하지 않을까 생각됩니다.

즉, VisualStudio 2017 / C++ / MFC 기준으로 진행합니다.

VisualStudio 2017 다운로드 주소


아래와 같은 화면이 나오며 붉은색 박스로 표시된 부분을 눌러 다운로드 받습니다. (정품이며, 무료입니다.)



설치방법은 생략합니다. 다음다음~~~ 눌러서 진행하면 됩니다~~^^


 설치가 완료되었다면 실행해줍니다. 아래와 같은 화면이 나올것입니다.
 


기본적인 준비는 되었습니다.


다음글에서는 CMake 를 통한 OpenCV 빌드에 대해 적을 것입니다.


감사합니다.

OpenCV 3.2.0 시작하기~



그동안 OpenCV 사용할 일이 있어서 급하게 공부를 하다보니
이런저런 시행착오를 겪게되고

필요한 부분만 약간의 테스트를 거쳐 사용하다보니
동작을 하긴 하는데 뭔가 남는것도 없고

........................

처음부터 찬찬히 공부를 해볼까 합니다.
그동안은 2.4 버젼을 사용했었고 새롭게 공부를 하는것이니 3.2.0 버젼으로 출발할까 합니다~

1. 다운로드 / 설치 / 개발환경 설정

2. OpenCV 빌드

3. 샘플 프로그램 제작

4. 사용되는 구조체 및 각종 샘플 등등

Windows SDK 8.1 다운로드


윈도우즈 SDK 8.1 다운로드 경로 입니다.

https://developer.microsoft.com/ko-kr/windows/downloads/windows-8-1-sdk

필요하신 분들은 다운로드 후 설치 하여 사용하시기 바랍니다.




크롬 시크릿모드~

아시는 분들은 아시겠지만~
모르시는 분들도 있으니~

웹서핑하다보면 알게모르게 이런저런 흔적들이 남게되겠죠~

이럴때 사용하시면 됩니다~

크롬을 실행시킨 후 단축키로는
컨트롤 + 쉬프트 + N 을 눌러주시면 됩니다.
메뉴로 가서 실행해도 됩니다.

아래 이미지를 참고하시면 됩니다~



그러면 아래와 같은 창이 뜹니다~


자세한 설명은 이 창에 나옵니다~