Commit graph

94 commits

Author SHA1 Message Date
Ryan Kurtz
8598f28b23 Revert "GP-1782: Software Bill of Materials (SBOM)"
This reverts commit c89f45d399.
2022-03-23 12:33:02 -04:00
Ryan Kurtz
c89f45d399 GP-1782: Software Bill of Materials (SBOM) 2022-03-22 01:36:29 -04:00
dev747368
aac2cf7e9b GP-1770 Fix Sevenzip native library initialization
When multiple ghidra processes on the same host (and share a temporary
directory) start-up, the built-in logic in the Sevenzip JBinding library
would always overwrite the previous native library file, causing the
java vm's that have already linked with it to core dump when trying to
execute Sevenzip code.

See https://github.com/borisbrodski/sevenzipjbinding/issues/50 for bug
report to the upstream developer.

This change pre-extracts the native libraries in a gradle build task and
places them in the ghidra directory structure, allowing the native
libraries to be referred to and loaded without any extra work at
runtime.
2022-03-03 18:24:42 +00:00
dev747368
dd12434a41 GP-1697 fall back to built-in zip file support when 7zip fails to init
If the 7zip native libraries fail to load, fall back to an earlier
version of the ZipFileSystem that used the built-in java zip file
support.

The user will be unable to open password protected zips.

Fixes github issue #3904
2022-01-25 19:31:19 +00:00
ghidra1
df97c0a509 GP-1605 improved ELF logging and processing of malformed/missing headers 2021-12-15 15:05:05 -05:00
Ryan Kurtz
d9221cb863 GP-1524: Support for the new iOS 15/macOS Monterey dyld_shared_cache
format
2021-12-03 10:40:11 -05:00
GhidraKnight
87d4858cf2 GP-1247: Changes to support Android 12 2021-11-01 10:19:04 -04:00
dev747368
89edc1594e GP-807 add support for HFS volumes and switch ISO9660 to 7zip
Both file systems are handled by existing 7zip, but HFS needed code to
recognize the volume header.

Remove ghidra implementation of ISO9660 as it lacked support for long
file names and defer to the 7zip implementation.
2021-10-01 12:49:07 -04:00
dev747368
72fe7b89d2 GP-253, GP-725 Gfilesystem ByteProviders, obfuscated temp files, passwords
Migrate GFilesystem methods to use ByteProviders instead of java Files for their source, and to produce ByteProviders instead of InputStreams.

Refactor file info query method to return a structured collection of enum specified meta data instead of a free-form multiline string.

Add locked icon badge to files in the file system browser that are password protected.

Reduces the number of temp files created on disk, and obfuscates files that are created to avoid the wrath of virus scanners (in the same manner that ghidra db files are obfuscated).

Add support for filesystems to query for passwords to decrypt files.

Refactor the SevenZipFileSystem implementation to decrypt files embedded inside zips that were created with passwords.

Fix Ext4 to support 128 byte inodes.
2021-10-01 10:09:38 -04:00
GhidraKnight
ac5d2cfada GP-804: Added support for Android formats (ART, OAT, ODEX, DEX, CDEX,
VDEX) and Dalvik VM SLEIGH modules for each major Android release up to
11.x (R)
2021-09-23 11:16:26 -04:00
ghidra1
9db26bc7f5 GP-1296 Eliminated use of sun.security package and refactored ApplicationKeyManagerUtils 2021-09-15 13:55:20 -04:00
Ryan Kurtz
00533b2869 GP-1106: Platform naming convention now supports different
architectures. Support for building on ARM.
2021-08-17 13:41:47 -04:00
dev747368
854e7d0b01 GP-1094 fix Ext4 blocksize=1024, add blockmap support
ExtentsByteProvider -> RangeMappedByteProvider
2021-07-13 16:05:33 -04:00
dev747368
7b73b4e45f GP-1088 Fix / improve Ext4 inline data handling, mounting
Handle data files when inline data fs-option is turned on, as well as the inverse when a symlink destination path overflows the storage in an inode.
Change file system iteration to explicitly start at the root directory.
Fix ExtentsByteProvider to not close its delegate byte provider.
2021-06-30 14:54:57 -04:00
dev747368
b6fe27ea92 GP-1070 Ext4 filesystem - handle multi-level extent nodes
Reuse the code that was traversing extent nodes for directories.
2021-06-25 13:21:45 -04:00
dev747368
0fa24fd72d GP-1067 fix Ext4 mounting fs in an oversized volume
The fs mounting code was using the physical volume size instead of
values from the superblock.
2021-06-22 18:57:40 -04:00
ghidra1
ca2881205f Merge remote-tracking branch 'origin/GP-905_dev747368_bouncycastle' 2021-05-19 13:37:08 -04:00
Ryan Kurtz
6737d991e2 GP-719: Improvements to the DYLD DYLIB extractor 2021-05-17 11:03:57 -04:00
Ryan Kurtz
519dbd1ac1 GP-719: Improving support of extracting Mach-O DYLIBs from DYLDs 2021-05-14 12:56:17 -04:00
Ryan Kurtz
3a0ae8ee39 GP-849: Gradle 7 support 2021-05-12 13:45:16 -04:00
caheckman
a5d4ca3cab Program specific, user-defined, cspec extensions
Documentation for spec extensions

