본문 바로가기

보안 및 개발/MOBILE47

[Android] Smali 코드 Android logcat 로그 확인 logcat | grep AndroidRuntime smali 코드 1. so 라이브러리 로드 const-string v0, "so_file_name" invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V 2. 로그 출력 .local v0, "Log":Ljava/lang/String; const-string v1, "hack" invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I 3. sleep const-wide/16 v2, 0xa // 0xa = 10 invoke-static {v2, v3}.. 2020. 5. 6.
adb: Failure [INSTALL_FAILED_VERIFICATION_FAILURE] adb install -r apk 로 apk를 설치하는데 다음과 같은 에러가 발생하였다. adb install -r resigned.apk Performing Streamed Install adb: failed to install resigned.apk: Failure [INSTALL_FAILED_VERIFICATION_FAILURE] 구글 플레이 서비스의 apk 설치 정책때문에 block된 것이라고 한다. 보통 애뮬레이터에 설치할때 발생하는 에러같은데, 루팅폰이라 그런지 이 에러가 발생하였다. 쉘에 접속하여 다음과 같은 명령어 한 줄만 실행해 주면 정상적으로 앱을 설치할 수 있다. adb shell settings put global package_verifier_enable 0 2020. 4. 20.
Frida 기본 설명 - Java.perform 현재 스레드가 가상머신에 연결되었는지 확인하고 function을 호출한다. Java.perform(function() { }); - Java.performNow() java단의 소스를 로드하기 전에 먼저 실행되는 script로 보인다. hooking 시점을 맞춰주기 위해 주로 사용한다. - Java.use(ClassName) 메소드 후킹시 사용한다. var myClass = Java.use(com.mypackage.name.class) // 앱에서 사용하는 클래스와 연동되는 myClass를 정의한다. var myClassInstance = myclass.$new(); // myClass를 통해 객체 인스턴스 생성 및 정의를 한다. var result = myClassInstan.. 2020. 4. 20.
[Android] so파일 로드하는 sample app 단순히 so파일만 분석하기 위해 so파일을 로드하는 샘플 앱을 만들고자 했다. activity_main.xml package com.example.girosample; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity{ private Button btn; private View view; @Override protected void onCreate(Bundle savedIns.. 2020. 4. 16.
[Frida] trace 사용법 : trace("Class name or Function name"); EX) Java.perform(function () { function is_trace(){ var bt = Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()); console.log("\nBacktrace:\n" + bt); }; trace("com.xshield.da.u"); }); function trace(pattern) { console.warn("====> " + pattern) var type = (pattern.toString().indexOf("!") === -1) ? "java" : "module"; i.. 2020. 3. 26.
화면캡쳐 우회 http://blog.naver.com/PostView.nhn?blogId=best798&logNo=221409680745&parentCategoryNo=15&categoryNo=&viewDate=&isShowPopularPosts=true&from=search android.view.Window addFlag와 setFlag 차이 : https://stickyny.tistory.com/109 2020. 3. 18.
반응형