Commit Graph

6482 Commits

Author SHA1 Message Date
Ryan Kurtz
d2b3236d33 Merge remote-tracking branch
'origin/GP-2080_emteere_CodePointerProcessorEntryPoints' into patch
(Closes #4263)
2022-06-07 01:47:10 -04:00
Ryan Kurtz
04da5d11f5 Merge remote-tracking branch
'origin/GP-2094_ghidra1_RegisterValueStore_SQUASHED' (Closes #4259)
2022-06-07 01:35:19 -04:00
Robert Xiao
31f65b4607 GP-2098 .bss sections don't need valid file offsets
The ELF loader incorrectly skips NOBITS sections that have invalid file
offsets, like .bss; however, the file offset is ignored for NOBITS
sections.

This is essentially applying #2136 to the file offset as well.
2022-06-06 15:45:05 -04:00
ghidra1
3bc1989535 GP-2094 instruction correct context issue impacting delay slot
processing
2022-06-06 15:27:24 -04:00
Ryan Kurtz
d575bdb1ab Merge remote-tracking branch 'origin/GP-1461_GhidraKnight_Android12--SQUASHED' 2022-06-06 15:01:52 -04:00
Ryan Kurtz
4104dc3a8e Merge remote-tracking branch 'origin/GP-2072_James_callothercensus_script' 2022-06-06 14:59:36 -04:00
dragonmacher
951f34a007 GP-2090 - Decompiler - Added actions to allow users to navigate braces
by using the keyboard.
2022-06-06 12:51:47 -04:00
dragonmacher
b2dd0b6954 GP-2097 - fix to prevent exception when making a selection that contains
a wrapped Decompiler line
2022-06-06 12:33:29 -04:00
dragonmacher
99414f1d70 Added missing help 2022-06-06 12:08:22 -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
c6cb8a0d85 Merge branch 'GP-2008_ryanmkurtz_macho-exports' (Closes #2932) 2022-06-05 02:27:49 -04:00
ghidra1
0ee2b07f5b GP-2095 changed structure/union editor duplicate component actions to
select last component added
2022-06-03 18:55:24 -04:00
Ryan Kurtz
eb0a23aecc Merge remote-tracking branch 'origin/GP-2084_Dan_addToolGetStatusMessage--SQUASHED' 2022-06-03 10:05:43 -04:00
Ryan Kurtz
ccf9c73319 Merge remote-tracking branch 'origin/GP-2083_Dan_removeNodeParentParams' 2022-06-03 10:05:00 -04:00
Ryan Kurtz
e36244b6b9 Merge remote-tracking branch 'origin/GP-0-dragonmacher-test-fixes-6-2-22' 2022-06-03 09:58:45 -04:00
Dan
15e923cc63 GP-2084: Add Tool.getStatusInfo 2022-06-03 09:26:00 -04:00
Ryan Kurtz
6deac3a284 Merge remote-tracking branch 'origin/GP-2059_dev747368_GhidraFileChooser_root_iteration_slowness_fix--SQUASHED' 2022-06-03 01:32:48 -04:00
dev747368
c99f770b23 GP-2059 improve GhidraFileChooser interactivity
Refactor how file system root locations are handled to avoid potential slowdowns and swing thread blocking.
2022-06-02 14:57:58 -04:00
Ryan Kurtz
15d9149c39 Merge branch 'GP-0_ryanmkurtz_PR-4286_cyrozap_label-import-improvements' 2022-06-02 13:58:59 -04:00
dragonmacher
f1326af7f3 Test fixes 2022-06-02 12:16:15 -04:00
Dan
0f3703ac27 GP-2083: Remove extraneous parent,node params from fireChanged
methods
2022-06-01 15:20:07 -04:00
Ryan Kurtz
28e3c2b8db Merge remote-tracking branch 'origin/GP-2078_dev747368_fix_chroot'
(Closes #4291)
2022-06-01 14:55:56 -04:00
Ryan Kurtz
95a6167538 Merge remote-tracking branch 'origin/GP-2037_MoreDoublePrecision' 2022-06-01 14:33:15 -04:00
Ryan Kurtz
27243c6aed Merge remote-tracking branch 'origin/GP-2019_ryanmkurtz_dyld-program-tree' 2022-06-01 14:31:13 -04:00
caheckman
4448f11cb4 GP-2037 RuleDoubleStore 2022-06-01 14:02:03 -04:00
emteere
90e5c263e8 GP-2080_emteere fixed disassembly of Arm Cortex code pointer interrupt
vectors
2022-05-31 22:09:32 +00:00
ghidra1
aadf7fd377 GP-2030 change Symbol Table to use a SymbolRowObject which does not hang onto symbol object in an effort to conserve memory. 2022-05-31 14:33:45 -04:00
caheckman
36a1a33b25 GP-2079 Add explicit compare method for TypePointerRel 2022-05-31 14:10:55 -04:00
dev747368
39e5044537 GP-2078 fix exception when trying to get java FileStore in chroot env
Fixes issue #4291
2022-05-31 16:59:33 +00:00
Ryan Kurtz
bd6271162d GP-2019: Improving dyld cache and prelink Program Trees 2022-05-31 05:14:56 -04:00
Ryan Kurtz
cb4b309942 GP-2071: More Mach-O refactoring 2022-05-31 05:04:57 -04:00
Antonio Flores Montoya
808143cd60 correct vfnma vfnms semantics
and rewrite vfms expression to match manual more closely.
2022-05-27 10:33:32 -04:00
Ryan Kurtz
7a30cefebb Merge remote-tracking branch 'origin/GP-1996_make_finding_opDel_opNew_more_generic--SQUASHED' 2022-05-27 10:17:57 -04:00
cyrozap
0ee44c9f6a Make it possible to import symbols into arbitrary memory regions
Before this change, ImportSymbolsScript.py was limited to importing
symbols into the default memory region. With this change, arbitrary
memory regions can be specified along with the address, making it
possible for symbols to be imported into non-default memory regions.
This functionality is backwards-compatible with existing symbol list
files.
2022-05-26 20:14:01 -05:00
ghidra007
d8396e7592 GP-1996 - code refactor to make op new and delete discovery more generic. 2022-05-26 22:12:07 +00:00
Ryan Kurtz
aef1b7ded7 Merge remote-tracking branch 'origin/GP-2061_James_mmxreg2_m64_ia.sinc' 2022-05-26 14:16:15 -04:00
Ryan Kurtz
3704373a71 Merge remote-tracking branch 'origin/GP-2029_dev747368_fsb_list_supported_fs_impls--SQUASHED' 2022-05-26 14:13:52 -04:00
Ryan Kurtz
4dd4dd9a55 GP-2008: Mach-O export trie support, and other symbol improvements 2022-05-26 13:51:58 -04:00
dev747368
562c049f3b GP-2029 move FSB list file system action to global help menu
Also tidy up ProcessorListPlugin action so it doesn't lie about where itwas created.
2022-05-26 12:11:47 -04:00
James
a540cbe0f0 GP-2072 added CallotherCensusScript 2022-05-26 16:05:48 +00:00
Ryan Kurtz
ac0d7f6d43 GP-2071: Refactoring Mach-O things 2022-05-26 10:58:14 -04:00
devnull850
7e07eb397d Add trailing comma to arrays display 2022-05-26 08:08:54 -04:00
James
1f2f11053e GP-2061 added mmxreg2_m64 table to ia.sinc 2022-05-24 13:23:43 +00:00
Ryan Kurtz
0241b2b97e Merge remote-tracking branch 'origin/GP-2052_ryanmkurtz_prelink' 2022-05-24 00:57:08 -04:00
Ryan Kurtz
9f4f3fc66a Merge remote-tracking branch
'origin/GP-2048_James_offcut_format_strings--SQUASHED' (Closes #4256)
2022-05-24 00:54:38 -04:00
Ryan Kurtz
ca52e51052 Merge remote-tracking branch 'origin/GP-2036_Dan_checkProgramMapped--SQUASHED' 2022-05-24 00:52:07 -04:00
James
51a433ef04 GP-2048 addressing code review comments
GP-2048 offcut format strings
2022-05-23 17:05:20 -04:00
Dan
f426a878d5 GP-2036: Confirm module map after launch 2022-05-23 13:11:18 -04:00
Ryan Kurtz
b6501c8283 Merge remote-tracking branch 'origin/patch' 2022-05-23 11:29:56 -04:00
Ryan Kurtz
9880801814 Merge remote-tracking branch
'origin/GP-2047-dragonmacher-tree-renderer-bg-fix' into patch
(Closes #4260)
2022-05-23 11:15:40 -04:00
dragonmacher
0de8cd3aca GP-2047 - fix for tree rendering bug on some Linux systems 2022-05-23 10:29:40 -04:00
Dan
4afe956113 GP-0: Fix tests: Removed parens for const:size 2022-05-23 09:19:55 -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
Ryan Kurtz
77aa2c7a71 GP-0: Upping patch version to 10.1.5 2022-05-21 02:17:53 -04:00
Ryan Kurtz
06197abea5 Merge remote-tracking branch 'origin/patch' 2022-05-20 14:08:51 -04:00
Ryan Kurtz
6e6087a5fd Merge remote-tracking branch 'origin/GP-0-dragonmacher-test-dependency-fix' 2022-05-20 14:01:19 -04:00
dragonmacher
e4cf4feef7 fixed bad test dependency 2022-05-20 13:59:59 -04:00
Ryan Kurtz
d428ecd97a Merge remote-tracking branch 'origin/GP-1208_Dan_emuSyscalls-4--SQUASHED' 2022-05-20 13:53:48 -04:00
Dan
b33800ecba GP-1208: Implement linux-x86/-amd64 system call simulators 2022-05-20 11:05:53 -04:00
Ryan Kurtz
a1e57f1f7a Merge remote-tracking branch
'origin/GP-1451_Dan_syncSelToggle--SQUASHED'

 Conflicts:
	Ghidra/Debug/Debugger/src/test/java/ghidra/app/plugin/core/debug/gui/listing/DebuggerListingProviderTest.java
2022-05-20 10:24:35 -04:00
Ryan Kurtz
d2a78b41b2 Merge remote-tracking branch
'origin/GP-1913-dragonmacher-structure-editor-actions--SQUASHED'

Conflicts:
	Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/DataTypeManagerPlugin.java
2022-05-20 10:17:06 -04:00
Dan
cfdf1051a1 GP-1451: Add sync selection actions, toggles 2022-05-20 10:14:58 -04:00
Ryan Kurtz
f672ba46b7 Merge remote-tracking branch 'origin/GP-2042-dragonmacher-table-row-update-issue--SQUASHED' 2022-05-20 01:53:42 -04:00
dragonmacher
d9af59df1a GP-1913 - Updated data type synchronization workflow by adding a new action and a home button to the structure editor. Added action to the composite editors and enum editor to show the type being edited in the Data Type Manager's tree. 2022-05-19 18:33:40 -04:00
dragonmacher
9fd273c862 GP-2042 - updated table add/remove strategy to fix bug that causes lost table items when data in the row object changes for a sorted column 2022-05-19 18:31:34 -04:00
Ryan Kurtz
e873401776 Merge remote-tracking branch 'origin/GP-2020_ryanmkurtz_dyld-fs--SQUASHED' 2022-05-19 13:39:57 -04:00
Ryan Kurtz
70b0602af0 GP-2020: Support for loading split dyld_shared_cache files from a GFileSystem 2022-05-19 13:36:42 -04:00
dragonmacher
36b17dd10b Tests fixes 2022-05-19 09:43:50 -04:00
ghidra1
68a34fda2f GP-0 updated change history for 10.1.4 release 2022-05-19 08:48:20 -04:00
Ryan Kurtz
a37f663a23 Merge remote-tracking branch 'origin/patch' 2022-05-19 01:43:05 -04:00
ghidra1
0555248d3c Merge remote-tracking branch
'origin/GP-1987_emteere_ConstantPropagationSegmentOp' into patch (Closes
#4252)
2022-05-18 19:42:57 -04:00
ghidra1
3e96b2aa72 Merge branch 'GP-1738_emteere_StaleOptionsFix' into patch 2022-05-18 19:37:02 -04:00
emteere
4ff1feeb05 GP-1738 fix to use default value if options type has changed. Blows up
by returning the wrong type otherwise.
2022-05-18 19:36:09 -04:00
ghidra1
27c2b7d64a Merge remote-tracking branch 'origin/GP-2045_emteere_COFFImportNonWindows' into patch 2022-05-18 19:32:41 -04:00
ghidra1
32e75f4f1b GP-2045 update COFF section header structure datatypes for binary markup
use.
2022-05-18 15:24:25 -04:00
Ryan Kurtz
864321a060 Merge remote-tracking branch 'origin/GP-1962_ghidra007_better_check_for_existing_classes_SQUASHED' 2022-05-18 13:37:32 -04:00
ghidra007
5d8574f9f4 GP-1962 Prevent RecoverClassFromRTTIScript from running more than once
on same program.
2022-05-18 13:19:33 -04:00
Ryan Kurtz
2491c4298b Merge branch 'GP-2046_ryanmkurtz_PR-4003_fnoelscher_risc-v-pattern'
(Closes #4002, Closes #4003)
2022-05-18 13:13:33 -04:00
Ryan Kurtz
076e99e803 GP-2046: Certifying 2022-05-18 13:01:29 -04:00
Ryan Kurtz
67b6550b7f Merge remote-tracking branch 'origin/patch' 2022-05-18 11:18:57 -04:00
Ryan Kurtz
ab9f392027 Merge remote-tracking branch 'origin/GP-2018_ZeroOffsetStackRef_patch' into patch 2022-05-18 11:03:49 -04:00
Ryan Kurtz
3a09507990 Merge remote-tracking branch
'origin/GP-1982-dragonmacher-table-dialog-exception--SQUASHED'
(Closes #4204)
2022-05-18 10:41:45 -04:00
Ryan Kurtz
efea10f85c Merge remote-tracking branch 'origin/GP-2044_dev747368_fix_UPWTM_progress' 2022-05-18 10:31:29 -04:00
Ryan Kurtz
27de71320a Merge remote-tracking branch 'origin/patch' 2022-05-18 10:30:21 -04:00
Ryan Kurtz
d82537a3d4 Merge remote-tracking branch 'origin/GP-2025-dragonmacher-function-window-duplicates' into patch 2022-05-18 10:20:27 -04:00
emteere
4034568165 GP-1987 Using injected pcode from segment and all pcode userops during
constant propagation
2022-05-18 13:49:47 +00:00
emteere
42f28fd67b GP-2045 Coff header changes for harvard architecture and non microsoft
COFF files
2022-05-18 12:46:58 +00:00
dev747368
37ab5be446 GP-2044 fix progress in task monitor when value exceeds 32bit int range 2022-05-17 19:48:00 +00:00
dragonmacher
c14c615a14 GP-1982 - Fixed exception in the Table Chooser Dialog 2022-05-17 14:33:56 -04:00
Ryan Kurtz
2a395a1178 Merge remote-tracking branch 'origin/GP-2033_Dan_autoReadWithForceFullView--SQUASHED' 2022-05-17 13:59:44 -04:00
Ryan Kurtz
f649c924a7 Merge remote-tracking branch 'origin/GP-2027_IsolateJoinStorage'
(Closes #4186)
2022-05-17 13:57:58 -04:00
Dan
99e00020f3 GP-2033: Make auto-reads respect 'Force Full View' 2022-05-17 10:02:57 -04:00
Ryan Kurtz
a4111b1592 Merge remote-tracking branch 'origin/patch' 2022-05-17 05:41:57 -04:00
Ryan Kurtz
49a426eb3f GP-0: Fixing issue with discovering split dyld_shared_cache files 2022-05-17 05:38:24 -04:00
Ryan Kurtz
b177836d94 Merge remote-tracking branch 'origin/GP-2011_Dan_staticMapperIssues--SQUASHED' 2022-05-17 00:33:58 -04:00
Dan
cd40985bcc GP-2011: Fix AddressOutOfBounds issue in mapper 2022-05-16 16:24:35 -04:00
ghidra1
0f3d941115 Merge remote-tracking branch 'origin/GP-1797_ghidra1_EliminateDatatypeConflictException' 2022-05-16 15:35:50 -04:00
ghidra1
7f2ae7aded GP-0 updated NamespaceUtils javadoc 2022-05-16 15:34:20 -04:00
Ryan Kurtz
8a776567b5 GP-0: Fixing yield keyword conflict when compiling with JDK 17
compliance.
2022-05-16 14:12:55 -04:00
Ryan Kurtz
9ea0c38993 GP-0: Fixing typo in getLeastSignificatBitInBaseRegister() method
(Closes #4255)
2022-05-16 13:27:08 -04:00
ghidra1
01067debde GP-1797 removed unused DataTypeConflictException 2022-05-16 12:33:16 -04:00
Ryan Kurtz
377c7cb3d4 Merge remote-tracking branch 'origin/GP-1931_ghidravore_speeding_up_select_files_in_project_data_tree--SQUASHED' 2022-05-16 12:26:04 -04:00
ghidravore
b1e0e7d344 GP-1931 improved efficiency for selecting files in the ProjectDataTreePanel by eliminated brute force search technique for finding file nodes in the tree 2022-05-16 12:05:39 -04:00
Ryan Kurtz
95b6acfa12 Merge remote-tracking branch 'origin/patch' 2022-05-16 11:40:04 -04:00
dragonmacher
0fb347dbc5 Removed unused code 2022-05-16 10:55:58 -04:00
Xiaoyin Liu
9641386541 Avoid getHostname()
Use hostname returned by getHostnameString() in error info.
2022-05-16 10:49:24 -04:00
ghidra1
0acb497263 Merge branch 'GP-1994_ghidra1_ClassStructureSearch' 2022-05-14 15:12:33 -04:00
ghidra1
d134531f5d GP-1994 corrected category path escaping 2022-05-13 22:24:03 -04:00
ghidra007
37f87c4874 GP-2010 updated to use preferred root class folder and removed code that
replaced other class structs
2022-05-13 22:47:22 +00:00
ghidra1
d7fc209657 GP-1994 refined datatype search and add ability to specify a program's
preferred root-namespace category node
2022-05-13 16:56:39 -04:00
ghidra1
3d0e5bc882 GP-0 corrected typedef default label deferral when auto-naming is in
use.
2022-05-13 16:33:38 -04:00
caheckman
96b92e2c12 GP-2018 Label zero offset stack pointer references 2022-05-13 14:26:12 -04:00
Ryan Kurtz
3deb67aac4 Merge remote-tracking branch 'origin/patch' 2022-05-13 14:17:31 -04:00
Ryan Kurtz
e3a751ca46 Merge remote-tracking branch 'origin/GP-0-dragonmacher-test-debug-image-location' into patch 2022-05-13 14:03:10 -04:00
caheckman
cedcfbb321 GP-2027 Allow for join Varnodes in splitOutMergeGroup 2022-05-13 14:00:43 -04:00
dragonmacher
1ccd2a882a Updated how the error dialog gets the host name to avoid long pauses 2022-05-13 13:52:36 -04:00
dragonmacher
6b425bda89 Test debug removal; test debug directory consolidation 2022-05-13 09:31:01 -04:00
Ryan Kurtz
4b600847eb Merge remote-tracking branch
'origin/GP-1954_win_x64_cspec_register_grouping' (Closes #2952,
Closes #1480)
2022-05-13 01:09:50 -04:00
dragonmacher
76b5ec7787 GP-2025 - Function Window - fixed duplicate functions appearing when
editing external functions
2022-05-12 18:08:52 -04:00
caheckman
c88f59a5ed GP-2024 Fix for formatting test 2022-05-12 17:53:10 -04:00
James
9e580c18e0 GP-1954 added pointermax 2022-05-12 12:12:01 -04:00
caheckman
b7955f2a79 GP-1954 Refactor characterizeAsParam, AncestorRealistic adjustments 2022-05-12 12:12:00 -04:00
James
91eb96f109 GP-1954 added register groups to inputs in win x64 cspec 2022-05-12 12:11:59 -04:00
Ryan Kurtz
fafbaacd5f Merge remote-tracking branch
'origin/GP-2004_d-millar_NPE_fix_for_ObjectTree' (Closes #4221)
2022-05-12 00:49:27 -04:00
Ryan Kurtz
677dfeaab2 Merge remote-tracking branch 'origin/GP-1971_d-millar_registers_not_updated' 2022-05-12 00:46:46 -04:00
Ryan Kurtz
cc2a6666cb Merge remote-tracking branch 'origin/GP-2002_ghidra1_SimplifyAddressMapInterface' 2022-05-12 00:39:56 -04:00
Ryan Kurtz
ea88095671 Merge remote-tracking branch
'origin/GP-2016_wide_character_format_strings--SQUASHED' (Closes #4165)
2022-05-12 00:37:19 -04:00
Ryan Kurtz
267e01a1c4 Merge remote-tracking branch 'origin/GP-2015_DynamicHashPcodeOp'
(Closes #4178, Closes #4207, Closes #4213, Closes #4214, Closes #4227)
2022-05-12 00:32:46 -04:00
James
c6f174dffb GP-2016 addressing code review suggestions
GP-2016_short_wide_character_format_strings
2022-05-11 13:23:17 -04:00
caheckman
1bed9dac4d GP-2015 Adjustments to DynamicHash for "Force Union Field" action 2022-05-11 13:12:19 -04:00
ghidra1
70062a8cd9 Merge remote-tracking branch 'origin/GP-0_ghidra1_BSD_License_Change--SQUASHED' 2022-05-11 10:45:21 -04:00
ghidra1
8eb58baa7d GP-0 added updated BSD license files and updated related BSD certifications 2022-05-11 10:37:27 -04:00
Dan
d646f1d732 GP-0: Fix missing coalescePatches call 2022-05-11 10:01:37 -04:00
Xiaoyin Liu
bee69b2f38 Fix NPE in selectFieldNumber in ForceUnionAction.java
If the allFields ArrayList contains element null, findStringIndex()
will throw a NPE. Use allFields.indexOf() will not have this issue.
2022-05-10 15:45:30 -04:00
Ryan Kurtz
37a8ffb492 Merge remote-tracking branch 'origin/GP-1970_Dan_noTraceObjectLifespan--SQUASHED' 2022-05-10 14:50:08 -04:00
James
7d8b222183 GP-2012_James_java_attribute_improvements 2022-05-10 18:22:43 +00:00
Ryan Kurtz
357ff97cb3 Merge remote-tracking branch 'origin/GP-2006_DynamicHashCompare' 2022-05-10 01:50:30 -04:00
Ryan Kurtz
5c47902310 Merge remote-tracking branch 'origin/GP-1997_GlobalOverPropagation' 2022-05-10 01:50:14 -04:00
Ryan Kurtz
5f7405168a Merge remote-tracking branch 'origin/GP-2001_James_fix_spelling_mistakes' 2022-05-10 01:48:14 -04:00
Ryan Kurtz
77fbd9dd1e Merge remote-tracking branch 'origin/patch' 2022-05-10 01:43:17 -04:00
ghidra1
f2510e4dc8 GP-0 corrected NaP pointer operand rendering 2022-05-09 15:16:07 -04:00
d-millar
6f5460ea28 GP-1971: fix for register updates 2022-05-09 18:16:21 +00:00
Dan
c957154730 GP-1970: Remove TraceObject.getLifespan() and ilk 2022-05-09 13:28:00 -04:00
d-millar
c27ff7fcfc GP-2004: NPE fix 2022-05-09 16:48:19 +00:00
dragonmacher
d3c04326f3 GP-2009 - Fixed assert exception that identified usage of HTMLUtilities
not on the Swing thread
2022-05-09 10:39:16 -04:00
Ryan Kurtz
3b09371ba8 GP-0: Mach-O cleanup 2022-05-09 10:37:46 -04:00
Ryan Kurtz
f249abfac0 Merge remote-tracking branch 'origin/GP-1881_Dan_editableReprColumn--SQUASHED' 2022-05-06 23:26:26 -04:00
Dan
dbe670bf85 GP-1881: Implement editable Repr column for Registers and Watches providers. 2022-05-06 15:08:09 -04:00
caheckman
6b075ce5b3 GP-2006 Fixed bug in DynamicHash comparisons 2022-05-06 15:08:03 -04:00
Ryan Kurtz
a1b9cbcc15 Merge remote-tracking branch
'origin/GP-1503_ghidorahrex_PR-3418_asaven-gt_ArmVcvtSemantics'
(Closes #3418)
2022-05-06 14:34:20 -04:00