Skip to content

Commit ce973fd

Browse files
committed
V0.2.6
Update deploy/deploy.py
1 parent 2704b7c commit ce973fd

File tree

4 files changed

+71
-26
lines changed

4 files changed

+71
-26
lines changed

CHANGELOG.md

+14-3
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,26 @@
22

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

5+
### V0.2.6
6+
+ Add support for Iceman/RRG repo v4.15864 [#37](https://github.com/wh201906/Proxmark3GUI/issues/37)
7+
+ Optimize mifare classic block writing logic
8+
+ Fix the default lf config
9+
+ Add feedback for the GUI failing to start the client
10+
+ Add feedback for the client failing to connect to PM3 hardware
11+
+ Detect PM3 hardware when searching serial ports
12+
+ Remove extra empty lines in raw command output
13+
+ Use embedded config files
14+
+ Remove the wait time between performing nested attack then switching to staticnested attack
15+
516
### V0.2.5
6-
+ Fix bug [#28](https://github.com/wh201906/Proxmark3GUI/issues/28)
17+
+ Fix bug [#28](https://github.com/wh201906/Proxmark3GUI/issues/28)
718

819
### V0.2.4
920
+ Clone EM410x card to T55xx card
1021

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

1526
### V0.2.2
1627
+ Load command format from external json file

deploy/deploy.py

+45-22
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
import os, sys, shutil
22
from win32api import GetFileVersionInfo
33
from json import load
4-
from re import fullmatch, IGNORECASE
4+
from re import fullmatch, sub, IGNORECASE
55

66
compressDirList = []
77

88

99
def getPEVersion(fname):
1010
try:
11-
fileInfo = GetFileVersionInfo(fname, '\\')
12-
version = "V%d.%d.%d" % (fileInfo['FileVersionMS'] / 65536,
13-
fileInfo['FileVersionMS'] % 65536,
14-
fileInfo['FileVersionLS'] / 65536)
11+
fileInfo = GetFileVersionInfo(fname, "\\")
12+
version = "V%d.%d.%d" % (
13+
fileInfo["FileVersionMS"] / 65536,
14+
fileInfo["FileVersionMS"] % 65536,
15+
fileInfo["FileVersionLS"] / 65536,
16+
)
1517
except Exception:
1618
print("Cannot get version number of", fname)
1719
return version
1820

1921

2022
os.chdir(sys.path[0])
2123
print("Current Directory:", os.getcwd())
22-
targetName = os.path.abspath(os.getcwd()).split('\\')[-2]
24+
targetName = os.path.abspath(os.getcwd()).split("\\")[-2]
2325
print("Target Name", targetName)
2426

2527
src32Dir = ""
@@ -63,11 +65,6 @@ def getPEVersion(fname):
6365
print(dst32Dir, "doesn't exist, creating...")
6466
shutil.copytree("./32", dst32Dir)
6567
shutil.copyfile(src32Path, dst32Path)
66-
configPath = dst32Dir + "/config"
67-
if os.path.exists(configPath):
68-
print(configPath, "exists, replacing...")
69-
shutil.rmtree(configPath)
70-
shutil.copytree("../config", configPath)
7168
compressDirList.append(dst32Dir)
7269

7370
if os.path.exists(dst64Dir) and os.path.exists(dst64Path):
@@ -77,19 +74,23 @@ def getPEVersion(fname):
7774
print(dst64Dir, "doesn't exist, creating...")
7875
shutil.copytree("./64", dst64Dir)
7976
shutil.copyfile(src64Path, dst64Path)
80-
configPath = dst64Dir + "/config"
81-
if os.path.exists(configPath):
82-
print(configPath, "exists, replacing...")
83-
shutil.rmtree(configPath)
84-
shutil.copytree("../config", configPath)
8577
compressDirList.append(dst64Dir)
8678

8779
# TODO: GUI+client
8880
clientList = [
89-
"official-v3.1.0", "rrg_other-v4.13441", "rrg_other-v4.14434",
90-
"rrg_other-v4.14831"
81+
"official-v3.1.0",
82+
"rrg_other-v4.13441",
83+
"rrg_other-v4.14434",
84+
"rrg_other-v4.14831",
85+
"rrg_other-v4.15864",
9186
]
9287

88+
configList = []
89+
for config in os.listdir("../config"):
90+
configPath = os.path.join("../config", config)
91+
if os.path.isfile(configPath) and config.endswith(".json"):
92+
configList.append(config)
93+
9394

9495
def generateClient(clientName):
9596
global compressDirList
@@ -105,12 +106,34 @@ def generateClient(clientName):
105106
shutil.copytree(clientSrcDir, clientDstDir)
106107
shutil.copytree(dst64Dir, clientDstGUIDir)
107108
if "official" in clientName:
108-
shutil.copyfile("./client/GUIsettings_Official.ini",
109-
clientDstGUIDir + "/GUIsettings.ini")
109+
shutil.copyfile(
110+
"./client/GUIsettings_Official.ini", clientDstGUIDir + "/GUIsettings.ini"
111+
)
110112
elif "rrg" in clientName:
111-
shutil.copyfile("./client/GUIsettings_RRG.ini",
112-
clientDstGUIDir + "/GUIsettings.ini")
113+
shutil.copyfile(
114+
"./client/GUIsettings_RRG.ini", clientDstGUIDir + "/GUIsettings.ini"
115+
)
116+
# Use exactly matched configFile if possible
117+
version = clientName[clientName.find("v") :]
118+
for config in configList:
119+
if version in config:
120+
print("Find matched config file", config)
121+
with open(
122+
clientDstGUIDir + "/GUIsettings.ini", "r", encoding="utf-8"
123+
) as f:
124+
data = f.read()
125+
data = sub(
126+
"configFile=:/config/.+\\.json",
127+
"configFile=:/config/" + config,
128+
data,
129+
)
130+
with open(
131+
clientDstGUIDir + "/GUIsettings.ini", "w", encoding="utf-8"
132+
) as f:
133+
f.write(data)
134+
113135
compressDirList.append(clientDstDir)
136+
return clientDstDir
114137

115138

116139
for cl in clientList:

doc/CHANGELOG/CHANGELOG_zh_CN.md

+11
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

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

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

src/Proxmark3GUI.pro

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ qnx: target.path = /tmp/$${TARGET}/bin
5959
else: unix:!android: target.path = /opt/$${TARGET}/bin
6060
!isEmpty(target.path): INSTALLS += target
6161

62-
VERSION = 0.2.5
62+
VERSION = 0.2.6
6363
QMAKE_TARGET_PRODUCT = "Proxmark3GUI"
6464
QMAKE_TARGET_DESCRIPTION = "Proxmark3GUI"
6565
QMAKE_TARGET_COMPANY = "wh201906"

0 commit comments

Comments
 (0)