Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
iosgods Android Republic
system.png.so
new.png.so
1st classes.dex
libcompatible.so
aegis_e.so
① 로드
aegis_e_x86.
so
② 로드
2nd classes.dex
③ 2nd dex 복...
Obfuscator-LLVM(Low Level Virtual Machine)
https://github.com/obfuscator-llvm/obfuscator/wiki
aegis_e.so 파
일
쓰레드
부모 프로세스
aegis_e.so 파
일
쓰레드
자식 프로세스
pipe 통신(read, write)
ptrace(PTRACE_ATTACH, 부모pid)2
fork()1
3 모니터링(st...
부모 또는 자식 프로세스가 Kill 되는 조건
1)ptrace() 함수 실패 시
2)자식 프로세스 task 폴더가 존재하지 않는경우
3)/proc/<자식 pid>/status 파일 내에 state가 ‘t’ 일(traci...
Name: marble.mherosgb -> 프로세스명
State: R (running) -> 프로세스 상태
…
Pid: 23892 -> 나
PPid: 23175 -> 부모 프로세스 zygote
TracerPid: 23...
aegis_e.so 파
일
쓰레드
부모 프로세스
aegis_e.so 파
일
쓰레드
자식 프로세스
pipe 통신(read, write)
ptrace(PTRACE_ATTACH, 부모pid)2
fork()1
3 모니터링(st...
4.TK_InlineHookFunction - 인라인후킹
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
Nächste SlideShare
Wird geladen in …5
×

[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다

845 Aufrufe

Veröffentlicht am

[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다

  1. 1. iosgods Android Republic
  2. 2. system.png.so new.png.so 1st classes.dex libcompatible.so aegis_e.so ① 로드 aegis_e_x86. so ② 로드 2nd classes.dex ③ 2nd dex 복호화 및 동적로드 libjasdiasodiasodiaosd.so ④ 로드 androidrepublic.org 로그전송 ⑤ 전송 ⑥ 로드 & 후킹 hook_dlopen() hook_fopen() hook_strcmp() …
  3. 3. Obfuscator-LLVM(Low Level Virtual Machine) https://github.com/obfuscator-llvm/obfuscator/wiki
  4. 4. aegis_e.so 파 일 쓰레드 부모 프로세스 aegis_e.so 파 일 쓰레드 자식 프로세스 pipe 통신(read, write) ptrace(PTRACE_ATTACH, 부모pid)2 fork()1 3 모니터링(still alive?) /proc/<자식 pid>/task 폴더 /proc/<자식 pid>/status 파일 디버거
  5. 5. 부모 또는 자식 프로세스가 Kill 되는 조건 1)ptrace() 함수 실패 시 2)자식 프로세스 task 폴더가 존재하지 않는경우 3)/proc/<자식 pid>/status 파일 내에 state가 ‘t’ 일(tracing) 경우 4)/proc/<자식 pid>/status 파일 내에 TracePid 값이 0이 아닐 경우
  6. 6. Name: marble.mherosgb -> 프로세스명 State: R (running) -> 프로세스 상태 … Pid: 23892 -> 나 PPid: 23175 -> 부모 프로세스 zygote TracerPid: 23907 -> 제대로 실행되고 있다면 자식 프로세스 pid 값이어야 한다. /proc/<부모 pid>/status 파일 Name: marble.mherosgb State: S (sleeping) … Pid: 23907 -> 나 PPid: 23892 -> 부모 프로세스 TracerPid: 0 -> 제대로 실행되고 있으면 pid는 0이 어야 한다. /proc/<자식 pid>/status 파일 부모 프로세스 자식 프로세스
  7. 7. aegis_e.so 파 일 쓰레드 부모 프로세스 aegis_e.so 파 일 쓰레드 자식 프로세스 pipe 통신(read, write) ptrace(PTRACE_ATTACH, 부모pid)2 fork()1 3 모니터링(still alive?) /proc/<자식 pid>/task 폴더 /proc/<자식 pid>/status 파일 sys_kill 패치 무한루프 (0xFE 0xE7) gdb 디버거
  8. 8. 4.TK_InlineHookFunction - 인라인후킹

×