mirror of
https://github.com/RfidResearchGroup/RFIDtools.git
synced 2026-05-12 11:19:59 -07:00
Project rebuild & clean up.
This commit is contained in:
@@ -61,10 +61,9 @@ dependencies {
|
||||
implementation project(':console')
|
||||
implementation project(':chameleon')
|
||||
implementation project(':communication')
|
||||
implementation project(':pm3official')
|
||||
implementation project(':pm3iceman')
|
||||
implementation project(':pm3rdv4rrg')
|
||||
|
||||
testImplementation 'junit:junit:4.12'
|
||||
implementation project(path: ':pm3flasher')
|
||||
implementation project(path: ':xmodem')
|
||||
}
|
||||
@@ -18,6 +18,8 @@ import android.widget.EditText;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.proxgrind.xmodem.XModem128;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
@@ -43,9 +45,8 @@ import cn.rrg.chameleon.javabean.ResultBean;
|
||||
import cn.rrg.chameleon.defined.ResultCallback;
|
||||
import cn.rrg.rdv.activities.main.BaseActivity;
|
||||
import cn.rrg.rdv.activities.tools.ChameleonSoltAliasesActivity;
|
||||
import cn.rrg.rdv.activities.tools.DumpEditActivity;
|
||||
import cn.rrg.rdv.application.Properties;
|
||||
import cn.dxl.common.posixio.Communication;
|
||||
import cn.dxl.com.Communication;
|
||||
import cn.rrg.rdv.R;
|
||||
import cn.rrg.rdv.callback.DumpCallback;
|
||||
import cn.rrg.rdv.models.DumpModel;
|
||||
@@ -59,7 +60,6 @@ import cn.dxl.common.widget.ToastUtil;
|
||||
import cn.dxl.common.util.HexUtil;
|
||||
import cn.dxl.common.implement.ItemSelectedListenerImpl;
|
||||
import cn.dxl.common.util.ViewUtil;
|
||||
import cn.dxl.common.xmodem.XModem128;
|
||||
|
||||
/**
|
||||
* @author DXL
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import cn.rrg.devices.PN53X;
|
||||
import cn.rrg.rdv.models.AbstractDeviceModel;
|
||||
import cn.rrg.rdv.models.UniversalBulkRawModel;
|
||||
import cn.rrg.rdv.models.UniversalBulkPN53XRawModel;
|
||||
|
||||
public class PN53XUsbBulkTransferActivity extends AbstractPN53XConnectActivity {
|
||||
|
||||
@@ -26,7 +26,7 @@ public class PN53XUsbBulkTransferActivity extends AbstractPN53XConnectActivity {
|
||||
@Override
|
||||
public AbstractDeviceModel[] getModels() {
|
||||
return new AbstractDeviceModel[]{
|
||||
new UniversalBulkRawModel(name)
|
||||
new UniversalBulkPN53XRawModel(name)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +1,17 @@
|
||||
package cn.rrg.rdv.activities.main;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.proxgrind.pm3flasher.Proxmark3Flasher;
|
||||
import com.proxgrind.pm3flasher.Target;
|
||||
|
||||
import cn.dxl.com.Com;
|
||||
import cn.dxl.common.util.LogUtils;
|
||||
import cn.dxl.com.ComBridgeAdapter;
|
||||
import cn.dxl.common.widget.ToastUtil;
|
||||
import cn.rrg.com.DevCallback;
|
||||
import cn.rrg.com.UsbSerialControl;
|
||||
@@ -46,8 +41,8 @@ public class PM3FlasherMainActivity extends BaseActivity implements DevCallback<
|
||||
setContentView(R.layout.act_pm3_flasher);
|
||||
|
||||
// init and try to connect.
|
||||
control.register(this, this);
|
||||
Com.initCom(control, new EmptyDeivce());
|
||||
control.register(this);
|
||||
ComBridgeAdapter.initCom(control);
|
||||
|
||||
initViews();
|
||||
initActions();
|
||||
@@ -142,7 +137,7 @@ public class PM3FlasherMainActivity extends BaseActivity implements DevCallback<
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
mDialogWorkingState.dismiss();
|
||||
control.unregister(this);
|
||||
control.unregister();
|
||||
closeClient();
|
||||
}
|
||||
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.rrg.rdv.activities.proxmark3.iceman;
|
||||
|
||||
import cn.rrg.console.define.ICommandTools;
|
||||
import cn.rrg.natives.Proxmark3IcemanTools;
|
||||
import cn.rrg.rdv.activities.proxmark3.official.Proxmark3ConsoleActivity;
|
||||
|
||||
/*
|
||||
* PM3冰人客户端的基础控制台!
|
||||
* */
|
||||
public class Proxmark3IcemanConsoleActivity
|
||||
extends Proxmark3ConsoleActivity {
|
||||
|
||||
@Override
|
||||
protected ICommandTools initCMD() {
|
||||
//替换为冰人的控制台工具对象!
|
||||
return new Proxmark3IcemanTools();
|
||||
}
|
||||
|
||||
}
|
||||
+5
-12
@@ -1,24 +1,22 @@
|
||||
package cn.rrg.rdv.activities.proxmark3.official;
|
||||
package cn.rrg.rdv.activities.proxmark3.rdv4_rrg;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.CompoundButton;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import cn.dxl.common.util.FileUtils;
|
||||
import cn.rrg.console.define.ICommandTools;
|
||||
import cn.rrg.console.define.ICommandType;
|
||||
import cn.rrg.freo.IORedirector;
|
||||
import cn.rrg.console.define.ICommandTools;
|
||||
import cn.rrg.natives.Proxmark3Tools;
|
||||
import cn.rrg.rdv.R;
|
||||
import cn.rrg.rdv.activities.tools.BaseConsoleActivity;
|
||||
import cn.rrg.rdv.implement.EntryICommandType;
|
||||
import cn.rrg.rdv.util.Paths;
|
||||
import cn.rrg.rdv.R;
|
||||
|
||||
public abstract class Proxmark3ConsoleActivity
|
||||
extends BaseConsoleActivity
|
||||
@@ -88,11 +86,6 @@ public abstract class Proxmark3ConsoleActivity
|
||||
return guiView;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ICommandTools initCMD() {
|
||||
return new Proxmark3Tools();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected File initOutTarget() {
|
||||
return new File(Paths.PM3_FORWARD_O);
|
||||
-1
@@ -2,7 +2,6 @@ package cn.rrg.rdv.activities.proxmark3.rdv4_rrg;
|
||||
|
||||
import cn.rrg.console.define.ICommandTools;
|
||||
import cn.rrg.natives.Proxmark3RRGRdv4Tools;
|
||||
import cn.rrg.rdv.activities.proxmark3.official.Proxmark3ConsoleActivity;
|
||||
|
||||
public class Proxmark3Rdv4RRGConsoleActivity
|
||||
extends Proxmark3ConsoleActivity {
|
||||
|
||||
@@ -59,7 +59,7 @@ public abstract class DeviceConnectActivity
|
||||
models = getModels();
|
||||
//在onCreate中注册数据源!
|
||||
for (AbstractDeviceModel model : models) {
|
||||
model.register(this);
|
||||
model.register();
|
||||
}
|
||||
|
||||
Fragment newDevFragment = new DeviceConnectNewFragment();
|
||||
@@ -101,7 +101,7 @@ public abstract class DeviceConnectActivity
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
for (AbstractDeviceModel model : models) {
|
||||
model.unregister(this);
|
||||
model.unregister();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package cn.rrg.rdv.driver;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -9,12 +10,14 @@ import android.util.Log;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.dxl.common.util.AppUtil;
|
||||
import cn.dxl.mifare.StdMifareIntent;
|
||||
import cn.rrg.com.DevCallback;
|
||||
import cn.rrg.com.DriverInterface;
|
||||
|
||||
public class StandardDriver implements DriverInterface<String, NfcAdapter> {
|
||||
|
||||
private Application context = AppUtil.getInstance().getApp();
|
||||
private static final String LOG_TAG = StandardDriver.class.getSimpleName();
|
||||
private static final int UNIQUE_ID = 0x05;
|
||||
private DevCallback<String> callback = null;
|
||||
@@ -54,7 +57,7 @@ public class StandardDriver implements DriverInterface<String, NfcAdapter> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(Context context, DevCallback<String> callback) {
|
||||
public void register(DevCallback<String> callback) {
|
||||
if (!isRegister) {
|
||||
//实例化工具持有
|
||||
mMftools = new StdMifareIntent(context);
|
||||
@@ -98,7 +101,7 @@ public class StandardDriver implements DriverInterface<String, NfcAdapter> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unregister(Context context) {
|
||||
public void unregister() {
|
||||
//解注册广播监听事件!
|
||||
context.unregisterReceiver(mReceiver);
|
||||
isRegister = false;
|
||||
|
||||
@@ -8,12 +8,13 @@ import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.dxl.common.util.IOUtils;
|
||||
import cn.dxl.common.util.LogUtils;
|
||||
import cn.rrg.com.DevCallback;
|
||||
import cn.rrg.com.DriverInterface;
|
||||
|
||||
import cn.dxl.com.Com;
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.ComBridgeAdapter;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.rdv.javabean.DevBean;
|
||||
import cn.rrg.rdv.callback.ConnectCallback;
|
||||
import cn.rrg.rdv.callback.InitNfcCallback;
|
||||
@@ -29,7 +30,7 @@ public abstract class AbstractDeviceModel<D, A>
|
||||
|
||||
protected final String TAG = this.getClass().getSimpleName();
|
||||
//设备初始化类
|
||||
protected Device mDevice;
|
||||
protected DeviceChecker mDeviceChecker;
|
||||
//驱动的实现,此实例必须被初始化!
|
||||
protected DriverInterface<D, A> mDI;
|
||||
|
||||
@@ -50,8 +51,8 @@ public abstract class AbstractDeviceModel<D, A>
|
||||
// 初始化资源!
|
||||
if (mDI == null)
|
||||
mDI = getDriverInterface();
|
||||
if (mDevice == null)
|
||||
mDevice = getDeviceInitImpl();
|
||||
if (mDeviceChecker == null)
|
||||
mDeviceChecker = getDeviceInitImpl();
|
||||
if (devCallbackImpl == null)
|
||||
devCallbackImpl = getDevCallback();
|
||||
}
|
||||
@@ -112,22 +113,22 @@ public abstract class AbstractDeviceModel<D, A>
|
||||
}
|
||||
|
||||
//注册需要的广播事件
|
||||
public void register(Context context) {
|
||||
public void register() {
|
||||
init();
|
||||
// 注册驱动!
|
||||
if (mDI != null) {
|
||||
//直接注册!
|
||||
mDI.register(context, devCallbackImpl);
|
||||
mDI.register(devCallbackImpl);
|
||||
} else {
|
||||
Log.d(TAG, "驱动为空,可能是因为没有加载该驱动!");
|
||||
}
|
||||
}
|
||||
|
||||
//解注册广播事件!
|
||||
public void unregister(Context context) {
|
||||
public void unregister() {
|
||||
//直接解注册!
|
||||
if (mDI != null)
|
||||
mDI.unregister(context);
|
||||
mDI.unregister();
|
||||
}
|
||||
|
||||
// 设置当前驱动的链接状态!
|
||||
@@ -144,7 +145,7 @@ public abstract class AbstractDeviceModel<D, A>
|
||||
public abstract DriverInterface<D, A> getDriverInterface();
|
||||
|
||||
//必须初始化的设备初始化类!
|
||||
public abstract Device getDeviceInitImpl();
|
||||
public abstract DeviceChecker getDeviceInitImpl();
|
||||
|
||||
//必须初始化的设备扫描相关的实现!
|
||||
public abstract DevCallback<D> getDevCallback();
|
||||
@@ -171,17 +172,19 @@ public abstract class AbstractDeviceModel<D, A>
|
||||
@Override
|
||||
public void run() {
|
||||
//直接连接,有需要时可重写!
|
||||
if (Com.initCom(mDI, mDevice)) {
|
||||
callback.onInitSuccess();
|
||||
} else {
|
||||
try {
|
||||
try {
|
||||
if (mDeviceChecker.working()) {
|
||||
callback.onInitSuccess();
|
||||
} else {
|
||||
|
||||
LogUtils.d("初始化失败,将会调用设备封装类关闭设备!");
|
||||
// close device!
|
||||
mDevice.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
mDeviceChecker.close();
|
||||
callback.onInitFail();
|
||||
}
|
||||
callback.onInitFail();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
IOUtils.close(mDeviceChecker);
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
|
||||
@@ -7,7 +7,7 @@ import android.util.Log;
|
||||
|
||||
import cn.dxl.common.util.AppUtil;
|
||||
import cn.rrg.com.DevCallback;
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.com.DriverInterface;
|
||||
import cn.rrg.com.UsbAcr122Raw;
|
||||
import cn.rrg.devices.PN53X;
|
||||
@@ -22,8 +22,8 @@ public class Acr122uUsbRawModel extends AbstractDeviceModel<String, UsbManager>
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
return new PN53X(PN53X.NAME.ACR122);
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
return new PN53X(PN53X.NAME.ACR122, mDI);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,7 +5,7 @@ import android.util.Log;
|
||||
import cn.rrg.chameleon.defined.IChameleonExecutor;
|
||||
import cn.rrg.chameleon.executor.ChameleonExecutor;
|
||||
import cn.rrg.chameleon.executor.ExecutorImpl;
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.devices.EmptyDeivce;
|
||||
import cn.rrg.rdv.callback.ConnectCallback;
|
||||
import cn.rrg.rdv.callback.InitNfcCallback;
|
||||
@@ -13,8 +13,8 @@ import cn.rrg.rdv.util.Commons;
|
||||
|
||||
public class ChameleonUsb2UartModel extends AbsUsb2UartModel {
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
return new EmptyDeivce();
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
return new EmptyDeivce(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
|
||||
import cn.rrg.com.DriverInterface;
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.devices.PN53X;
|
||||
|
||||
/*
|
||||
@@ -17,7 +17,7 @@ public class PN532SppUartModel extends AbstractSppDeviceModel {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
return new PN53X(PN53X.NAME.PN532);
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
return new PN53X(PN53X.NAME.PN532, mDI);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.rrg.rdv.models;
|
||||
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.devices.PN53X;
|
||||
|
||||
public class PN532Usb2UartModel extends AbsUsb2UartModel {
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
return new PN53X(PN53X.NAME.PN532);
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
return new PN53X(PN53X.NAME.PN532, mDI);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
|
||||
import cn.rrg.com.DriverInterface;
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.devices.Proxmark3RRGRdv4;
|
||||
|
||||
/*
|
||||
@@ -18,8 +18,8 @@ public class Proxmark3Rdv4SppModel extends AbstractSppDeviceModel {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
//此驱动对应的RDV4的客户端,因此需要返回的是RDV4的初始化测试实现!
|
||||
return new Proxmark3RRGRdv4();
|
||||
return new Proxmark3RRGRdv4(mDI);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.rrg.rdv.models;
|
||||
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.devices.Proxmark3RRGRdv4;
|
||||
|
||||
public class Proxmark3Rdv4UsbModel extends AbsUsb2UartModel {
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
return new Proxmark3RRGRdv4();
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
return new Proxmark3RRGRdv4(mDI);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import android.nfc.NfcAdapter;
|
||||
import cn.rrg.com.DevCallback;
|
||||
import cn.rrg.com.DriverInterface;
|
||||
import cn.rrg.rdv.driver.StandardDriver;
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.devices.EmptyDeivce;
|
||||
import cn.rrg.rdv.javabean.DevBean;
|
||||
import cn.rrg.rdv.callback.ConnectCallback;
|
||||
@@ -21,9 +21,9 @@ public class StandardNFCDeviceModel extends AbstractDeviceModel<String, NfcAdapt
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
//直接返回一个空设备即可!
|
||||
return new EmptyDeivce();
|
||||
return new EmptyDeivce(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-5
@@ -7,7 +7,7 @@ import android.util.Log;
|
||||
|
||||
import cn.dxl.common.util.AppUtil;
|
||||
import cn.rrg.com.DevCallback;
|
||||
import cn.rrg.com.Device;
|
||||
import cn.dxl.com.DeviceChecker;
|
||||
import cn.rrg.com.DriverInterface;
|
||||
import cn.rrg.com.UniversalBulkTransfer;
|
||||
import cn.rrg.devices.PN53X;
|
||||
@@ -15,11 +15,11 @@ import cn.rrg.rdv.callback.ConnectCallback;
|
||||
import cn.rrg.rdv.javabean.DevBean;
|
||||
import cn.rrg.rdv.util.Commons;
|
||||
|
||||
public class UniversalBulkRawModel extends AbstractDeviceModel<String, UsbManager> {
|
||||
public class UniversalBulkPN53XRawModel extends AbstractDeviceModel<String, UsbManager> {
|
||||
|
||||
private String name;
|
||||
|
||||
public UniversalBulkRawModel(String name) {
|
||||
public UniversalBulkPN53XRawModel(String name) {
|
||||
super();
|
||||
this.name = name;
|
||||
}
|
||||
@@ -30,9 +30,9 @@ public class UniversalBulkRawModel extends AbstractDeviceModel<String, UsbManage
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device getDeviceInitImpl() {
|
||||
public DeviceChecker getDeviceInitImpl() {
|
||||
if (name == null) return null;
|
||||
return new PN53X(name);
|
||||
return new PN53X(name, mDI);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,7 +15,7 @@ public class DeviceAttachPresenter
|
||||
}
|
||||
|
||||
//注册设备广播
|
||||
public void register(Context context, int[] pers) {
|
||||
public void register(int[] pers) {
|
||||
//先设置回调!
|
||||
adm.addCallback(new DevCallback<DevBean>() {
|
||||
@Override
|
||||
@@ -31,6 +31,6 @@ public class DeviceAttachPresenter
|
||||
}
|
||||
});
|
||||
//再尝试注册实际的驱动!
|
||||
adm.register(context);
|
||||
adm.register();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,14 +39,14 @@ public class DevicePresenter<T extends DeviceView>
|
||||
}
|
||||
|
||||
//注册设备和广播!
|
||||
public void register(Context context) {
|
||||
adm.register(context);
|
||||
public void register() {
|
||||
adm.register();
|
||||
}
|
||||
|
||||
//解注册广播
|
||||
public void unregister(Context context) {
|
||||
public void unregister() {
|
||||
//解注册所有的驱动!
|
||||
adm.unregister(context);
|
||||
adm.unregister();
|
||||
}
|
||||
|
||||
//更新发现的设备List
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user