Created
December 29, 2016 12:09
-
-
Save codewithpassion/2a741a170d96d54912dc11c10b58f98f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.class public Lgetmac; | |
.super Ljava/lang/Object; | |
.source "getmac.java" | |
# direct methods | |
.method public constructor <init>()V | |
.locals 0 | |
.prologue | |
.line 9 | |
invoke-direct {p0}, Ljava/lang/Object;-><init>()V | |
return-void | |
.end method | |
.method public static getMacAddr()Ljava/lang/String; | |
.locals 11 | |
.prologue | |
const/4 v5, 0x0 | |
.line 13 | |
:try_start_0 | |
invoke-static {}, Ljava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration; | |
move-result-object v6 | |
invoke-static {v6}, Ljava/util/Collections;->list(Ljava/util/Enumeration;)Ljava/util/ArrayList; | |
move-result-object v0 | |
.line 15 | |
.local v0, "all":Ljava/util/List;, "Ljava/util/List<Ljava/net/NetworkInterface;>;" | |
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; | |
move-result-object v6 | |
:cond_0 | |
invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z | |
move-result v7 | |
if-eqz v7, :cond_4 | |
invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object; | |
move-result-object v3 | |
check-cast v3, Ljava/net/NetworkInterface; | |
.line 16 | |
.local v3, "nif":Ljava/net/NetworkInterface; | |
invoke-virtual {v3}, Ljava/net/NetworkInterface;->getName()Ljava/lang/String; | |
move-result-object v7 | |
const-string v8, "wlan0" | |
invoke-virtual {v7, v8}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z | |
move-result v7 | |
if-eqz v7, :cond_0 | |
.line 18 | |
invoke-virtual {v3}, Ljava/net/NetworkInterface;->getHardwareAddress()[B | |
move-result-object v2 | |
.line 19 | |
.local v2, "macBytes":[B | |
if-nez v2, :cond_1 | |
.line 20 | |
const-string v5, "" | |
.line 35 | |
.end local v2 # "macBytes":[B | |
.end local v3 # "nif":Ljava/net/NetworkInterface; | |
:goto_0 | |
#invoke-static {v5}, Liglogger;->d(Ljava/lang/String;)I | |
return-object v5 | |
.line 23 | |
.restart local v2 # "macBytes":[B | |
.restart local v3 # "nif":Ljava/net/NetworkInterface; | |
:cond_1 | |
new-instance v4, Ljava/lang/StringBuilder; | |
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V | |
.line 24 | |
.local v4, "res1":Ljava/lang/StringBuilder; | |
array-length v6, v2 | |
:goto_1 | |
if-ge v5, v6, :cond_2 | |
aget-byte v1, v2, v5 | |
.line 25 | |
.local v1, "b":B | |
const-string v7, "%02X:" | |
const/4 v8, 0x1 | |
new-array v8, v8, [Ljava/lang/Object; | |
const/4 v9, 0x0 | |
invoke-static {v1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; | |
move-result-object v10 | |
aput-object v10, v8, v9 | |
invoke-static {v7, v8}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; | |
move-result-object v7 | |
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
.line 24 | |
add-int/lit8 v5, v5, 0x1 | |
goto :goto_1 | |
.line 28 | |
.end local v1 # "b":B | |
:cond_2 | |
invoke-virtual {v4}, Ljava/lang/StringBuilder;->length()I | |
move-result v5 | |
if-lez v5, :cond_3 | |
.line 29 | |
invoke-virtual {v4}, Ljava/lang/StringBuilder;->length()I | |
move-result v5 | |
add-int/lit8 v5, v5, -0x1 | |
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->deleteCharAt(I)Ljava/lang/StringBuilder; | |
.line 31 | |
:cond_3 | |
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; | |
:try_end_0 | |
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 | |
move-result-object v5 | |
goto :goto_0 | |
.line 33 | |
.end local v2 # "macBytes":[B | |
.end local v3 # "nif":Ljava/net/NetworkInterface; | |
.end local v4 # "res1":Ljava/lang/StringBuilder; | |
:catch_0 | |
move-exception v5 | |
.line 35 | |
:cond_4 | |
const-string v5, "02:00:00:00:00:00" | |
goto :goto_0 | |
.end method |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment