正在查看: 北京退费客服端 v1.0.0 应用的 IpScanner.java JAVA 源代码文件
本页面展示 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;
}
}