-
Notifications
You must be signed in to change notification settings - Fork 159
/
CHANGELOG
547 lines (366 loc) · 13.4 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
24.11.10
Re-written public attributes of Apple EFI ID
Improved memory consumption for all utilities
Adjusted README with consolidated requirements
24.10.30
Improved UAF module detection at AMI UCP Extract
24.10.29
Added graceful exception hanlding during "main" flow
Improved and cleaned 7-Zip and EFI compression logic
Improved too aggressive extraction directory handling
Fixed input name detection at VAIO Package Extractor
Fixed Intel IBIOSI detection at Apple EFI Identifier
24.10.23
New "package" flow, arguments now provided during utility call (README)
New "main" flow, using old "run_utility" method of BIOSUtility (README)
Removed "run_utility" and "show_version" methods from base BIOSUtility
Removed argparse argument parsing logic from base BIOSUtility class
Removed notion of "pause" (i.e. user action) from BIOSUtility logic
Adjusted the README with usage info for "main" and "package" flows
24.10.18
Removed all Python built-in library keyword arguments (#55)
24.10.17
Fixed "skip user action prompts" argument being ignored
Improved AMI UCP tag dictionary for better NAL parsing
24.10.09
Added Apple EFI EFI Image Identifier new argument -q
Improved Apple EFI EFI Image Identifier detection flow
Improved Apple EFI Package Extractor file parsing flow
Improved file vs link detection and read access control
Improved common switches handling of 7-Zip decompressor
Improved non-PATH external executable dependencies names
Fixed requirement instruction misalignments at the README
24.10.07
Downgraded pefile dependency from 2024.8.26 to 2023.2.7
24.10.06
Changed BIOSUtility.parse_format() to return a boolean
Changed 7-Zip and EFI decompressors to return booleans
Apple EFI Package Extractor support for InstallAssistant
Apple EFI Image Identifier support for Apple ROM Version
Added Apple EFI Image Identifier class instance attributes
Improved flow of non-PATH external executable dependencies
Fixed crash when attempting to clear read-only attribute
Fixed incompatibility with Python versions prior to 3.12
Performance improvements when initializing BIOSUtilities
Improved argument naming and definitions of "main" script
Improved the README with new "main" and Apple EFI changes
24.10.03
Added external executable dependencies non-PATH flow (#51)
Improved the README with Usage, Dependencies, Examples etc
24.10.01
Complete repository overhaul into python project
Re-designed BIOSUtility base template class flow
Re-structured utilities as BIOSUtility inherited
Re-structured project for 3rd-party compatibility
Unified project requirements and package version
Code overhaul with type hints and linting support
Switched external executable dependencies via PATH
BIOSUtility enforces simple check and parse methods
Utilities now work with both path and buffer inputs
Adjusted class, method, function names and parameters
Improved Dell PFS Update Extractor sub-PFAT processing
Improved Award BIOS Module Extractor corruption handling
Improved Apple EFI Image Identifier to expose the EFI ID
Improved Insyde iFlash/iFdPacker Extractor with ISH & PDT
Re-written Apple EFI Package Extractor to support all PKG
24.06.17
Toshiba BIOS COM Extractor v4.0
Improved Toshiba COM detection (pattern only, no file extension)
Improved input object handling to support both paths and bytes
Populated code type hints and applied few small improvements
24.05.26
Panasonic BIOS Package Extractor v4.0
Added ability to parse nested Panasonic BIOS update executable directly
Restructured logic to allow more flexibility on input executable parsing
Populated code type hints and applied multiple small improvements
24.05.16
Improved Intel BIOS Guard Signature parsing
24.04.24
Added AMI PFAT RSA 3K signed blocks support
Added AMI PFAT nested detection at each file
Added Award BIOS payload naming at each file
Switched Panasonic BIOS LZNT1 external library
Improved Panasonic LZNT1 detection and length
Improved Dell PFS code structure and fixed bugs
Improved code exception handling (raise, catch)
Improved code definitions (PEP8, docs, types)
Fixed some arguments missing from help screens
Additions, Improvements and Fixes from Q4 2022 to Q1 2024
Fixed .gitignore file exclusion
Various README cleanups
22.10.31
Fixed potential crash at files without extension(s)
22.10.23
Auto-resolve extract directory name conflicts
22.10.16
Updated Dell PFS Update Extractor v6.0_a16
Improved handling of sub-PFS PFAT Entries with offset conflicts and/or data gaps
Replace contents of no longer relevant comment
22.10.07
Updated Dell PFS/PKG Update Extractor v6.0_a15
Padding is now added between sub-PFS PFAT Entry gaps
Thanks for the help @NikolajSchlej
22.09.12
Created common template for executing all utilities
Unified extracted output directory naming logic
Multiple code fixes, refactors and improvements
22.09.02
Updated AMI UCP Update Extractor v2.0_a19
22.08.31
Updated Dell PFS/PKG Update Extractor v6.0_a12
Added support for Dell ThinOS PKG with multiple PFS
22.08.28
Added Apple EFI Package Extractor v2.0_a4
Added Apple EFI PBZX Extractor v1.0_a4
Updated Apple EFI Image Identifier v2.0_a4
Updated Apple EFI IM4P Splitter v3.0_a4
Updated Insyde iFlash/iFdPacker Extractor v2.0_a10
Improved 7-Zip parameter control
22.08.17
Added Apple EFI IM4P Splitter v3.0_a2
22.08.15
Added Apple EFI Image Identifier v2.0_a3
Fixed argparse lock of input files
22.07.14
Added Fujitsu SFX BIOS Extractor v3.0_a2
Fixed deletion of folders with read-only files
Fixed missing README > Requirement for VAIO Packaging Manager Extractor
22.07.07
Insyde iFlash/iFdPacker Extractor v2.0_a9
Support for hardcoded Insyde 7-Zip SFX password
Fixed 7-Zip hang on password protected files
22.07.06
Insyde iFlash/iFdPacker Extractor v2.0_a8
Improved PFAT, UCP, PFS, TDK format check methods
Cleanup/improvements to all utilities
Fixed README > Insyde iFlash/iFdPacker Extractor
Increased Python version to 3.10 and PEFile version to 2022.5.30 (performance)
22.06.30
Added Insyde iFlash Update Extractor v2.0_a2
Added Toshiba BIOS COM Extractor v2.0_a2
22.06.29
Added Fujitsu UPC BIOS Extractor v2.0_a2
22.06.26
Added Award BIOS Module Extractor v2.0_a3
Improved 7-Zip exit code handling
22.06.21
Added Panasonic BIOS Package Extractor v2.0_a7
New processes to better handle PE files
Various common package fixes and improvements
22.06.16
Fix main pattern detections, when found at offset 0x0
AMI UCP Update Extractor v2.0_a15
Phoenix TDK Packer Extractor v2.0_a7
Portwell EFI Update Extractor v2.0_a9
Fixes issue #13, thanks @PCRider for the report!
22.06.02
Added VAIO Packaging Manager Extractor v3.0_a4
Sort README utilities based on name
22.06.01
Improved 7-Zip decompressor
Removed --static argument
Small fixes at variable names and f-strings
22.05.24
Phoenix TDK Packer Extractor v2.0_a6
Dramatically increase TDK Packer base offset detection speed
Applied regex pattern improvements
22.05.23
Phoenix TDK Packer Extractor v2.0_a5
Added detection of TDK Packer executable base offset
Improve TDK unpacking at weird images
22.05.22
Added Phoenix TDK Packer Extractor v2.0_a4
Added f-strings all the things!
22.05.15
Portwell EFI BIOS Extractor v2.0_a4
Replaced any assertions
Added pip requirements file
22.05.09
Improved README
22.05.07
Added --static parameter to README
22.05.06
Added relevant exit codes at utilities
Fixed missing output path value crash
Increased minimum Python version to 3.8
Added --static optional parameter
Allow usage of static-built external dependencies
22.05.01
Fix handling of quote-encased user input paths
22.04.21
Format detectors now accept input bytes or path
22.04.17
Revamped path-related operations
Fixed dependencies detecton
Fixed frozen state support
22.04.16
Fixed path symlink resolutions
22.04.15
Improved AMI UCP > NAL unpacking
Fix potential illegal path traversals
22.04.14
Fixes at title/version display
Add quick format check functions for PFAT, UCP, PFS
22.04.13
Dell PFS Update Extractor v6.0_a2
Added --version parameter
Structure fixes and improvements
22.04.09
AMI UCP BIOS Extractor v2.0_a3
Added support for HP-modded AMI UCP (HP Flash Utility v4)
Small AMI UCP pattern improvement
22.04.07
Added Dell PFS Update Extractor v6.0_a1
Adjusted dependencies
22.04.01
Added AMI UCP BIOS Extractor v2.0_a1
Added AMI BIOS Guard Extractor v4.0_a1
Added empty external directory
Initial refactor work
Cleanup old files
22.03.28
Apple EFI Package Grabber v2.0
22.03.14
Insyde iFlash Image Extractor v1.0
22.01.05
Dell PFS Update Extractor v5.1
Fixed BIOS Guard (PFAT) PFS Entry Signature parsing bug
Minor improvement in BIOS Guard (PFAT) PFS Entry detection
21.12.27
Dell PFS Update Extractor v5.0
Support for PFS Utilities section extraction, aside from the Firmware one
Support and proper extraction of Intel BIOS Guard protected Firmware
Support for parsing some newer PFS Information and Signature entries
Ability to show verbose output of extraction progress and PFS structures
Ability to better integrate the script to other projects via new parameters
Extensive code re-structuring in more modular form for future expansion
21.09.15
Fujitsu UPC BIOS Extractor v1.0
Fujitsu SFX BIOS Extractor v2.1
Small rebranding
21.08.21
AMI UCP BIOS Extractor v1.2
Fixed crash when parsing compressed text only UAF Modules
21.08.02
AMI UCP BIOS Extractor v1.1
Improved UAF Tag-File Dictionary
21.06.19
Portwell EFI BIOS Extractor v1.0
21.06.15
Phoenix SCT BIOS Extractor v1.0
21.06.04
AMI UCP BIOS Extractor v1.0
21.05.08
Dell PFS BIOS Extractor v4.9
Improved detection of PFS Text Modules
21.04.27
Dell PFS BIOS Extractor v4.8
Added support for PFS images within Dell ThinOS PKG packages
Applied various small performance & static analysis code fixes
21.02.27
Update README.md
Updated Donation button
21.01.19
AMI BIOS Guard Extractor v3.2
Each input file name is now shown at the top
Each output file now includes the input file name
Applied a few small static analysis code fixes
21.01.02
AMI BIOS Guard Extractor v3.1
File AMI_PFAT_X_DATA_ALL now includes AMI_PFAT_X_DATA_END
Applied various static analysis code fixes
20.12.06
AMI BIOS Guard Extractor v3.0
Added AMI PFAT Component new extraction method
Added AMI PFAT Nested PFAT Component extraction
Added Intel BIOS Guard Block Header detailed info
Added Intel BIOS Guard Block Script decompilation
Applied various code fixes & improvements
20.10.07
Dell PFS BIOS Extractor v4.6
Fixed crash when PFS filenames include Windows reserved characters
Fixed PFS Entry Version Type display typo, thanks to @vuquangtrong
20.07.04
Apple EFI IM4P Splitter v2.1
Improved Intel Flash Descriptor detection & parsing
20.06.26
VAIO Packaging Manager Extractor v2.0
Major de-obfuscation speed increase, up to x13 times
Improved VAIO executable unlocking procedure
Fujitsu SFX Packager Extractor v2.0
Major de-obfuscation speed increase, up to x13 times
20.06.18
Dell PFS BIOS Extractor v4.5
Added PFS section zlib data size & checksum checks
Added PFS section zlib footer detection & checks
Fixed null character ignoring at info text files
Applied various code fixes & improvements
20.05.23
Apple EFI IM4P Splitter v2.0
Added better Apple EFI extraction based on Intel Flash Descriptor Flash Component Size. Same output, robust method.
20.04.22
Dell PFS BIOS Extractor v4.2
Added PFS Revision 2 support
Added proper sub PFS Chunked Entries parsing
19.09.24
Dell PFS BIOS Extractor v3.6
Added another PFS Information Entry GUID
19.09.12
Dell PFS BIOS Extractor v3.5
Added support for Nested PFS without PFS Information Entry
Fixed error handling when PFS Entry names cannot be found
19.09.07
Update README.md
Added Anti-Virus False Positives note
19.08.09
Dell PFS BIOS Extractor v3.2
Fixed crash when checking for sub PFS of Zlib or Chunk types
19.08.07
Dell PFS BIOS Extractor v3.1
Fixed Dell PFS sub PFS Payload Chunk Order Number detection
New scripts, updated current scripts, new repo license
Added Dell PFS BIOS Extractor v3.0 (removed Dell HDR Module Extractor v2.0)
Added Apple EFI Package Extractor v1.1
Apple EFI File Renamer v1.3 supports calling from Apple EFI Package Extractor utility
Apple EFI IM4P Splitter v1.3 supports calling from Apple EFI Package Extractor utility
Apple EFI Sucatalog Link Grabber v1.2 stores output text file with unique name for easier comparisons
Repository is now licensed under BSD+Patent
All scripts now require Python 3.7 or newer
19.02.28
Fujitsu SFX Packager Extractor v1.0
19.02.03
VAIO Packaging Manager Extractor v1.0
19.01.15
AMI BIOS Guard Extractor v2.0
Any data after the end of PFAT, as dictated by the Main Header, are now appended to the final unpacked image.
19.01.10
Award BIOS Module Extractor v1.2
Added 7zip parameter to automatically rename extracted files with the same name
18.11.01
Apple EFI IM4P Splitter v1.2
Fixed IM4P payload start offset
18.10.13
Added AMI BIOS Guard Extractor
18.09.22
Dell HDR Module Extractor v2.0
Fixed issue which caused some HDR executables to extract less modules than expected
18.09.12
Added Panasonic BIOS Update Extractor
18.09.06
Updated README
18.09.05
Apple EFI File Renamer v1.2
Added official Intel $IBIOSI$ parsing
Added $IBIOSI$ output information
18.09.04
Updated all scripts to v1.1
Added "Working..." indicators while running at all scripts
Added dependency filename expectations when required
Apple EFI File Renamer now saves the checksum in hex
18.08.31
Added Utilities, Readme and Licence
Dell HDR Module Extractor v1.0
Apple EFI Sucatalog Link Grabber v1.0
Apple EFI File Renamer v1.0
Apple EFI IM4P Splitter v1.0
Award BIOS Module Extractor v1.0