2014-02-19 5 views
1
.method public c()Ljava/lang/String; 
.locals 3 

const/4 v1, 0x0 

const-string v0, "wifi" 

invoke-virtual {p0, v0}, Lcom/genwen/looltv/start/Appstart;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; 

move-result-object v0 

check-cast v0, Landroid/net/wifi/WifiManager; 

if-nez v0, :cond_1 

move-object v0, v1 

:goto_0 
if-eqz v0, :cond_2 

invoke-virtual {v0}, Landroid/net/wifi/WifiInfo;->getMacAddress()Ljava/lang/String; 

move-result-object v0 

if-eqz v0, :cond_0 

const-string v1, ":" 

const-string v2, "" 

invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 

move-result-object v0 

new-instance v1, Ljava/lang/StringBuilder; 

const-string v2, "8c0f" 

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

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

move-result-object v0 

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

move-result-object v0 

:cond_0 
:goto_1 
return-object v0 

:cond_1 
invoke-virtual {v0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo; 

move-result-object v0 

goto :goto_0 

:cond_2 
move-object v0, v1 

goto :goto_1 
.end method 

это простая функция smali, которая возвращает MAC-адрес устройства с помощью «8c0f» в начале после удаления: с адреса mac.Как вернуть статический результат в функции smali

Я хочу, чтобы он возвращал статический адрес mac, такой как «8c0f0f0f0f0f0f0f», а не настоящий адрес mac. Как я могу это сделать?

+2

Если это Java, я гораздо меньше знакомы с языком, чем я думал. – Rainbolt

+0

это не java. это smali. и он выглядит намного логичнее для меня, когда он декомпилируется обратно в java: – user3329615

+0

В java это выглядит примерно так: http://pastebin.com/yMRngsGb – user3329615

ответ

2

непосредственно перед return-object v0 сделать следующее

const-string v0, "8c0f0f0f0f0f0f0f" 

поэтому ваш полный код будет читать

const-string v0, "8c0f0f0f0f0f0f0f" 
return-object v0 

Вы также можете закомментировать другой код, который использует StringBuilder, если вы хотите.

0

Здесь я использую apktool для преобразования java в smali.

Java код:

private static final String TAG = "Loop"; 

public static String getTag() 
{ 
    return TAG; 
} 

smali код:

# static fields 
.field private static final TAG:Ljava/lang/String; = "Loop" 

.method public static getTag()Ljava/lang/String; 
    .locals 1 

    .prologue 
    .line 35 
    const-string v0, "Loop" 

    .line 38 
    return-object v0 
.end method 

 Смежные вопросы

  • Нет связанных вопросов^_^