Commit graph

231 commits

Author SHA1 Message Date
Alessandro Gatti
e4ba4d62d0 Fix 64 bits Ext4 inode table offset calculation. 2022-11-21 07:37:16 +01:00
ghidragon
a92a27e9f1 GP-1981 Review fixes 2022-11-15 14:56:05 -05:00
dev747368
b00bd1b498 GP-2713 fix 7zip file system initialization logic 2022-10-18 11:01:42 -04:00
Ryan Kurtz
56293636d0 GP-2624: Removing library support from a bunch of loaders that shouldn't
have it
2022-10-04 05:46:14 -04:00
Ryan Kurtz
fdda6b672e GP-2604: More load library options 2022-10-03 01:10:02 -04:00
Ryan Kurtz
deaf9b481f Merge remote-tracking branch 'origin/GP-0_lazybinding-dev_android_refactor' 2022-09-27 01:54:18 -04:00
Ryan Kurtz
d959fe5cb7 Merge remote-tracking branch 'origin/GP-2553_dev747368_fix_memorybyteprovider_length_take2--SQUASHED' 2022-09-27 00:37:58 -04:00
dev747368
14f5cf93da GP-2553 fix MemoryByteProvider's length() issues
Previously the impl would only return the length of the memory block where the byte provider started, or return 0 if there wasn't a memoryblock at the base address.
Now returns the length of the available memory (in the same addressspace) that is found in the program's memory map, clamped to Long.MAX_VALUE.

Updated users of MemoryByteProvider to use helper methods to create.

Removed ISO9660 format analyzer (that was using MemorbyByteProvider) because we no longer have our own iso format code after switching to Sevenzip.
2022-09-26 12:24:22 -04:00
lazybinding-dev
9575891837 Renamed and reorganized VDEX classes. 2022-09-21 12:36:32 -04:00
lazybinding-dev
25840cf121 Renamed and reorganized OAT classes. 2022-09-21 10:45:30 -04:00
lazybinding-dev
f94a2d6058 Renamed and reorganized ART classes. 2022-09-20 16:58:55 -04:00
Ryan Kurtz
6ac0759d2f Merge remote-tracking branch 'origin/GP-2060_lazybinding-dev_Android13--SQUASHED' 2022-09-20 01:06:47 -04:00
lazybinding-dev
f58070f484 Changes to support android 13 T.
Added Android Version Manager.
2022-09-19 09:41:49 -04:00
Ryan Kurtz
f62320a50b GP-2541: Redesigned the importer's load library option set. The user now has finer grained control over where libraries are loaded from, as well as how many libraries are loaded. 2022-09-16 01:01:23 -04:00
ghizard
e7846664a8 GP-2367 - PDB U - cleanup: remove Abstract from some names, incorporate filename and monitor into MSF and make available to PDB and other classes, better employ monitor in reader, fix some javadoc 2022-09-09 16:23:09 -04:00
lazybinding-dev
15b59f82c3 Added support for multidex. Created APK loader to load all DEX files at one time and link method_lookup sections. APK loader uses the manifest file to determine Android version. Fixed a bug loading CDEX from Android 12. 2022-08-30 12:35:52 -04:00
dragonmacher
7d81aacaa1 GP-2386 - Refactor of plugin package loading to get 'core' classes to load by default 2022-08-05 12:02:36 -04:00
ghizard
70e7ae6e59 GP-1777 - PDB Universal - Improve segment address calculation 2022-07-27 05:54:53 -04:00
Ryan Kurtz
2121504373 GP-2176: Support for new iOS16/macOS13 dyld_shared_cache format 2022-07-05 04:36:16 -04:00
ghidra1
283bcfa5aa GP-2227 change DumpFileLoader options to be format-specific 2022-06-24 13:21:20 -04:00
d-millar
114895b79d GP-2049 Add DumpFileLoader support for Apport format 2022-06-22 17:56:53 -04:00
d-millar
b6e2759d75 GP-0: error in CommentStream logic 2022-06-20 17:15:04 +00:00
d-millar
9b73a785e2 GP-1864 Added loader for dump files. Initial implementation supports MS
Minidump, Userdump and Pagedump formats.
2022-06-10 10:01:11 -04:00
Ryan Kurtz
d575bdb1ab Merge remote-tracking branch 'origin/GP-1461_GhidraKnight_Android12--SQUASHED' 2022-06-06 15:01:52 -04:00
GhidraKnight
a200850690 Fixes/Changes to support Android 12 OAT version 199, FBPK version 2, and VendorBootImage version 4. 2022-06-06 10:08:47 -04:00
Ryan Kurtz
ac0d7f6d43 GP-2071: Refactoring Mach-O things 2022-05-26 10:58:14 -04:00
Ryan Kurtz
9cf8c84129 GP-2052: Improving PrelinkFileSystem isValid() so it doesn't fully
parse the entire Mach-O
2022-05-23 02:45:55 -04:00
ghidra1
01067debde GP-1797 removed unused DataTypeConflictException 2022-05-16 12:33:16 -04:00
ghidra1
8eb58baa7d GP-0 added updated BSD license files and updated related BSD certifications 2022-05-11 10:37:27 -04:00
Ryan Kurtz
94975a236f GP-1986: Fixed a "hash has changed" exception that would sometimes occur
when extracting .dylib files from a dyld_shared_cache file system.
2022-05-03 10:36:34 -04:00
dev747368
27db91b7a0 GP-1983 refactor setting of program properties when imported 2022-04-29 20:48:57 +00:00
Ryan Kurtz
99f9700448 Improved extraction of dylibs from dyld cache. "size" command no longer
errors out when parsing.
2022-04-29 00:59:06 -04:00
dev747368
ef1672aed0 GP-1944 fix zip file entry with empty name, github issue #4128 2022-04-19 18:52:52 +00:00
ghidra1
ca410b1274 GP-1403 Added support for pointer-typedef settings, including support
for Archive use.  Corrected settings stacking behavior.
Unified two settings adapters into one shared implementation (upgrade
and archive schema version still needed). Added ability to edit default
settings for components from within the structure/union editor.
Improved use of immutable settings.  Improved array settings.  Added
PointerTypeDefBuilder and PointerTypeDefInspector.  Added versioning
support to DataTypeManagerDB to facilitate upgrades and compatibility
detection.  Initial improvements added for locking of datatype settings.
Added support for auto-named pointer-typedefs.
2022-04-15 13:11:43 -04:00
ghidra1
577328f230 GP-1907: Updated ELF related loader to eliminate use of
ContinuesInterceptor
2022-04-15 01:53:30 -04:00
Ryan Kurtz
96674d4f62 GP-1907: Removing ContinuesInterceptor and associated API 2022-04-15 01:51:58 -04:00
dev747368
2a4a7747e6 GP-1903 refactor out ArrayUtilities, fix BitFieldDataType ENDIANness
Nuke ArrayUtilties and replace it with built-in methods available in jdk
Arrays class or use DataConverter for endianness conversion.

Exclude ENDIAN setting for BitFieldDataType.
2022-04-06 20:45:22 +00:00
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