mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-07 05:26:30 +08:00
android adapt changed.
This commit is contained in:
parent
4e6fef76d0
commit
64068ba430
2 changed files with 157 additions and 130 deletions
|
@ -1,12 +1,6 @@
|
|||
# version
|
||||
cmake_minimum_required(VERSION 3.4.1)
|
||||
|
||||
# We are build on android platform, so we need add def "ANDROID"
|
||||
# NDK version for SDK 19 doesn't implement the whole C++11 standard in the STL.
|
||||
# see: https://stackoverflow.com/questions/44736135/ndk-clang-error-undefined-reference-to-localeconv
|
||||
# so we need add def getlocaledecpoint()='.'
|
||||
add_definitions(-DANDROID -D"getlocaledecpoint\(\)='.'")
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -fvisibility=hidden -w")
|
||||
|
||||
# Root path into client
|
||||
|
@ -14,138 +8,170 @@ set(PM3_ROOT ../../)
|
|||
|
||||
add_subdirectory(../deps deps)
|
||||
|
||||
# Build zlib deps at external
|
||||
if (CMAKE_MAKE_PROGRAM MATCHES ".*ninja.*")
|
||||
set(BZIP2_INCLUDE_DIRS ${BZIP2_ROOT})
|
||||
set(BZIP2_LIBRARIES pm3rrg_rdv4_bzip2)
|
||||
find_library(pm3rrg_rdv4_bzip2 REQUIRED)
|
||||
elseif (UNIX) # Cross compile at Unix Makefile System.
|
||||
# bzip2 dep.
|
||||
include(ExternalProject)
|
||||
set(CFLAGS_EXTERNAL_LIB "CFLAGS=--target=${CMAKE_C_COMPILER_TARGET} -w")
|
||||
set(BZIP2_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/deps/bzip2/src/bzip2)
|
||||
ExternalProject_Add(bzip2
|
||||
GIT_REPOSITORY https://android.googlesource.com/platform/external/bzip2
|
||||
GIT_TAG platform-tools-30.0.2
|
||||
PREFIX deps/bzip2
|
||||
#SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/deps/bzip2
|
||||
CONFIGURE_COMMAND mkdir -p ${BZIP2_BUILD_DIR} && git archive --format tar HEAD | tar -C ${BZIP2_BUILD_DIR} -x
|
||||
BUILD_IN_SOURCE ON
|
||||
BUILD_COMMAND make -C ${BZIP2_BUILD_DIR} -j4 CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} LD=${CMAKE_C_COMPILER} AR=${CMAKE_AR} RANLIB=${CMAKE_RANLIB} ${CFLAGS_EXTERNAL_LIB} libbz2.a
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
)
|
||||
ExternalProject_Add_StepTargets(bzip2 configure build install)
|
||||
set(BZIP2_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/deps/bzip2/src/bzip2)
|
||||
set(BZIP2_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/deps/bzip2/src/bzip2/libbz2.a)
|
||||
else ()
|
||||
message(ERROR "Please implement your BZIP2 import.")
|
||||
endif ()
|
||||
|
||||
# client resources
|
||||
add_library(pm3rrg_rdv4 SHARED
|
||||
${PM3_ROOT}/common/commonutil.c
|
||||
${PM3_ROOT}/common/util_posix.c
|
||||
${PM3_ROOT}/common/parity.c
|
||||
${PM3_ROOT}/common/bucketsort.c
|
||||
${PM3_ROOT}/common/crapto1/crapto1.c
|
||||
${PM3_ROOT}/common/crapto1/crypto1.c
|
||||
${PM3_ROOT}/common/crc.c
|
||||
${PM3_ROOT}/common/crc16.c
|
||||
${PM3_ROOT}/common/crc32.c
|
||||
${PM3_ROOT}/common/crc64.c
|
||||
${PM3_ROOT}/common/cardhelper.c
|
||||
${PM3_ROOT}/common/parity.c
|
||||
${PM3_ROOT}/common/commonutil.c
|
||||
${PM3_ROOT}/common/generator.c
|
||||
${PM3_ROOT}/common/lfdemod.c
|
||||
${PM3_ROOT}/common/iso15693tools.c
|
||||
${PM3_ROOT}/common/bucketsort.c
|
||||
${PM3_ROOT}/common/legic_prng.c
|
||||
# client inside
|
||||
${PM3_ROOT}/client/src/fileutils.c
|
||||
${PM3_ROOT}/client/src/uart/uart_posix.c
|
||||
${PM3_ROOT}/client/src/loclass/cipherutils.c
|
||||
${PM3_ROOT}/client/src/loclass/cipher.c
|
||||
${PM3_ROOT}/client/src/loclass/ikeys.c
|
||||
${PM3_ROOT}/client/src/loclass/elite_crack.c
|
||||
${PM3_ROOT}/client/src/emv/emvcore.c
|
||||
${PM3_ROOT}/common/iso15693tools.c
|
||||
${PM3_ROOT}/common/cardhelper.c
|
||||
${PM3_ROOT}/common/generator.c
|
||||
${PM3_ROOT}/client/src/crypto/asn1dump.c
|
||||
${PM3_ROOT}/client/src/crypto/asn1utils.c
|
||||
${PM3_ROOT}/client/src/crypto/libpcrypto.c
|
||||
${PM3_ROOT}/client/src/emv/test/cda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/crypto_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/cryptotest.c
|
||||
${PM3_ROOT}/client/src/emv/test/dda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/sda_test.c
|
||||
${PM3_ROOT}/client/src/emv/apduinfo.c
|
||||
${PM3_ROOT}/client/src/emv/cmdemv.c
|
||||
${PM3_ROOT}/client/src/emv/tlv.c
|
||||
${PM3_ROOT}/client/src/emv/dol.c
|
||||
${PM3_ROOT}/client/src/emv/emv_tags.c
|
||||
${PM3_ROOT}/client/src/emv/emv_roca.c
|
||||
${PM3_ROOT}/client/src/emv/dump.c
|
||||
${PM3_ROOT}/client/src/emv/crypto_polarssl.c
|
||||
${PM3_ROOT}/client/src/emv/crypto.c
|
||||
${PM3_ROOT}/client/src/emv/crypto_polarssl.c
|
||||
${PM3_ROOT}/client/src/emv/dol.c
|
||||
${PM3_ROOT}/client/src/emv/dump.c
|
||||
${PM3_ROOT}/client/src/emv/emv_pk.c
|
||||
${PM3_ROOT}/client/src/emv/emv_pki.c
|
||||
${PM3_ROOT}/client/src/emv/emv_pki_priv.c
|
||||
${PM3_ROOT}/client/src/emv/emv_roca.c
|
||||
${PM3_ROOT}/client/src/emv/emv_tags.c
|
||||
${PM3_ROOT}/client/src/emv/emvcore.c
|
||||
${PM3_ROOT}/client/src/emv/emvjson.c
|
||||
${PM3_ROOT}/client/src/emv/apduinfo.c
|
||||
${PM3_ROOT}/client/src/emv/test/cryptotest.c
|
||||
${PM3_ROOT}/client/src/emv/test/sda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/dda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/cda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/crypto_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/cryptotest.c
|
||||
${PM3_ROOT}/client/src/emv/test/sda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/dda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/cda_test.c
|
||||
${PM3_ROOT}/client/src/emv/test/crypto_test.c
|
||||
${PM3_ROOT}/client/src/crypto/libpcrypto.c
|
||||
${PM3_ROOT}/client/src/crypto/asn1utils.c
|
||||
${PM3_ROOT}/client/src/crypto/asn1dump.c
|
||||
${PM3_ROOT}/client/src/emv/tlv.c
|
||||
${PM3_ROOT}/client/src/fido/additional_ca.c
|
||||
${PM3_ROOT}/client/src/fido/cbortools.c
|
||||
${PM3_ROOT}/client/src/fido/cose.c
|
||||
${PM3_ROOT}/client/src/fido/fidocore.c
|
||||
${PM3_ROOT}/client/src/loclass/cipher.c
|
||||
${PM3_ROOT}/client/src/loclass/cipherutils.c
|
||||
${PM3_ROOT}/client/src/loclass/elite_crack.c
|
||||
${PM3_ROOT}/client/src/loclass/hash1_brute.c
|
||||
${PM3_ROOT}/client/src/loclass/ikeys.c
|
||||
${PM3_ROOT}/client/src/mifare/mad.c
|
||||
${PM3_ROOT}/client/src/mifare/mfkey.c
|
||||
${PM3_ROOT}/client/src/mifare/mifare4.c
|
||||
${PM3_ROOT}/client/src/mifare/mifaredefault.c
|
||||
${PM3_ROOT}/client/src/mifare/mifarehost.c
|
||||
${PM3_ROOT}/client/src/mifare/ndef.c
|
||||
${PM3_ROOT}/client/src/mifare/desfire_crypto.c
|
||||
${PM3_ROOT}/client/src/mifare/mifaredefault.c
|
||||
${PM3_ROOT}/client/src/fido/cose.c
|
||||
${PM3_ROOT}/client/src/fido/fidocore.c
|
||||
${PM3_ROOT}/client/src/fido/cbortools.c
|
||||
${PM3_ROOT}/client/src/fido/additional_ca.c
|
||||
${PM3_ROOT}/client/src/preferences.c
|
||||
${PM3_ROOT}/client/src/graph.c
|
||||
${PM3_ROOT}/client/src/ui.c
|
||||
${PM3_ROOT}/client/src/tea.c
|
||||
${PM3_ROOT}/client/src/util.c
|
||||
${PM3_ROOT}/client/src/comms.c
|
||||
${PM3_ROOT}/client/src/cmdcrc.c
|
||||
${PM3_ROOT}/client/src/cmdanalyse.c
|
||||
${PM3_ROOT}/client/src/cmddata.c
|
||||
${PM3_ROOT}/client/src/cmdtrace.c
|
||||
${PM3_ROOT}/client/src/cmdhf.c
|
||||
${PM3_ROOT}/client/src/cmdhflto.c
|
||||
${PM3_ROOT}/client/src/uart/uart_posix.c
|
||||
${PM3_ROOT}/client/src/uart/uart_win32.c
|
||||
${PM3_ROOT}/client/src/ui/overlays.ui
|
||||
${PM3_ROOT}/client/src/aidsearch.c
|
||||
${PM3_ROOT}/client/src/cmdanalyse.c
|
||||
${PM3_ROOT}/client/src/cmdcrc.c
|
||||
${PM3_ROOT}/client/src/cmddata.c
|
||||
${PM3_ROOT}/client/src/cmdflashmem.c
|
||||
${PM3_ROOT}/client/src/cmdflashmemspiffs.c
|
||||
${PM3_ROOT}/client/src/cmdhf.c
|
||||
${PM3_ROOT}/client/src/cmdhf14a.c
|
||||
${PM3_ROOT}/client/src/cmdhf14b.c
|
||||
${PM3_ROOT}/client/src/cmdwiegand.c
|
||||
${PM3_ROOT}/client/src/wiegand_formatutils.c
|
||||
${PM3_ROOT}/client/src/wiegand_formats.c
|
||||
${PM3_ROOT}/client/src/cmdlfmotorola.c
|
||||
${PM3_ROOT}/client/src/cmdlfgallagher.c
|
||||
${PM3_ROOT}/client/src/cmdhf15.c
|
||||
${PM3_ROOT}/client/src/cmdhfcryptorf.c
|
||||
${PM3_ROOT}/client/src/cmdhfepa.c
|
||||
${PM3_ROOT}/client/src/cmdhflegic.c
|
||||
${PM3_ROOT}/client/src/cmdhfthinfilm.c
|
||||
${PM3_ROOT}/client/src/cmdflashmemspiffs.c
|
||||
${PM3_ROOT}/client/src/cmdhffelica.c
|
||||
${PM3_ROOT}/client/src/cmdhffido.c
|
||||
${PM3_ROOT}/client/src/cmdhficlass.c
|
||||
${PM3_ROOT}/client/src/cmdhflegic.c
|
||||
${PM3_ROOT}/client/src/cmdhflist.c
|
||||
${PM3_ROOT}/client/src/cmdhflto.c
|
||||
${PM3_ROOT}/client/src/cmdhfmf.c
|
||||
${PM3_ROOT}/client/src/cmdhfmfdes.c
|
||||
${PM3_ROOT}/client/src/cmdhfmfu.c
|
||||
${PM3_ROOT}/client/src/cmdhfmfhard.c
|
||||
${PM3_ROOT}/client/src/cmdhfmfp.c
|
||||
${PM3_ROOT}/client/src/cmdhffido.c
|
||||
${PM3_ROOT}/client/src/cmdhfmfu.c
|
||||
${PM3_ROOT}/client/src/cmdhfthinfilm.c
|
||||
${PM3_ROOT}/client/src/cmdhftopaz.c
|
||||
${PM3_ROOT}/client/src/cmdhw.c
|
||||
${PM3_ROOT}/client/src/cmdlf.c
|
||||
${PM3_ROOT}/client/src/cmdlfkeri.c
|
||||
${PM3_ROOT}/client/src/cmdlffdx.c
|
||||
${PM3_ROOT}/client/src/cmdlfio.c
|
||||
${PM3_ROOT}/client/src/cmdlfem4x.c
|
||||
${PM3_ROOT}/client/src/cmdlfhid.c
|
||||
${PM3_ROOT}/client/src/cmdlfnedap.c
|
||||
${PM3_ROOT}/client/src/cmdlfguard.c
|
||||
${PM3_ROOT}/client/src/cmdlfhitag.c
|
||||
${PM3_ROOT}/client/src/cmdlfjablotron.c
|
||||
${PM3_ROOT}/client/src/cmdsmartcard.c
|
||||
${PM3_ROOT}/client/src/cmdlfti.c
|
||||
${PM3_ROOT}/client/src/cmdlfpac.c
|
||||
${PM3_ROOT}/client/src/cmdlfnoralsy.c
|
||||
${PM3_ROOT}/client/src/cmdlfnexwatch.c
|
||||
${PM3_ROOT}/client/src/cmdlfpresco.c
|
||||
${PM3_ROOT}/client/src/cmdlfindala.c
|
||||
${PM3_ROOT}/client/src/cmdlfviking.c
|
||||
${PM3_ROOT}/client/src/cmdlfsecurakey.c
|
||||
${PM3_ROOT}/client/src/cmdlfpyramid.c
|
||||
${PM3_ROOT}/client/src/cmdlfparadox.c
|
||||
${PM3_ROOT}/client/src/cmdlfcotag.c
|
||||
${PM3_ROOT}/client/src/cmdlfawid.c
|
||||
${PM3_ROOT}/client/src/cmdparser.c
|
||||
${PM3_ROOT}/client/src/cmdscript.c
|
||||
${PM3_ROOT}/client/src/cmdlfcotag.c
|
||||
${PM3_ROOT}/client/src/cmdlfem4x.c
|
||||
${PM3_ROOT}/client/src/cmdlfem4x50.c
|
||||
${PM3_ROOT}/client/src/cmdlffdx.c
|
||||
${PM3_ROOT}/client/src/cmdlfgallagher.c
|
||||
${PM3_ROOT}/client/src/cmdlfguard.c
|
||||
${PM3_ROOT}/client/src/cmdlfhid.c
|
||||
${PM3_ROOT}/client/src/cmdlfhitag.c
|
||||
${PM3_ROOT}/client/src/cmdlfindala.c
|
||||
${PM3_ROOT}/client/src/cmdlfio.c
|
||||
${PM3_ROOT}/client/src/cmdlfjablotron.c
|
||||
${PM3_ROOT}/client/src/cmdlfkeri.c
|
||||
${PM3_ROOT}/client/src/cmdlfmotorola.c
|
||||
${PM3_ROOT}/client/src/cmdlfnedap.c
|
||||
${PM3_ROOT}/client/src/cmdlfnexwatch.c
|
||||
${PM3_ROOT}/client/src/cmdlfnoralsy.c
|
||||
${PM3_ROOT}/client/src/cmdlfpac.c
|
||||
${PM3_ROOT}/client/src/cmdlfparadox.c
|
||||
${PM3_ROOT}/client/src/cmdlfpcf7931.c
|
||||
${PM3_ROOT}/client/src/cmdlfpresco.c
|
||||
${PM3_ROOT}/client/src/cmdlfpyramid.c
|
||||
${PM3_ROOT}/client/src/cmdlfsecurakey.c
|
||||
${PM3_ROOT}/client/src/cmdlft55xx.c
|
||||
${PM3_ROOT}/client/src/cmdlfti.c
|
||||
${PM3_ROOT}/client/src/cmdlfverichip.c
|
||||
${PM3_ROOT}/client/src/cmdlfviking.c
|
||||
${PM3_ROOT}/client/src/cmdlfvisa2000.c
|
||||
${PM3_ROOT}/client/src/cmdmain.c
|
||||
${PM3_ROOT}/client/src/cmdflashmem.c
|
||||
${PM3_ROOT}/client/src/scripting.c
|
||||
${PM3_ROOT}/client/src/cmdparser.c
|
||||
${PM3_ROOT}/client/src/cmdscript.c
|
||||
${PM3_ROOT}/client/src/cmdsmartcard.c
|
||||
${PM3_ROOT}/client/src/cmdtrace.c
|
||||
${PM3_ROOT}/client/src/cmdusart.c
|
||||
${PM3_ROOT}/client/src/cmdwiegand.c
|
||||
${PM3_ROOT}/client/src/comms.c
|
||||
${PM3_ROOT}/client/src/fileutils.c
|
||||
${PM3_ROOT}/client/src/flash.c
|
||||
${PM3_ROOT}/client/src/graph.c
|
||||
${PM3_ROOT}/client/src/jansson_path.c
|
||||
${PM3_ROOT}/client/src/preferences.c
|
||||
${PM3_ROOT}/client/src/pm3_binlib.c
|
||||
${PM3_ROOT}/client/src/pm3_bitlib.c
|
||||
${PM3_ROOT}/client/src/cmdlft55xx.c
|
||||
${PM3_ROOT}/client/src/cmdlfpcf7931.c
|
||||
${PM3_ROOT}/client/src/cmdhfmfhard.c
|
||||
${PM3_ROOT}/client/src/cmdusart.c
|
||||
${PM3_ROOT}/client/src/jansson_path.c
|
||||
${PM3_ROOT}/client/src/prng.c
|
||||
${PM3_ROOT}/client/src/scandir.c
|
||||
${PM3_ROOT}/client/src/scripting.c
|
||||
${PM3_ROOT}/client/src/tea.c
|
||||
${PM3_ROOT}/client/src/ui.c
|
||||
${PM3_ROOT}/client/src/util.c
|
||||
${PM3_ROOT}/client/src/wiegand_formats.c
|
||||
${PM3_ROOT}/client/src/wiegand_formatutils.c
|
||||
# android resources
|
||||
jni_tools.c
|
||||
pm3_main.c
|
||||
|
@ -154,6 +180,7 @@ add_library(pm3rrg_rdv4 SHARED
|
|||
# includes
|
||||
target_include_directories(pm3rrg_rdv4 PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${BZIP2_INCLUDE_DIRS}
|
||||
${PM3_ROOT}/include/
|
||||
${PM3_ROOT}/common
|
||||
${PM3_ROOT}/common_fpga
|
||||
|
@ -169,7 +196,7 @@ find_library(pm3rrg_rdv4_hardnested REQUIRED)
|
|||
find_library(pm3rrg_rdv4_whereami REQUIRED)
|
||||
|
||||
target_link_libraries(pm3rrg_rdv4
|
||||
bz2
|
||||
${BZIP2_LIBRARIES}
|
||||
pm3rrg_rdv4_hardnested
|
||||
pm3rrg_rdv4_mbedtls
|
||||
pm3rrg_rdv4_cliparser
|
||||
|
@ -180,4 +207,4 @@ target_link_libraries(pm3rrg_rdv4
|
|||
pm3rrg_rdv4_reveng
|
||||
pm3rrg_rdv4_whereami
|
||||
android
|
||||
log)
|
||||
log)
|
|
@ -28,26 +28,18 @@
|
|||
#include "jni_tools.h"
|
||||
|
||||
//iceman, todo: proxify socker server name. Maybe set in preferences?
|
||||
// DXL reply, todo:
|
||||
// Is a good idea, we can move this def to preferences, but not now.
|
||||
// Because libpm3rrg_rdv4.so cant load preferences.
|
||||
// I will impl a function to load preferences at future.
|
||||
#define PM3_LOCAL_SOCKET_SERVER "DXL.COM.ASL"
|
||||
|
||||
void ShowGraphWindow(void) {
|
||||
}
|
||||
|
||||
void HideGraphWindow(void) {
|
||||
}
|
||||
|
||||
void RepaintGraphWindow(void) {
|
||||
}
|
||||
|
||||
int push_cmdscriptfile(char *path, bool stayafter) {
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
||||
static char *g_android_executable_directory = NULL;
|
||||
static const char *g_android_user_directory = NULL;
|
||||
static char *g_android_user_directory = NULL;
|
||||
|
||||
const char *get_executable_directory(void) {
|
||||
char version_information[] = {"ANDROID_LIBRARY 1.4.6 build by DXL"};
|
||||
|
||||
const char *get_my_executable_directory(void) {
|
||||
if (g_android_executable_directory == NULL) {
|
||||
char buf[FILE_PATH_SIZE] = {0};
|
||||
getcwd(buf, sizeof(buf));
|
||||
|
@ -57,14 +49,20 @@ const char *get_executable_directory(void) {
|
|||
return g_android_executable_directory;
|
||||
}
|
||||
|
||||
const char *get_user_directory(void) {
|
||||
const char *get_my_user_directory(void) {
|
||||
return g_android_user_directory;
|
||||
}
|
||||
|
||||
void ShowGraphWindow(void) {}
|
||||
|
||||
void HideGraphWindow(void) {}
|
||||
|
||||
void RepaintGraphWindow(void) {}
|
||||
|
||||
int push_cmdscriptfile(char *path, bool stayafter) { return PM3_SUCCESS; }
|
||||
|
||||
static bool OpenPm3(void) {
|
||||
if (conn.run) {
|
||||
return true;
|
||||
}
|
||||
if (conn.run) { return true; }
|
||||
// Open with LocalSocket. Not a tcp connection!
|
||||
bool ret = OpenProxmark("socket:"PM3_LOCAL_SOCKET_SERVER, false, 1000, false, 115200);
|
||||
return ret;
|
||||
|
@ -88,7 +86,7 @@ jint Console(JNIEnv *env, jobject instance, jstring cmd_) {
|
|||
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
|
||||
char *cmd = (char *)((*env)->GetStringUTFChars(env, cmd_, 0));
|
||||
char *cmd = (char *) ((*env)->GetStringUTFChars(env, cmd_, 0));
|
||||
int ret = CommandReceived(cmd);
|
||||
if (ret == 99) {
|
||||
// exit / quit
|
||||
|
@ -104,11 +102,11 @@ jint Console(JNIEnv *env, jobject instance, jstring cmd_) {
|
|||
* Is client running!
|
||||
* */
|
||||
jboolean IsClientRunning(JNIEnv *env, jobject instance) {
|
||||
return (jboolean)((jboolean) conn.run);
|
||||
return (jboolean) ((jboolean) conn.run);
|
||||
}
|
||||
|
||||
/*
|
||||
* test hw and hw and client.
|
||||
* test hw and fw and client.
|
||||
* */
|
||||
jboolean TestPm3(JNIEnv *env, jobject instance) {
|
||||
if (open() == false) {
|
||||
|
@ -116,7 +114,7 @@ jboolean TestPm3(JNIEnv *env, jobject instance) {
|
|||
return false;
|
||||
}
|
||||
bool ret = (TestProxmark() == PM3_SUCCESS);
|
||||
return (jboolean)(ret);
|
||||
return (jboolean) (ret);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -143,25 +141,27 @@ JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) {
|
|||
}
|
||||
jclass clz_test = (*jniEnv)->FindClass(jniEnv, "cn/rrg/devices/Proxmark3RRGRdv4");
|
||||
JNINativeMethod methods[] = {
|
||||
{"startExecute", "(Ljava/lang/String;)I", (void *) Console},
|
||||
{"stopExecute", "()V", (void *) ClosePm3},
|
||||
{"isExecuting", "()Z", (void *) IsClientRunning}
|
||||
{"startExecute", "(Ljava/lang/String;)I", (void *) Console},
|
||||
{"stopExecute", "()V", (void *) ClosePm3},
|
||||
{"isExecuting", "()Z", (void *) IsClientRunning}
|
||||
};
|
||||
|
||||
JNINativeMethod methods1[] = {
|
||||
{"testPm3", "()Z", (void *) TestPm3},
|
||||
{"closePm3", "()V", ClosePm3}
|
||||
{"testPm3", "()Z", (void *) TestPm3},
|
||||
{"closePm3", "()V", ClosePm3}
|
||||
};
|
||||
|
||||
if ((*jniEnv)->RegisterNatives(jniEnv, clazz, methods, sizeof(methods) / sizeof(methods[0])) != JNI_OK) {
|
||||
if ((*jniEnv)->RegisterNatives(jniEnv, clazz, methods, sizeof(methods) / sizeof(methods[0])) !=
|
||||
JNI_OK) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((*jniEnv)->RegisterNatives(jniEnv, clz_test, methods1, sizeof(methods1) / sizeof(methods1[0])) != JNI_OK) {
|
||||
if ((*jniEnv)->RegisterNatives(jniEnv, clz_test, methods1,
|
||||
sizeof(methods1) / sizeof(methods1[0])) != JNI_OK) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
(*jniEnv)->DeleteLocalRef(jniEnv, clazz);
|
||||
(*jniEnv)->DeleteLocalRef(jniEnv, clz_test);
|
||||
return JNI_VERSION_1_4;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue