Skip to content

Commit

Permalink
V0.2.6
Browse files Browse the repository at this point in the history
Update deploy/deploy.py
  • Loading branch information
wh201906 committed Nov 24, 2022
1 parent 2704b7c commit ce973fd
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 26 deletions.
17 changes: 14 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,26 @@

[中文](doc/CHANGELOG/CHANGELOG_zh_CN.md)

### V0.2.6
+ Add support for Iceman/RRG repo v4.15864 [#37](https://github.com/wh201906/Proxmark3GUI/issues/37)
+ Optimize mifare classic block writing logic
+ Fix the default lf config
+ Add feedback for the GUI failing to start the client
+ Add feedback for the client failing to connect to PM3 hardware
+ Detect PM3 hardware when searching serial ports
+ Remove extra empty lines in raw command output
+ Use embedded config files
+ Remove the wait time between performing nested attack then switching to staticnested attack

### V0.2.5
+ Fix bug [#28](https://github.com/wh201906/Proxmark3GUI/issues/28)
+ Fix bug [#28](https://github.com/wh201906/Proxmark3GUI/issues/28)

### V0.2.4
+ Clone EM410x card to T55xx card

### V0.2.3
+ Fix bug [#27](https://github.com/wh201906/Proxmark3GUI/issues/27)
+ Try to support Non-ASCII path
+ Fix bug [#27](https://github.com/wh201906/Proxmark3GUI/issues/27)
+ Try to support Non-ASCII path

### V0.2.2
+ Load command format from external json file
Expand Down
67 changes: 45 additions & 22 deletions deploy/deploy.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
import os, sys, shutil
from win32api import GetFileVersionInfo
from json import load
from re import fullmatch, IGNORECASE
from re import fullmatch, sub, IGNORECASE

compressDirList = []


def getPEVersion(fname):
try:
fileInfo = GetFileVersionInfo(fname, '\\')
version = "V%d.%d.%d" % (fileInfo['FileVersionMS'] / 65536,
fileInfo['FileVersionMS'] % 65536,
fileInfo['FileVersionLS'] / 65536)
fileInfo = GetFileVersionInfo(fname, "\\")
version = "V%d.%d.%d" % (
fileInfo["FileVersionMS"] / 65536,
fileInfo["FileVersionMS"] % 65536,
fileInfo["FileVersionLS"] / 65536,
)
except Exception:
print("Cannot get version number of", fname)
return version


os.chdir(sys.path[0])
print("Current Directory:", os.getcwd())
targetName = os.path.abspath(os.getcwd()).split('\\')[-2]
targetName = os.path.abspath(os.getcwd()).split("\\")[-2]
print("Target Name", targetName)

src32Dir = ""
Expand Down Expand Up @@ -63,11 +65,6 @@ def getPEVersion(fname):
print(dst32Dir, "doesn't exist, creating...")
shutil.copytree("./32", dst32Dir)
shutil.copyfile(src32Path, dst32Path)
configPath = dst32Dir + "/config"
if os.path.exists(configPath):
print(configPath, "exists, replacing...")
shutil.rmtree(configPath)
shutil.copytree("../config", configPath)
compressDirList.append(dst32Dir)

if os.path.exists(dst64Dir) and os.path.exists(dst64Path):
Expand All @@ -77,19 +74,23 @@ def getPEVersion(fname):
print(dst64Dir, "doesn't exist, creating...")
shutil.copytree("./64", dst64Dir)
shutil.copyfile(src64Path, dst64Path)
configPath = dst64Dir + "/config"
if os.path.exists(configPath):
print(configPath, "exists, replacing...")
shutil.rmtree(configPath)
shutil.copytree("../config", configPath)
compressDirList.append(dst64Dir)

# TODO: GUI+client
clientList = [
"official-v3.1.0", "rrg_other-v4.13441", "rrg_other-v4.14434",
"rrg_other-v4.14831"
"official-v3.1.0",
"rrg_other-v4.13441",
"rrg_other-v4.14434",
"rrg_other-v4.14831",
"rrg_other-v4.15864",
]

configList = []
for config in os.listdir("../config"):
configPath = os.path.join("../config", config)
if os.path.isfile(configPath) and config.endswith(".json"):
configList.append(config)


def generateClient(clientName):
global compressDirList
Expand All @@ -105,12 +106,34 @@ def generateClient(clientName):
shutil.copytree(clientSrcDir, clientDstDir)
shutil.copytree(dst64Dir, clientDstGUIDir)
if "official" in clientName:
shutil.copyfile("./client/GUIsettings_Official.ini",
clientDstGUIDir + "/GUIsettings.ini")
shutil.copyfile(
"./client/GUIsettings_Official.ini", clientDstGUIDir + "/GUIsettings.ini"
)
elif "rrg" in clientName:
shutil.copyfile("./client/GUIsettings_RRG.ini",
clientDstGUIDir + "/GUIsettings.ini")
shutil.copyfile(
"./client/GUIsettings_RRG.ini", clientDstGUIDir + "/GUIsettings.ini"
)
# Use exactly matched configFile if possible
version = clientName[clientName.find("v") :]
for config in configList:
if version in config:
print("Find matched config file", config)
with open(
clientDstGUIDir + "/GUIsettings.ini", "r", encoding="utf-8"
) as f:
data = f.read()
data = sub(
"configFile=:/config/.+\\.json",
"configFile=:/config/" + config,
data,
)
with open(
clientDstGUIDir + "/GUIsettings.ini", "w", encoding="utf-8"
) as f:
f.write(data)

compressDirList.append(clientDstDir)
return clientDstDir


for cl in clientList:
Expand Down
11 changes: 11 additions & 0 deletions doc/CHANGELOG/CHANGELOG_zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

[English](../../CHANGELOG.md)

### V0.2.6
+ 支持冰人版客户端 v4.15864 [#37](https://github.com/wh201906/Proxmark3GUI/issues/37)
+ 优化Mifare Classic卡写卡逻辑
+ 修复lf config默认配置
+ 添加客户端无法启动的提示
+ 添加PM3硬件连接失败的提示
+ 为PM3对应串口添加提示,并自动选中
+ 修复原始指令框中有多余空行的问题
+ 内嵌不同客户端的配置文件
+ 去除从nested attack切换到staticnested attack的等待时间

### V0.2.5
+ 修复 [#28](https://github.com/wh201906/Proxmark3GUI/issues/28)

Expand Down
2 changes: 1 addition & 1 deletion src/Proxmark3GUI.pro
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

VERSION = 0.2.5
VERSION = 0.2.6
QMAKE_TARGET_PRODUCT = "Proxmark3GUI"
QMAKE_TARGET_DESCRIPTION = "Proxmark3GUI"
QMAKE_TARGET_COMPANY = "wh201906"
Expand Down

0 comments on commit ce973fd

Please sign in to comment.