Sunday, February 5, 2023

Smali Structure

 Smali Syntax – Types

.method private doSomething()V
  • V void

  • Z boolean

  • B byte

  • S short

  • C char

  • F float

  • I int

  • J long

  • D double

  • [ array

Smali Syntax – Classes

Lcom/example/myapp/MyClass;
  • full name space slash separated

  • prefixed with L

  • suffixed with ;

StringBuilder sb = new StringBuilder(“str”)

---->

new-instance v1, Ljava/lang/StringBuilder;
const-string v2,“str"

invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

Smali Syntax – Methods

method private delayedAnimationFrame(J)Z
    .registers 8
    .parameter "currentTime”
  • private : keyword

  • delayedAnimationFrame: method name

  • (J) Z: parameters/return

Smali Syntax – Registers

  • .locals : # registers of a method without parameters

  • #parameters -> # input parameters + (p0: this reference)

v0 - local 0 p0 - parameter 0 (this) p1 - parameter 1

Smali Syntax – Opcodes

Smali Syntax – Opcodes

  • invoke-super vx, vy, …

  • new-instance vx

  • invoke-direct vx, vy, …

  • const-string vx

  • invoke-virtual vx, vy, …

  • return-void



List

MobSF

MobSF는 오픈소스 모바일 앱 자동 보안 진단 프레임워크로 자동 분석 시스템 구축할 때 사용한다. 정정 및 동적 분석이 가능하며, Android, iOS, Windows에 대해 침투 테스트, 멀웨어 분석 및 보안 평가를 할 수 있다. 참고자료 필...