Handle extensions with parse errors
Export button for spec extensions
Pop-up dialog for parse errors in user-defined specification extensions
GP-653 corrected some minor issues and established new ProgramDB version
make incremental initialization constructor for AddressSized private
Make AddressSized fields private
More adjustments to AddressSized
Review fixes for BasicCompilerSpec
Take restoreXml out of DataOrganization interface
Remove restoreXml from BitFieldPacking interface
More review fixes
Prevent callotherfixup extension with non-existent target
Suggested export name
More documentation for SpecExtension
Support for undo/redo with spec extensions
Documentation for ConstructTpl
Split out ProgramCompilerSpec and other changes for review
Changes after next round of reviews
2021-05-04 12:11:55 -04:00
dev747368
3c73f252cb GP-907 Add getByteProvider(GFile) to some file systems.
This commit adds getByteProvider(GFile) to a first batch of filesystems.  Remaining filesystems will be addressed in future commits.
2021-04-30 13:05:35 -04:00
dev747368
f96082e551 GP-905 update Img4 file system to use real bouncycastle 2021-04-28 15:48:41 -04:00
dev747368
20d18df2a0 GP-871 Ext4 sparse files 2021-04-21 18:07:28 -04:00
dev747368
52484b584d GP-845 Add support for unencrypted DMG files 2021-04-14 14:31:13 -04:00
dev747368
6702a1401b GP-795 Fix ISO9660 probe to not cause needless exceptions 2021-03-22 19:18:37 -04:00
ghidra1
d377d90e14 Merge remote-tracking branch 'origin/patch'
Conflicts:
	Ghidra/Features/GraphServices/certification.manifest
2021-03-17 19:38:50 -04:00
ghidra1
162f203395 Updated certification headers 2021-03-17 18:22:50 -04:00
dev747368
db2cd6ba5a GP-730 Fix SevenZipFileSystem to error correctly w/encrypted file 2021-02-25 13:52:02 -05:00
ghidra1
6fd7f6dbb9 Merge remote-tracking branch 'origin/patch' 2021-02-01 22:16:01 -05:00
ghidra1
9a4918213b GP-652 Minor correction and cleanup of CoffArchive support 2021-02-01 21:23:20 -05:00
dev747368
c9aaea4252 GP-444 cleanup LEB128, consolidate impls, fix bug w/reading bad value, signed values 2021-01-14 15:30:24 -05:00
ghidra1
49736ceb01 Corrected FileFormats module IP 2020-10-28 16:16:17 -04:00
ghidra1
e425cca3ce Corrected additional IP issues 2020-10-28 14:52:55 -04:00
ghidra1
3b39806263 GP-254 corrected sevenzipjbinding IP 2020-10-28 13:25:21 -04:00
dev747368
f10c1ed6cc GP-254 update 7zip library to 16.02-2.01 2020-10-14 14:44:48 -04:00
ghidra1
18fe576f82 Merge remote-tracking branch 'origin/GT-3490_byteprovider_eof_minimal_changeset--SQUASHED' into Ghidra_9.2 2020-09-29 15:52:43 -04:00
ghidra1
4e1b743901 GT-3490 fix reading past EOF in ByteProviders 2020-09-29 15:51:28 -04:00
ghidravore
706ef2adf4 test commit 2020-09-28 14:57:41 -04:00
ghidravore
a8080546e2 Merge remote-tracking branch 'origin/GP-146_dev747368_FixCrushedPNG_kaibolay_Github_2252' 2020-09-28 13:45:37 -04:00
ghidra1
0cdc722921 Revert analyzer default enablement change 2020-09-26 08:53:30 -04:00
ghidra1
ef1a39fe23 Merge remote-tracking branch 'origin/GP-177_ghidra1_StickyAnalyzerEnablement' 2020-09-18 16:28:37 -04:00
ghidra1
99663c7ff1 GP-177 added missing file change 2020-09-17 19:48:35 -04:00
dev747368
603f97f5d7 GP-146 - fix compile error - missing ZLIB class specifier. 2020-09-08 15:17:59 -04:00
Kai Bolay
096ff3bb37 Fix (de-)compression
- detect too much compressed input
- correctly write more than 64 kB (INITIAL_REPACK_SIZE) compressed output
2020-09-08 14:51:49 -04:00
Kai Bolay
12a6b23853 Fix rewriting of IDAT chunk(s).
- check if rewriting is needed, otherwise just copy
- don't copy subsequent chunks if first one was rewritten
  (and therefore contains data from all original chunks)
2020-09-08 14:51:48 -04:00
Kai Bolay
c574f939f1 Fix handling of ADAM7 interlacing:
- fix calculation of row filter bytes
- fix unpacking check
2020-09-08 14:51:47 -04:00
dragonmacher
fc247aa499 GP-65 - Error Dialog - updated the error dialog to accumulate errors
while it is open instead of repeatedly showing new dialogs
2020-09-02 14:25:05 -04:00
ghidravore
7188df41ed Merge remote-tracking branch 'origin/GT-3610-dragonmacher-narrow-analysis-log-dialog' 2020-07-08 14:29:03 -04:00
caheckman
d4217fb814 Facilitating namespaces in testing 2020-07-01 08:24:42 -04:00