Window 환경에서 안드로이드에서 실행할 C 프로그램을 build하고 싶으신가요?
Do you want to build c application with NDK on Window to run it on Android?
레고레고
Let's make it happen~!
[ Program#1 NDK Build ]
Table of contents
#0 Download NDK
#1 Declaration for the build system
#2 Build
#3 Check Running binary file
#0 Download NDK
NDK PACKAGE DOWNLOAD & UNZIP
https://developer.android.com/ndk/downloads
#1 Declaredeclaration for the build system
jni 폴더 생성 후, 하위에 소스코드와 빌드 시스템에 소스코드와 빌드 조건을 명시해주는 파일을 생성합니다.
Write applicaiton C sourcecode & Android.mk to declare sourcecode to build system & Application.mk to declare configuration to build system in jni folder.
hello.c
#include <stdio.h>
int main()
{
printf("hello ARM64 android!\n");
return 0;
}
Android.mk
LOCAL_PATH := $(call my-dir) #현 프로젝트 폴더를 지정
include $(CLEAR_VARS) #현 프로젝트 빌드에 맞게 변수를 지정하기위해 기존에 설정된 LOCAL_MODULE, LOCAL_SRC_FILES 및 LOCAL_STATIC_LIBRARIES 변수를 제거
LOCAL_MODULE := hello #빌드하고자 하는 모듈 이름 지정
LOCAL_SRC_FILES := hello.c #빌드하고자 하는 소스코드명 지정
include $(BUILD_EXECUTABLE) #실행파일 빌드
Application.mk
APP_ABI := arm64-v8a #Android CPU 버전 지정
#2 Build
빌드를 위해, cmd를 실행한 후, jni 상위 경로에서 "ndk-build" command를 입력한다.
To build, after running cmd program, input "ndk-build" command with above "jni" folder path
#3 Check Running binary file
참 쉽죠잉?
Reference
https://source.android.com/setup/build/building-kernels-deprecated
https://www.hackerschool.org/Sub_Html/HS_Posting/index.html?uid=34
'HACKING > mobile_Android' 카테고리의 다른 글
Tool#2 MobSF APK & iOS 점검 자동화 도구 (0) | 2022.08.27 |
---|---|
Tool#1 LLVM 난독화 해제 도구 - D-810 (0) | 2022.03.09 |
Tool#0 Burp suite 이용 방법 (0) | 2021.04.22 |
Custom Android#1 Kernel build (0) | 2020.08.24 |
Android setting for Pentesting#1 Android Setting Code (0) | 2020.06.03 |