导航菜单

页面标题

页面副标题

万能钥匙 v1.1.23 - k.java 源代码

正在查看: 万能钥匙 v1.1.23 应用的 k.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package kw;

import android.net.wifi.WifiManager;
import com.meituan.robust.ChangeQuickRedirect;
import com.meituan.robust.PatchProxy;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import kotlin.Metadata;

@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0006\u0018\u0000 \b2\u00020\u0001:\u0001\u0005B\u0007¢\u0006\u0004\b\u0002\u0010\u0003J\r\u0010\u0005\u001a\u00020\u0004¢\u0006\u0004\b\u0005\u0010\u0003J\u0015\u0010\b\u001a\u00020\u00042\u0006\u0010\u0007\u001a\u00020\u0006¢\u0006\u0004\b\b\u0010\tR\"\u0010\f\u001a\u00020\n8\u0006@\u0006X\u0086\u000e¢\u0006\u0012\n\u0004\b\u0005\u0010\u000b\u001a\u0004\b\f\u0010\r\"\u0004\b\u000e\u0010\u000f¨\u0006\u0010"}, d2 = {"Lkw/k;", "", "<init>", "()V", "Llg0/e0;", "a", "Landroid/net/wifi/WifiManager;", "wifiMg", "b", "(Landroid/net/wifi/WifiManager;)V", "", "Z", "isCancled", "()Z", "setCancled", "(Z)V", "wifidetect_release"}, k = 1, mv = {2, 0, 0}, xi = 48)
public final class k {
    public static ChangeQuickRedirect changeQuickRedirect;

    public boolean isCancled;

    public final void a() {
        this.isCancled = true;
    }

    public final void b(WifiManager wifiMg) {
        DatagramSocket datagramSocket;
        if (PatchProxy.proxy(new Object[]{wifiMg}, this, changeQuickRedirect, false, 20607, new Class[]{WifiManager.class}, Void.TYPE).isSupported) {
            return;
        }
        kotlin.jvm.internal.n.i(wifiMg, "wifiMg");
        int d = lw.f.a.d(wifiMg);
        h.a.a("UDP", "netmask=" + lw.c.d(d));
        int i = wifiMg.getDhcpInfo().ipAddress & d;
        try {
            datagramSocket = new DatagramSocket();
        } catch (SocketException e) {
            h.a.c("UDP", e);
            datagramSocket = null;
        }
        DatagramSocket datagramSocket2 = datagramSocket;
        if (datagramSocket2 == null) {
            return;
        }
        byte[] bArr = new byte[4];
        DatagramPacket datagramPacket = new DatagramPacket(new byte[1], 1);
        StringBuilder sb = new StringBuilder();
        datagramPacket.setPort(12345);
        int i2 = d >>> 24;
        if (i2 != 0) {
            int i3 = 0;
            while ((i2 & 1) == 0 && (i3 = i3 + 1) < 8) {
                i2 >>>= 1;
            }
            if (i3 == 0) {
                h.a.b("UDP", "java netmask 255.255.255.255");
                lw.b.b(datagramSocket2);
                return;
            }
            int i4 = 1 << i3;
            for (int i5 = 0; i5 < i4; i5++) {
                int i6 = (i5 << 24) + i;
                bArr[0] = (byte) (i6 & 255);
                bArr[1] = (byte) ((i6 >> 8) & 255);
                bArr[2] = (byte) ((i6 >> 16) & 255);
                bArr[3] = (byte) (i6 >>> 24);
                try {
                    datagramPacket.setAddress(InetAddress.getByAddress(bArr));
                    sb.append(lw.c.d(i6) + ',');
                } catch (IOException e2) {
                    e2.printStackTrace();
                }
                if (this.isCancled) {
                    lw.b.b(datagramSocket2);
                    h.a.a("UDP", "cancel, send:" + ((Object) sb));
                    return;
                }
                datagramSocket2.send(datagramPacket);
            }
        } else {
            if (d < 16580607) {
                i = wifiMg.getDhcpInfo().ipAddress & 16580607;
            }
            int i7 = d >>> 16;
            int i8 = 0;
            while ((i7 & 1) == 0) {
                i8++;
                i7 >>>= 1;
                if (i8 >= 4) {
                    break;
                }
            }
            int i9 = 1 << i8;
            int i11 = i9 <= 4 ? i9 : 4;
            for (int i12 = 0; i12 < i11; i12++) {
                for (int i13 = 0; i13 < 256; i13++) {
                    int i14 = (i12 << 16) + i + (i13 << 24);
                    bArr[0] = (byte) (i14 & 255);
                    bArr[1] = (byte) ((i14 >> 8) & 255);
                    bArr[2] = (byte) ((i14 >> 16) & 255);
                    bArr[3] = (byte) (i14 >>> 24);
                    sb.append(lw.c.d(i14) + ',');
                    try {
                        datagramPacket.setAddress(InetAddress.getByAddress(bArr));
                    } catch (IOException e3) {
                        h.a.c("UDP", e3);
                    }
                    if (this.isCancled) {
                        lw.b.b(datagramSocket2);
                        h.a.a("UDP", "cancel, send:" + ((Object) sb));
                        return;
                    }
                    datagramSocket2.send(datagramPacket);
                }
            }
        }
        lw.b.b(datagramSocket2);
        h.a.a("UDP", "send:" + ((Object) sb));
    }
}