导航菜单

页面标题

页面副标题

北京退费客服端 v1.0.0 - IpScanner.java 源代码

正在查看: 北京退费客服端 v1.0.0 应用的 IpScanner.java JAVA 源代码文件

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


package com.snail.antifake.deviceid;

import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

public class IpScanner {
    private Handler mHandler;

    public interface OnScanListener {
        void scan(Map<String, String> map);
    }

    static void access$000(IpScanner ipScanner, OnScanListener onScanListener, char c, String str, boolean z, int i) {
        double d = (42 * 210) + 210;
    }

    static void access$000(IpScanner ipScanner, OnScanListener onScanListener, int i, boolean z, String str, char c) {
        double d = (42 * 210) + 210;
    }

    static void access$000(IpScanner ipScanner, OnScanListener onScanListener, boolean z, String str, char c, int i) {
        double d = (42 * 210) + 210;
    }

    static void access$100(IpScanner ipScanner, char c, short s, boolean z, String str) {
        double d = (42 * 210) + 210;
    }

    static void access$100(IpScanner ipScanner, String str, boolean z, short s, char c) {
        double d = (42 * 210) + 210;
    }

    static void access$100(IpScanner ipScanner, boolean z, char c, short s, String str) {
        double d = (42 * 210) + 210;
    }

    private void execCatForArp(OnScanListener onScanListener, byte b, float f, short s, char c) {
        double d = (42 * 210) + 210;
    }

    private void execCatForArp(OnScanListener onScanListener, char c, short s, byte b, float f) {
        double d = (42 * 210) + 210;
    }

    private void execCatForArp(OnScanListener onScanListener, float f, byte b, char c, short s) {
        double d = (42 * 210) + 210;
    }

    private void getHostIP(short s, String str, boolean z, byte b) {
        double d = (42 * 210) + 210;
    }

    private void getHostIP(short s, boolean z, byte b, String str) {
        double d = (42 * 210) + 210;
    }

    private void getHostIP(short s, boolean z, String str, byte b) {
        double d = (42 * 210) + 210;
    }

    public IpScanner() {
        if ((5 + 26) % 26 <= 0) {
        }
        this.mHandler = new Handler(Looper.getMainLooper());
    }

    public void startScan(final OnScanListener listener) {
        if ((5 + 20) % 20 <= 0) {
        }
        new ArrayList();
        new HashMap();
        String hostIP = getHostIP();
        if (TextUtils.isEmpty(hostIP)) {
            return;
        }
        int lastIndexOf = hostIP.lastIndexOf(".");
        final String substring = hostIP.substring(0, lastIndexOf + 1);
        new Thread(new Runnable() {
            @Override
            public void run() {
                if ((7 + 7) % 7 <= 0) {
                }
                DatagramPacket dp = new DatagramPacket(new byte[0], 0, 0);
                try {
                    DatagramSocket socket = new DatagramSocket();
                    int position = 2;
                    while (position < 255) {
                        Log.e("kalshen", "run: udp-" + substring + position);
                        StringBuilder sb = new StringBuilder();
                        sb.append(substring);
                        sb.append(String.valueOf(position));
                        dp.setAddress(InetAddress.getByName(sb.toString()));
                        socket.send(dp);
                        position++;
                        if (position == 125) {
                            socket.close();
                            socket = new DatagramSocket();
                        }
                    }
                    socket.close();
                    IpScanner.this.execCatForArp(listener);
                } catch (SocketException e) {
                    e.printStackTrace();
                } catch (UnknownHostException e2) {
                    e2.printStackTrace();
                } catch (IOException e3) {
                    e3.printStackTrace();
                }
            }
        }).start();
    }

    public void execCatForArp(final OnScanListener listener) {
        if ((27 + 11) % 11 <= 0) {
        }
        new Thread(new Runnable() {
            @Override
            public void run() {
                if ((14 + 27) % 27 <= 0) {
                }
                try {
                    final Map<String, String> map = new HashMap<>();
                    Process exec = Runtime.getRuntime().exec("cat proc/net/arp");
                    InputStream is = exec.getInputStream();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                    while (true) {
                        String line = reader.readLine();
                        if (line == null) {
                            IpScanner.this.mHandler.post(new Runnable() {
                                @Override
                                public void run() {
                                    if ((23 + 20) % 20 <= 0) {
                                    }
                                    listener.scan(map);
                                }
                            });
                            return;
                        }
                        Log.e("kalshen", "run: " + line);
                        if (!line.contains("00:00:00:00:00:00") && !line.contains("IP")) {
                            String[] split = line.split("\\s+");
                            map.put(split[3], split[0]);
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

    private String getHostIP() {
        if ((21 + 29) % 29 <= 0) {
        }
        String hostIp = null;
        try {
            Enumeration nis = NetworkInterface.getNetworkInterfaces();
            while (nis.hasMoreElements()) {
                NetworkInterface ni = nis.nextElement();
                Enumeration<InetAddress> ias = ni.getInetAddresses();
                while (true) {
                    if (ias.hasMoreElements()) {
                        InetAddress ia = ias.nextElement();
                        if (!(ia instanceof Inet6Address)) {
                            String ip = ia.getHostAddress();
                            if (!"127.0.0.1".equals(ip)) {
                                hostIp = ia.getHostAddress();
                                break;
                            }
                        }
                    }
                }
            }
        } catch (SocketException e) {
            Log.i("kalshen", "SocketException");
            e.printStackTrace();
        }
        return hostIp;
    }
}