[Android Software/Hacking General [Developers Only]] yujinloh:
I'm following this tutorial and I found the .smali file that is checking for rooted devices but there isnt const-string in the file , only const v1,

Can anyone point me in the right direction?

.class public Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;
.super Ljava/lang/Object;
.source "RootedDeviceChecker.java"

# static fields
.field private static final APK_BLACKLIST:[Ljava/lang/String;

.field private static PACKAGE_BLACKLIST:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field

.field private static final SU_DIR:[Ljava/lang/String;

# direct methods
.method public static constructor <clinit>()V
.locals 7

const v0, 0x2074

invoke-static {v0}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v0

const v1, 0x2075

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

.line 16
filled-new-array {v0, v1}, [Ljava/lang/String;

move-result-object v0

sput-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->APK_BLACKLIST:[Ljava/lang/String;

const v1, 0x2076

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

const v2, 0x2077

invoke-static {v2}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v2

const v3, 0x2078

invoke-static {v3}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v3

const v4, 0x2079

invoke-static {v4}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v4

const v5, 0x207a

invoke-static {v5}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v5

const v6, 0x207b

invoke-static {v6}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v6

.line 19
filled-new-array/range {v1 .. v6}, [Ljava/lang/String;

move-result-object v0

sput-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->SU_DIR:[Ljava/lang/String;

.line 22
new-instance v0, Ljava/util/HashSet;

invoke-direct {v0}, Ljava/util/HashSet;-><init>()V

sput-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

.line 25
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x207c

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 26
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x207d

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 27
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x207e

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 28
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x207f

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 29
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x2080

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 30
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x2081

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 31
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x2082

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 32
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x2083

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

.line 33
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

const v1, 0x2084

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

return-void
.end method

.method private constructor <init>()V
.locals 0

.line 36
invoke-direct {p0}, Ljava/lang/Object;-><init>()V

return-void
.end method

.method private static checkPackages(Landroid/content/Context;)Z
.locals 2

.line 77
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

move-result-object p0

const/16 v0, 0x80

.line 78
invoke-virtual {p0, v0}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;

move-result-object p0

if-eqz p0, :cond_1

.line 80
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

move-result-object p0

:cond_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z

move-result v0

if-eqz v0, :cond_1

invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

move-result-object v0

check-cast v0, Landroid/content/pm/ApplicationInfo;

.line 81
sget-object v1, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->PACKAGE_BLACKLIST:Ljava/util/Set;

iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;

invoke-interface {v1, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z

move-result v0

if-eqz v0, :cond_0

const/4 p0, 0x1

return p0

:cond_1
const/4 p0, 0x0

return p0
.end method

.method private static checkPresenceOfsuspiciosAPKs()Z
.locals 6

.line 59
:try_start_0
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->APK_BLACKLIST:[Ljava/lang/String;

invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

move-result-object v0

.line 61
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

move-result-object v0

:cond_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

move-result v1

if-eqz v1, :cond_1

invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

move-result-object v1

check-cast v1, Ljava/lang/String;

.line 62
new-instance v2, Ljava/io/File;

new-instance v3, Ljava/lang/StringBuilder;

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

const v5, 0x2085

invoke-static {v5}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v4

invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v1

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

.line 63
invoke-virtual {v2}, Ljava/io/File;->exists()Z

move-result v1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

if-eqz v1, :cond_0

const/4 v0, 0x1

return v0

:catch_0
:cond_1
const/4 v0, 0x0

return v0
.end method

.method private static checkSUFileExist()Z
.locals 4

.line 94
sget-object v0, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->SU_DIR:[Ljava/lang/String;

invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

move-result-object v0

.line 96
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

move-result-object v0

:cond_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

move-result v1

if-eqz v1, :cond_1

invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

move-result-object v1

check-cast v1, Ljava/lang/String;

.line 97
new-instance v2, Ljava/io/File;

new-instance v3, Ljava/lang/StringBuilder;

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

invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

const v1, 0x2086

invoke-static {v1}, Lltayyncr/▅;->─(I)Ljava/lang/String;

move-result-object v1

invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v1

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

.line 98
invoke-virtual {v2}, Ljava/io/File;->exists()Z

move-result v1

if-eqz v1, :cond_0

const/4 v0, 0x1

return v0

:cond_1
const/4 v0, 0x0

return v0
.end method

.method public static isDeviceRooted(Landroid/content/Context;)I
.locals 4

const/4 v0, 0x3

.line 45
new-array v0, v0, [Ljava/lang/Boolean;

invoke-static {p0}, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->checkPackages(Landroid/content/Context;)Z

move-result p0

invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

move-result-object p0

const/4 v1, 0x0

aput-object p0, v0, v1

invoke-static {}, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->checkPresenceOfsuspiciosAPKs()Z

move-result p0

invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

move-result-object p0

const/4 v2, 0x1

aput-object p0, v0, v2

invoke-static {}, Lcom/rsa/mobilesdk/sdk/RootedDeviceChecker;->checkSUFileExist()Z

move-result p0

invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

move-result-object p0

const/4 v2, 0x2

aput-object p0, v0, v2

.line 46
array-length p0, v0

move v2, v1

:goto_0
if-ge v1, p0, :cond_0

aget-object v3, v0, v1

invoke-virtual {v3}, Ljava/lang/Boolean;->booleanValue()Z

move-result v3

shl-int/lit8 v2, v2, 0x1

add-int/2addr v2, v3

add-int/lit8 v1, v1, 0x1

goto :goto_0

:cond_0
return v2
.end method
[/HIDE]