Android-studio - SDK Manager
NDK(Side by side)
CMake
두가지 필수 인스톨
jni환경 구축하시고
cpp파일에 아래코드 구현하시면 됩니다.
void be_attached_check() {
try {
const int bufsize = 1024;
char filename[bufsize];
char line[bufsize];
int pid = getpid();
sprintf(filename, "/proc/%d/status", pid);
FILE *fd = fopen(filename, "r");
if (fd != nullptr) {
while (fgets(line, bufsize, fd)) {
if (strncmp(line, "TracerPid", 9) == 0) {
int statue = atoi(&line[10]);
// LOGD("%s", line);
if (statue != 0) {
fclose(fd);
int ret = kill(pid, SIGKILL);
}
break;
}
}
fclose(fd);
} else {
}
} catch (...) {
}
}
void thread_task(int n) {
while (true) {
be_attached_check();
std::this_thread::sleep_for(std::chrono::seconds(n));
}
}
void anti_process_status () {
auto checkThread = std::thread(thread_task, 1);
checkThread.detach();
}
extern "C"
JNIEXPORT void JNICALL
Java_kr_com_testapp_main_MainActivity_antiDebug(JNIEnv *env, jobject thiz) {
// TODO: implement antiDebug()
anti_process_status();
}
'모바일' 카테고리의 다른 글
모바일 adb pull 접근 제한 해결 (0) | 2020.11.19 |
---|---|
Arbitrary code execution on Facebook for Android (0) | 2020.10.20 |
안드로이드 NDK 란? (0) | 2020.09.21 |
Cydia Impactor alternative (0) | 2020.09.10 |
메모리 덤프 시 평문 추출 대응 방안 (0) | 2020.09.06 |