From 3a15ccae7531f7a52b9c3ff879013f1ce4a16097 Mon Sep 17 00:00:00 2001 From: Hornos3 Date: Mon, 26 Aug 2024 23:17:41 +0800 Subject: [PATCH 1/4] Add Ghidra doc. The pandoc may have improper parses in some html files that is needed to be optimized soon. --- .idea/.gitignore | 8 + .../BSim/BSimTutorial_BSim_Command_Line.md | 87 + .../BSim/BSimTutorial_Basic_Queries.md | 166 + ...BSimTutorial_Creating_Database_From_GUI.md | 37 + .../GhidraClass/BSim/BSimTutorial_Enabling.md | 29 + .../BSim/BSimTutorial_Evaluating_Matches.md | 121 + .../BSim/BSimTutorial_Exe_Results.md | 46 + .../GhidraClass/BSim/BSimTutorial_Filters.md | 30 + .../BSim/BSimTutorial_Ghidra_Command_Line.md | 59 + .../GhidraClass/BSim/BSimTutorial_Intro.md | 97 + .../BSim/BSimTutorial_Overview_Queries.md | 51 + .../BSim/BSimTutorial_Scripting.md | 32 + sources/GhidraDocs/GhidraClass/BSim/README.md | 31 + .../GhidraClass/BSim/images/Plus2.png | Bin 0 -> 752 bytes .../GhidraClass/BSim/images/actions.png | Bin 0 -> 25287 bytes .../GhidraClass/BSim/images/basic_query.png | Bin 0 -> 43106 bytes .../BSim/images/bsim_search_dialog.png | Bin 0 -> 32812 bytes .../GhidraClass/BSim/images/configure.png | Bin 0 -> 81733 bytes .../GhidraClass/BSim/images/decomp_diff.png | Bin 0 -> 189226 bytes .../GhidraClass/BSim/images/exe_results.png | Bin 0 -> 65576 bytes .../BSim/images/exe_results_actions.png | Bin 0 -> 58399 bytes .../GhidraClass/BSim/images/exec.png | Bin 0 -> 1059 bytes .../BSim/images/feature_visualizer.png | Bin 0 -> 36217 bytes .../GhidraClass/BSim/images/information.png | Bin 0 -> 778 bytes .../GhidraClass/BSim/images/lock.gif | Bin 0 -> 900 bytes .../BSim/images/overview_window.png | Bin 0 -> 43934 bytes .../preferences-web-browser-shortcuts.png | Bin 0 -> 955 bytes .../BSim/images/script_manager.png | Bin 0 -> 118813 bytes .../BSim/images/text_align_justify.png | Bin 0 -> 209 bytes .../GhidraClass/BSim/images/unlock.gif | Bin 0 -> 900 bytes .../GhidraClass/Debugger/A1-GettingStarted.md | 260 ++ .../GhidraClass/Debugger/A2-UITour.md | 235 ++ .../GhidraClass/Debugger/A3-Breakpoints.md | 227 ++ .../GhidraClass/Debugger/A4-MachineState.md | 407 +++ .../GhidraClass/Debugger/A5-Navigation.md | 231 ++ .../GhidraClass/Debugger/A6-MemoryMap.md | 180 + .../GhidraClass/Debugger/B1-RemoteTargets.md | 226 ++ .../GhidraClass/Debugger/B2-Emulation.md | 502 +++ .../GhidraClass/Debugger/B3-Scripting.md | 378 ++ .../GhidraClass/Debugger/B4-Modeling.md | 1028 ++++++ .../GhidraDocs/GhidraClass/Debugger/README.md | 33 + .../ghidra_scripts/CustomLibraryScript.java | 48 + .../ghidra_scripts/DumpBoardScript.java | 85 + .../InstallCustomLibraryScript.java | 50 + .../InstallExprEmulatorScript.java | 25 + .../ghidra_scripts/ModelingScript.java | 682 ++++ .../ghidra_scripts/ZeroTimerScript.java | 138 + .../images/Breakpoints_EmptyAfterLaunch.png | Bin 0 -> 14679 bytes .../images/Breakpoints_MissingModuleNote.png | Bin 0 -> 11125 bytes .../images/Breakpoints_PopAfterSRandRand.png | Bin 0 -> 24384 bytes .../Breakpoints_SeedValueAfterBreakSRand.png | Bin 0 -> 65966 bytes .../Breakpoints_SyncedAfterImportLibC.png | Bin 0 -> 218844 bytes .../images/Emulation_LazyStaleListing.png | Bin 0 -> 26417 bytes .../images/Emulation_ListingAfterResume.png | Bin 0 -> 35540 bytes .../images/Emulation_ListingForCmdlineSet.png | Bin 0 -> 29061 bytes .../images/Emulation_PcodeStepper.png | Bin 0 -> 32484 bytes .../images/Emulation_WatchesForCmdline.png | Bin 0 -> 21013 bytes .../images/Emulation_WatchesForCmdlineSet.png | Bin 0 -> 24030 bytes .../GettingStarted_DisassemblyAfterLaunch.png | Bin 0 -> 203605 bytes .../images/GettingStarted_LaunchGDBDialog.png | Bin 0 -> 14767 bytes .../images/GettingStarted_Termmines.png | Bin 0 -> 10500 bytes .../images/GettingStarted_ToolWSpecimen.png | Bin 0 -> 129396 bytes .../images/MemoryMap_CopyNcursesInto.png | Bin 0 -> 37488 bytes .../images/MemoryMap_ModulesAfterLaunch.png | Bin 0 -> 29278 bytes .../images/MemoryMap_RegionsAfterLaunch.png | Bin 0 -> 28419 bytes .../MemoryMap_StaticMappingAfterLaunch.png | Bin 0 -> 21901 bytes .../images/Navigation_CompareTimes.png | Bin 0 -> 34001 bytes .../images/Navigation_DialogCompareTimes.png | Bin 0 -> 15177 bytes .../images/Navigation_StackInCallRand.png | Bin 0 -> 13435 bytes .../images/Navigation_ThreadsInCallRand.png | Bin 0 -> 16496 bytes .../Navigation_TimeAfterCallSRandCallRand.png | Bin 0 -> 23600 bytes .../images/RemoteTargets_AcceptTraceRmi.png | Bin 0 -> 7571 bytes .../RemoteTargets_GdbPlusGdbserverViaSsh.png | Bin 0 -> 23692 bytes .../images/RemoteTargets_GdbViaSsh.png | Bin 0 -> 19608 bytes .../images/State_BytesStackAfterCallRand.png | Bin 0 -> 74410 bytes .../images/State_ListingAfterCallRand.png | Bin 0 -> 32916 bytes .../State_ListingStackAfterCallRand.png | Bin 0 -> 36059 bytes .../images/State_RegistersAfterCallRand.png | Bin 0 -> 40569 bytes .../images/State_WatchesInCallSRand.png | Bin 0 -> 13878 bytes .../GhidraClass/Debugger/images/add.png | Bin 0 -> 733 bytes .../GhidraClass/Debugger/images/autoread.png | Bin 0 -> 942 bytes .../Debugger/images/breakpoint-disable.png | Bin 0 -> 684 bytes .../images/breakpoint-enable-ineff.png | Bin 0 -> 513 bytes .../Debugger/images/breakpoint-enable.png | Bin 0 -> 561 bytes .../breakpoint-overlay-inconsistent.png | Bin 0 -> 305 bytes .../Debugger/images/camera-photo.png | Bin 0 -> 864 bytes .../GhidraClass/Debugger/images/connect.png | Bin 0 -> 740 bytes .../GhidraClass/Debugger/images/debugger.png | Bin 0 -> 730 bytes .../Debugger/images/disconnect.png | Bin 0 -> 556 bytes .../GhidraClass/Debugger/images/interrupt.png | Bin 0 -> 211 bytes .../GhidraClass/Debugger/images/kill.png | Bin 0 -> 210 bytes .../GhidraClass/Debugger/images/process.png | Bin 0 -> 649 bytes .../GhidraClass/Debugger/images/record.png | Bin 0 -> 483 bytes .../Debugger/images/register-marker.png | Bin 0 -> 315 bytes .../GhidraClass/Debugger/images/resume.png | Bin 0 -> 396 bytes .../Debugger/images/select-registers.png | Bin 0 -> 363 bytes .../GhidraClass/Debugger/images/skipover.png | Bin 0 -> 497 bytes .../GhidraClass/Debugger/images/stepback.png | Bin 0 -> 428 bytes .../GhidraClass/Debugger/images/stepinto.png | Bin 0 -> 404 bytes .../GhidraClass/Debugger/images/steplast.png | Bin 0 -> 410 bytes .../GhidraClass/Debugger/images/stepout.png | Bin 0 -> 413 bytes .../GhidraClass/Debugger/images/stepover.png | Bin 0 -> 428 bytes .../Debugger/images/table_relationship.png | Bin 0 -> 663 bytes .../Debugger/images/view-refresh.png | Bin 0 -> 1364 bytes sources/GhidraDocs/GhidraCodingStandards.md | 608 ++++ sources/GhidraDocs/GhidraFilesystemStorage.md | 204 ++ sources/GhidraDocs/InstallationGuide.md | 640 ++++ sources/GhidraDocs/images/B.gif | Bin 0 -> 553 bytes sources/GhidraDocs/images/D.gif | Bin 0 -> 880 bytes sources/GhidraDocs/images/F.gif | Bin 0 -> 864 bytes sources/GhidraDocs/images/GHIDRA_1.png | Bin 0 -> 189819 bytes sources/GhidraDocs/images/I.gif | Bin 0 -> 868 bytes sources/GhidraDocs/images/L.gif | Bin 0 -> 863 bytes sources/GhidraDocs/images/U.gif | Bin 0 -> 881 bytes sources/GhidraDocs/images/V_slash.png | Bin 0 -> 281 bytes sources/GhidraDocs/images/binaryData.gif | Bin 0 -> 897 bytes sources/GhidraDocs/images/dataTypes.png | Bin 0 -> 596 bytes .../GhidraDocs/images/decompileFunction.gif | Bin 0 -> 111 bytes sources/GhidraDocs/images/disk.png | Bin 0 -> 620 bytes .../GhidraDocs/images/document-properties.png | Bin 0 -> 464 bytes sources/GhidraDocs/images/down.png | Bin 0 -> 192 bytes sources/GhidraDocs/images/function_graph.png | Bin 0 -> 444 bytes sources/GhidraDocs/images/left.png | Bin 0 -> 188 bytes sources/GhidraDocs/images/memory16.gif | Bin 0 -> 931 bytes sources/GhidraDocs/images/notF.gif | Bin 0 -> 882 bytes sources/GhidraDocs/images/notes.gif | Bin 0 -> 866 bytes sources/GhidraDocs/images/play.png | Bin 0 -> 562 bytes sources/GhidraDocs/images/play_again.png | Bin 0 -> 563 bytes sources/GhidraDocs/images/redo.png | Bin 0 -> 187 bytes sources/GhidraDocs/images/registerGroup.png | Bin 0 -> 192 bytes sources/GhidraDocs/images/right.png | Bin 0 -> 190 bytes sources/GhidraDocs/images/sitemap_color.png | Bin 0 -> 406 bytes sources/GhidraDocs/images/table.png | Bin 0 -> 566 bytes sources/GhidraDocs/images/table_go.png | Bin 0 -> 683 bytes sources/GhidraDocs/images/undo.png | Bin 0 -> 185 bytes sources/GhidraDocs/images/up.png | Bin 0 -> 193 bytes sources/GhidraDocs/images/viewmagfit.png | Bin 0 -> 975 bytes .../languages/html/DefaultStyle.css | 92 + .../GhidraDocs/languages/html/Diagram1.png | Bin 0 -> 11652 bytes .../GhidraDocs/languages/html/Diagram2.png | Bin 0 -> 4169 bytes .../GhidraDocs/languages/html/Diagram3.png | Bin 0 -> 7139 bytes .../languages/html/additionalpcode.html | 453 +++ .../languages/html/additionalpcode.md | 436 +++ .../GhidraDocs/languages/html/languages.css | 26 + .../languages/html/pcodedescription.html | 3040 +++++++++++++++++ .../languages/html/pcodedescription.md | 1168 +++++++ .../GhidraDocs/languages/html/pcoderef.html | 369 ++ sources/GhidraDocs/languages/html/pcoderef.md | 155 + .../GhidraDocs/languages/html/pseudo-ops.html | 241 ++ .../GhidraDocs/languages/html/pseudo-ops.md | 102 + .../GhidraDocs/languages/html/reference.html | 530 +++ .../GhidraDocs/languages/html/reference.md | 84 + sources/GhidraDocs/languages/html/sleigh.html | 478 +++ sources/GhidraDocs/languages/html/sleigh.md | 563 +++ .../languages/html/sleigh_constructors.html | 2305 +++++++++++++ .../languages/html/sleigh_constructors.md | 2634 ++++++++++++++ .../languages/html/sleigh_context.html | 364 ++ .../languages/html/sleigh_context.md | 379 ++ .../languages/html/sleigh_definitions.html | 354 ++ .../languages/html/sleigh_definitions.md | 388 +++ .../languages/html/sleigh_layout.html | 122 + .../languages/html/sleigh_layout.md | 167 + .../languages/html/sleigh_preprocessing.html | 214 ++ .../languages/html/sleigh_preprocessing.md | 255 ++ .../GhidraDocs/languages/html/sleigh_ref.html | 607 ++++ .../GhidraDocs/languages/html/sleigh_ref.md | 450 +++ .../languages/html/sleigh_symbols.html | 229 ++ .../languages/html/sleigh_symbols.md | 218 ++ .../languages/html/sleigh_tokens.html | 285 ++ .../languages/html/sleigh_tokens.md | 346 ++ sources/GhidraDocs/languages/manual_index.txt | 54 + sources/GhidraDocs/languages/versioning.html | 237 ++ sources/GhidraDocs/languages/versioning.md | 242 ++ 173 files changed, 24568 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_BSim_Command_Line.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Basic_Queries.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Creating_Database_From_GUI.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Enabling.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Evaluating_Matches.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Exe_Results.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Filters.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Ghidra_Command_Line.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Intro.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Overview_Queries.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Scripting.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/README.md create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/Plus2.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/actions.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/basic_query.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/bsim_search_dialog.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/configure.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/decomp_diff.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/exe_results.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/exe_results_actions.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/exec.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/feature_visualizer.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/information.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/lock.gif create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/overview_window.png create mode 100755 sources/GhidraDocs/GhidraClass/BSim/images/preferences-web-browser-shortcuts.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/script_manager.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/text_align_justify.png create mode 100644 sources/GhidraDocs/GhidraClass/BSim/images/unlock.gif create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/A1-GettingStarted.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/A2-UITour.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/A3-Breakpoints.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/A4-MachineState.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/A5-Navigation.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/A6-MemoryMap.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/B1-RemoteTargets.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/B2-Emulation.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/B3-Scripting.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/B4-Modeling.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/README.md create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/CustomLibraryScript.java create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/DumpBoardScript.java create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallCustomLibraryScript.java create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallExprEmulatorScript.java create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ModelingScript.java create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ZeroTimerScript.java create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Breakpoints_EmptyAfterLaunch.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Breakpoints_MissingModuleNote.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Breakpoints_PopAfterSRandRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Breakpoints_SeedValueAfterBreakSRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Breakpoints_SyncedAfterImportLibC.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Emulation_LazyStaleListing.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Emulation_ListingAfterResume.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Emulation_ListingForCmdlineSet.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Emulation_PcodeStepper.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Emulation_WatchesForCmdline.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Emulation_WatchesForCmdlineSet.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/GettingStarted_DisassemblyAfterLaunch.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/GettingStarted_LaunchGDBDialog.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/GettingStarted_Termmines.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/GettingStarted_ToolWSpecimen.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/MemoryMap_CopyNcursesInto.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/MemoryMap_ModulesAfterLaunch.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/MemoryMap_RegionsAfterLaunch.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/MemoryMap_StaticMappingAfterLaunch.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Navigation_CompareTimes.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Navigation_DialogCompareTimes.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Navigation_StackInCallRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Navigation_ThreadsInCallRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/Navigation_TimeAfterCallSRandCallRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/RemoteTargets_AcceptTraceRmi.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/RemoteTargets_GdbPlusGdbserverViaSsh.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/RemoteTargets_GdbViaSsh.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/State_BytesStackAfterCallRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/State_ListingAfterCallRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/State_ListingStackAfterCallRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/State_RegistersAfterCallRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/State_WatchesInCallSRand.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/add.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/autoread.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/breakpoint-disable.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/breakpoint-enable-ineff.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/breakpoint-enable.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/breakpoint-overlay-inconsistent.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/camera-photo.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/connect.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/debugger.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/disconnect.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/interrupt.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/kill.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/process.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/record.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/register-marker.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/resume.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/select-registers.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/skipover.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/stepback.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/stepinto.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/steplast.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/stepout.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/stepover.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/table_relationship.png create mode 100644 sources/GhidraDocs/GhidraClass/Debugger/images/view-refresh.png create mode 100644 sources/GhidraDocs/GhidraCodingStandards.md create mode 100644 sources/GhidraDocs/GhidraFilesystemStorage.md create mode 100644 sources/GhidraDocs/InstallationGuide.md create mode 100644 sources/GhidraDocs/images/B.gif create mode 100644 sources/GhidraDocs/images/D.gif create mode 100644 sources/GhidraDocs/images/F.gif create mode 100644 sources/GhidraDocs/images/GHIDRA_1.png create mode 100644 sources/GhidraDocs/images/I.gif create mode 100644 sources/GhidraDocs/images/L.gif create mode 100644 sources/GhidraDocs/images/U.gif create mode 100644 sources/GhidraDocs/images/V_slash.png create mode 100644 sources/GhidraDocs/images/binaryData.gif create mode 100644 sources/GhidraDocs/images/dataTypes.png create mode 100644 sources/GhidraDocs/images/decompileFunction.gif create mode 100644 sources/GhidraDocs/images/disk.png create mode 100644 sources/GhidraDocs/images/document-properties.png create mode 100644 sources/GhidraDocs/images/down.png create mode 100644 sources/GhidraDocs/images/function_graph.png create mode 100644 sources/GhidraDocs/images/left.png create mode 100644 sources/GhidraDocs/images/memory16.gif create mode 100644 sources/GhidraDocs/images/notF.gif create mode 100644 sources/GhidraDocs/images/notes.gif create mode 100644 sources/GhidraDocs/images/play.png create mode 100644 sources/GhidraDocs/images/play_again.png create mode 100644 sources/GhidraDocs/images/redo.png create mode 100644 sources/GhidraDocs/images/registerGroup.png create mode 100644 sources/GhidraDocs/images/right.png create mode 100644 sources/GhidraDocs/images/sitemap_color.png create mode 100644 sources/GhidraDocs/images/table.png create mode 100644 sources/GhidraDocs/images/table_go.png create mode 100644 sources/GhidraDocs/images/undo.png create mode 100644 sources/GhidraDocs/images/up.png create mode 100644 sources/GhidraDocs/images/viewmagfit.png create mode 100644 sources/GhidraDocs/languages/html/DefaultStyle.css create mode 100644 sources/GhidraDocs/languages/html/Diagram1.png create mode 100644 sources/GhidraDocs/languages/html/Diagram2.png create mode 100644 sources/GhidraDocs/languages/html/Diagram3.png create mode 100644 sources/GhidraDocs/languages/html/additionalpcode.html create mode 100644 sources/GhidraDocs/languages/html/additionalpcode.md create mode 100644 sources/GhidraDocs/languages/html/languages.css create mode 100644 sources/GhidraDocs/languages/html/pcodedescription.html create mode 100644 sources/GhidraDocs/languages/html/pcodedescription.md create mode 100644 sources/GhidraDocs/languages/html/pcoderef.html create mode 100644 sources/GhidraDocs/languages/html/pcoderef.md create mode 100644 sources/GhidraDocs/languages/html/pseudo-ops.html create mode 100644 sources/GhidraDocs/languages/html/pseudo-ops.md create mode 100644 sources/GhidraDocs/languages/html/reference.html create mode 100644 sources/GhidraDocs/languages/html/reference.md create mode 100644 sources/GhidraDocs/languages/html/sleigh.html create mode 100644 sources/GhidraDocs/languages/html/sleigh.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_constructors.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_constructors.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_context.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_context.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_definitions.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_definitions.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_layout.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_layout.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_preprocessing.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_preprocessing.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_ref.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_ref.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_symbols.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_symbols.md create mode 100644 sources/GhidraDocs/languages/html/sleigh_tokens.html create mode 100644 sources/GhidraDocs/languages/html/sleigh_tokens.md create mode 100644 sources/GhidraDocs/languages/manual_index.txt create mode 100644 sources/GhidraDocs/languages/versioning.html create mode 100644 sources/GhidraDocs/languages/versioning.md diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_BSim_Command_Line.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_BSim_Command_Line.md new file mode 100644 index 0000000..145481e --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_BSim_Command_Line.md @@ -0,0 +1,87 @@ +--- +status: collected +title: BSim Databases from the Command Line +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_BSim_Command_Line.md +--- + +# BSim Databases from the Command Line + +The ``bsim`` command-line utility, located in the ``support`` directory of a Ghidra distribution, is used to create, populate, and manage BSim databases. +It works for all BSim database backends. +This utility offers a number of commands, many of which have several options. +In this section, we cover only a small subset of the possibilities. + +Running ``bsim`` with no arguments will print a detailed usage message. + +## Generating Signature Files + +The first step is to create signature files from the binaries in the Ghidra project. +Signature files are XML files which contain the BSim signatures and metadata needed by the BSim server. + +**Important**: It's simplest to exit Ghidra before performing the next steps, because: +- The H2-backed database can only be accessed by one process at a time. +- In case you have the ``postgres_object_files`` project open in Ghidra, signature generation will fail. + Non-shared projects are locked when open, and the lock will prevent the signature-generating process from accessing the project. + +To generate the signature files, execute the following commands in a shell (adjust as necessary for Windows). + +```bash +cd /support +mkdir ~/bsim_sigs +./bsim generatesigs ghidra://postgres_object_files --bsim file://example ~/bsim_sigs +``` + +- The ``ghidra:/`` argument is the local project which holds the analyzed binaries. +Note that there is only one forward slash in the URL for a local project. +- The ``--bsim`` argument is the URL of the BSim database. +This command does not add any signatures to the database, but it does query the database for its settings. + +## Committing Signature Files + +Now, we commit the signatures to the BSim database with the following command (still in the ``support`` directory). + +```bash +./bsim commitsigs file://example ~/bsim_sigs +``` + +Once the signatures have been committed, start Ghidra again. + +## Aside: Creating a Database + +We continue to use the database ``example``, so this step isn't necessary for the exercises. + +However, if we hadn't created ``example`` using ``CreateH2BSimDatabaseScript.java``, we could have used the following command: + +```bash +./bsim createdatabase file://example medium_nosize +``` +- ``medium_nosize`` is a database template. + - "medium" (vs. "large") affects the vector index and is not relevant to H2 databases. + - "nosize" means that size differences for varnodes of size four bytes and above are not incorporated into the BSim features. + This is necessary to allow matching between 32-bit and 64-bit code. +- The ``createdatabase`` command can also be used to create a BSim database on a PostgreSQL or Elasticsearch server, provided the servers are configured and running. +See the "BSim" entry in the Ghidra help for details. + +## Aside: Executable Categories and Function Tags + +It's worth a brief note about Executable Categories and Function Tags, although they are not used in any of the following exercises. + +A BSim database can record user-defined metadata about an executable (executable categories) or about a function (function tags). +Categories and tags can then be used as filter elements in a BSim query. +For example, you could restrict a BSim query to search only in executables of the category "OPEN_SOURCE" or to functions which have been tagged "COMPRESSION_FUNCTIONS". + +Executable categories in BSim are implemented using *program properties*, and function tags in BSim correspond to function tags in Ghidra. Properties and tags both have uses in Ghidra which are independent of BSim. +So, if we want a BSim database to record a particular category or tag, we must indicate that explicitly. + +For example, to inform the database that we wish to record the ORIGIN category, you would execute the command + +```bash +./bsim addexecategory file://example ORIGIN +``` + +Executable categories can be added to a program using the script ``SetExecutableCategoryScript.java``. + +Next Section: [Evaluating Matches and Applying Information](BSimTutorial_Evaluating_Matches.md) diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Basic_Queries.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Basic_Queries.md new file mode 100644 index 0000000..93c3217 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Basic_Queries.md @@ -0,0 +1,166 @@ +--- +status: collected +title: Basic BSim Queries +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Basic_Queries.md +--- + +# Basic BSim Queries + +In this section, we demonstrate some applications of our BSim database. + +## Registering a BSim Database + +In order to query the database, you must register it with Ghidra: + +1. From The Code Browser, Select **BSim -> Manage Servers**. +1. In the BSim Server Manager dialog, click the green plus ![add server icon](images/Plus2.png). +1. Select the **File** radio button and use the chooser to select ``example.mv.db`` +1. Click **OK** +1. Click **Dismiss** to close the dialog. + +## How to Query a BSim Database + +Before presenting the exercises, we describe the general mechanics of querying a BSim database. + +### Initiating a BSim Query + +There are a number of ways to initiate a BSim query, including: + +- **BSim -> Search Functions...** from the Code Browser. +- Right-click in the Listing and select **BSim -> Search Functions...** +- Click on the BSim icon ![BSim toolbar icon](images/preferences-web-browser-shortcuts.png) in the Code Browser toolbar. + +For these cases, the function(s) being queried depend on the current selection. +If there is no selection, the function containing the current address is queried. +If there is a selection, all functions whose entry points are within the selection are queried. +An easy way to query all functions in a program is to select all addresses with ``Ctrl-A`` in the Listing window and then initiate a BSim query. + +It is also possible to initiate a BSim query from the Decompiler window. +Simply right-click on a function name token and select **BSim...** to query the corresponding function. +This action is available on the name token in the decompiled function's signature as well as tokens corresponding to names of callees. + +All of these actions bring up the *BSim Search Dialog*. + +### The BSim Search Dialog + +From the BSim Search Dialog, you can + +- Select which BSim database to query. +- Set query thresholds. +- Bound the number of results returned for each function. +- Set query filters. + +![bsim search dialog icon](images/bsim_search_dialog.png) + +#### Selecting a BSim Database + +To query a registered BSim database, select that server from the **BSim Server** drop-down. + +#### Setting Query Options + +**Similarity** and **confidence** are scores used to evaluate the relationship between two vectors. +The respective fields in the dialog set lower bounds for these values for the matches returned by BSim. + +- Similarity + - Formally, the similarity of a match is the cosine of the angle between the vectors. + - For BSim vectors, this value will always be between 0.0 and 1.0. + - The higher the similarity score, the closer the vectors. + +- Confidence + - Intuitively, confidence quantifies the meatiness of a match. + - Shared features increase this score and differing features decrease this score. + - Sharing rare features contributes more to this score than sharing common features. + - There is no upper bound for confidence when considered over all pairs of vectors. + However, if you fix a vector *v*, the greatest possible confidence score for a comparison involving *v* occurs when *v* is compared to itself. + The resulting confidence value is called the **self-significance** of *v*. + +Confidence is used to judge the significance of a match. +For example, many executables contain a function which simply returns a constant value. +Given two executables, each with such a function, the similarity score between the corresponding BSim vectors will be 1.0. +However, the confidence score of the match will be quite low, indicating that it is not very significant that the two executables "share" this code. + +In general, setting the thresholds involves a tradeoff: lower values mean that the database is more likely to return legitimate matches with significant differences, but also more likely to return matches which simply happen to share some features by chance. +The results of a BSim query can be sorted by the similarity and/or confidence of each match, so a common practice is to set the thresholds relatively low and to examine the matches in descending sort order. + +The **Matches per Function** bound controls the number of results returned for a single function. +Note that in large collections, certain small or common functions might have substantial numbers of identical matches. + +Filters are discussed in [BSim Filters](BSimTutorial_Filters.md). + +#### Performing the Query + +Click the **Search** button in the dialog to perform a query. + +After successfully issuing a query, you will also see a **Search Function(s)** action (without the ellipsis) in certain contexts. +This will perform a BSim query on the selected functions using the same parameters as the last query (skipping the BSim Search Dialog). + +## Exercises + +The database ``example`` contains vectors from a Linux executable used by Ghidra's GNU demangler. +Ghidra ships with several other versions of this executable. +We use these different versions to demonstrate some of the capabilities of BSim. + +**Note**: Use the default query settings and autoanalysis options for the exercises unless otherwise specified. + +### Exercise: Function Identification + +1. Import and analyze the binary ``/GPL/DemanglerGnu/os/win_x86_64/demangler_gnu_v2_41.exe``. + - This executable is based on the same source code as ``demangler_gnu_v2_41`` but compiled with Visual Studio instead of GCC. +1. Examine this binary in Ghidra and verify that the original function names are not present. + - Note that the function names **are** present in ``demangler_gnu_v2_41``. +1. Using the default query options, query `example` for matches to the function at ``140006760``. +1. You should see the following search results: + ![search results](images/basic_query.png) + - In this case, there is exactly one match, the similarity is 1.0, and the matching function has a non-default name (it won't always be this easy). + - The results window has two tables: the function-level results (upper table) and the executable-level results (lower table). + The executable-level results are covered in [From Matching Functions to Matching Executables](BSimTutorial_Exe_Results.md). +1. Right-click on the row of the match and perform the **Compare Functions** action to bring up the side-by-side comparison. + - The **Listing View** tab shows the disassembly. + - The **Decompiler Diff View** tab shows the decompiled code. + - Differences in the code are automatically highlighted in cyan. + - Either view can be toggled between a horizontal split and a vertical split using the drop-down menu. +1. Examine the diff views to verify that the match is valid. +1. Using the **Apply Name** action in the BSim Search Results table, apply the name from the search result to the queried function. + +**Note**: We cover the Decompiler Diff View in greater detail and discuss the various "Apply" actions in [Evaluating Matches and Applying Information](BSimTutorial_Evaluating_Matches.md). + +### Exercise: Changes to the Source Code + +1. Import and analyze the executable ``/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_24``. + - This executable is based on an earlier version of the source code than the executable in ``example``. +1. Navigate to the function ``expandargv`` in ``demangler_gnu_v2_24`` and issue a BSim query. +1. What differences do you see in the decompiled code of the single match? +
In demangler_gnu_v2_41... The main differences are that call to dupargv is now in an if clause (and decompiler creates a related local variable) and there are two additional calls to free.
+1. The relevant source files are included with the Ghidra distribution: + - ``/GPL/DemanglerGnu/src/demangler_gnu_v2_24/c/argv.c`` + - ``/GPL/DemanglerGnu/src/demangler_gnu_v2_41/c/argv.c`` +1. Verify that the differences you found are present in the source. + +### Exercise: Cross-architectural Matching + +1. Import and analyze the executable +``/GPL/DemanglerGnu/os/mac_arm_64/demangler_gnu_v2_41``. + - This executable is based on the same source code as the executable in `example` but compiled for a different architecture. + - **Note**: this file has the same name as the one we used to populate the BSim database, so you will have to give the resulting Ghidra program a different name or import it into a different directory in your Ghidra project. +1. Navigate to ``_expandargv`` and issue a BSim query. +In the decompiler diff view of the single match, what differences do you see regarding ``memmove`` and ``memcpy``? +
In the arm64 version... In the arm64_version, the compiler replaced these functions with __memmove_chk and __memcpy_chk. The __chk versions have an extra parameter related to preventing buffer overflows. Neither the names nor the bodies of callees are incorporated into BSim signatures, but the arguments of a call are, so this change partly explains why the BSim vectors are not identical.
+1. Examine the **Listing View** tab and verify that the architectures are indeed different. + + +## A Remark on Query Thresholds and Indices + +Q: If you set the similarity and confidence thresholds to 0.0, will a BSim query return all of the functions in the database? + +A: No, because +- For indexed databases (i.e., PostgreSQL and Elasticsearch), the index is designed so that vector comparisons are only performed between vectors which are likely to be close. +Most vectors will not even be considered as potential matches for a given queried vector. +- Regardless of database backed, matches are only shown if the confidence score is above the confidence threshold of the query. +The interface will not allow you to set a negative confidence threshold, but confidence scores can be negative. +- The **Matches per Function** parameter also controls how many functions are returned. + +Next Section: [Ghidra from the Command Line](BSimTutorial_Ghidra_Command_Line.md) + diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Creating_Database_From_GUI.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Creating_Database_From_GUI.md new file mode 100644 index 0000000..0fa2b5f --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Creating_Database_From_GUI.md @@ -0,0 +1,37 @@ +--- +status: collected +title: Creating and Populating a BSim Database from the Ghidra GUI +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Creating_Database_From_GUI.md +--- + +# Creating and Populating a BSim Database from the Ghidra GUI + +This section explains how to create and populate an H2-backed BSim database from the Ghidra GUI. + +## Creating the Database + +To create a BSim database, first create a directory on your file system to contain the database. + +Next, perform the following steps from the Ghidra Code Browser: + +1. Run the Ghidra script ``CreateH2BSimDatabaseScript.java``. +1. In the resulting dialog: + 1. Enter "example" in the **Database Name** field. + 1. Select the new directory in the **Database Directory** field. + 1. Don't change any of the other fields. +1. Click **OK**. + +## Populating the Database + +We now populate the database with an executable which is contained in the Ghidra distribution. + +1. Import and analyze the executable ``/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_41`` using the default analysis options. +1. Run the Ghidra script ``AddProgramToH2BSimDatabaseScript.java`` on this program. + - The script will ask you to select an H2 database file. Use ``example.mv.db`` in the database directory. +1. In general you can run this script on other programs to add their signatures to this database, but that's not necessary for the exercises in the next section. + +Next Section: [Basic BSim Queries](BSimTutorial_Basic_Queries.md) + diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Enabling.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Enabling.md new file mode 100644 index 0000000..a9378c2 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Enabling.md @@ -0,0 +1,29 @@ +--- +status: collected +title: Starting Ghidra and Enabling the BSim Plugin +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Enabling.md +--- + +# Starting Ghidra and Enabling the BSim Plugin: + +To begin the tutorial, perform the following steps: + +1. Launch Ghidra. +1. Create a new non-shared project for this tutorial. +1. Launch the Code Browser. + +To enable BSim, perform the following steps: + +1. **File -> Configure** from the Code Browser. +1. Click on the ``Configure`` link of the ``BSim`` entry. +1. In the resulting dialog, ensure that the checkbox for ``BSimSearchPlugin`` is checked. + +![configure dialog](images/configure.png) + + Next Section: [Creating and Populating a BSim Database from the GUI](BSimTutorial_Creating_Database_From_GUI.md) + + + diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Evaluating_Matches.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Evaluating_Matches.md new file mode 100644 index 0000000..18963cd --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Evaluating_Matches.md @@ -0,0 +1,121 @@ +--- +status: collected +title: Evaluating Matches and Applying Information +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Evaluating_Matches.md +--- + +# Evaluating Matches and Applying Information + +Summarizing what we've created over the last few sections, we now have: +1. A stripped executable (``postgres``). +1. A Ghidra project containing some object files *with debug information*[^1] used to build that executable. +1. A BSim database containing the BSim signatures of the object files. + +[^1]: Having debug information isn't necessary to use BSim (as we've seen in a previous exercise), but it is convenient. Note that applying debug information can change BSim signatures, which can negatively impact matching between functions with debug information and functions without it. + +We now demonstrate using BSim to help reverse engineer ``postgres``. +While doing this, we'll showcase some of the features available in the decompiler diff view. + +## Exercise: Exploring the Highlights + +Import and analyze the stripped `postgres` executable into the tutorial project, then perform the following steps: + +1. Select all functions in `postgres` via ``Ctrl-A`` in the Listing. +1. Perform a BSim query of the database ``example``. + - **Note:** We use the results of this query in the following few exercises. + If you don't close the BSim search results window, you won't have to issue the query again. +1. Sort the rows by confidence and find the row with ``grouping_planner`` as the matching function. +The corresponding function in `postgres` should have a default name. +1. Examine this match in the side-by-side decompiler view. +Note that the matching function has better data type information due to the debug information. +1. Q: Why does the placement of the `double` argument differ between the functions? +
Answer Floating point values and integer/pointer values are passed in separate sets of registers. + Neither ordering is wrong since both are consistent with the instructions of the function. + The debug info records a specific signature (and ordering) for the function, which Ghidra applies. + In the version without debug information, the decompiler used heuristics to determine the function's signature.
+ +For matches with a fair number of differences, the decompiler diff panel can get pretty colorful. +Furthermore, as you click around, tokens will gain and lose highlights of various colors. +It's worth giving a brief explanation of when highlighting happens and what the different colors mean. +Some terminology: if you click on a token in a decompiler panel, that token becomes the *focused token*. + +![Decomp Diff Window](images/decomp_diff.png) + +The colors: + +- Cyan is used to highlight differences between the two functions. +- Pink is used to highlight the focused token and its match. +- Lavender is used to highlight the focused token when it does not have a match. +- Orange is used to highlight the focused token when it is ineligible for match. +Certain tokens, such as whitespace tokens or tokens used in variable declarations, are never assigned matching tokens. + +## Exercise: Locking and Unlocking Scrolling + +By default, scrolling in the diff window is synchronized. +This means that scrolling within one window will also scroll within the other window. +In the decompiler diff window, scrolling works by matching one line in the left function with one line in the right function. +The two functions are aligned using those lines. +Initially, the functions are aligned using the functions' signatures. + +As you click around in either function, the "aligning lines" will change. +If the focused token has a match, the scrolling is re-centered based on the lines containing the matched tokens. +If the focused token does not have a match, the functions will be aligned using the closest token to the focused token which does have a match. + +Synchronized scrolling can be toggled using the ![lock icon](images/lock.gif) and ![unlock icon](images/unlock.gif) icons in the toolbar. + +1. Experiment with locking and unlocking synchronized scrolling. + +## Exercise: Applying Signatures + +If you are satisfied with a given match, you might want to apply information about the matching function to the queried function. +For example, you might want to apply the name or signature of the function. +There are some subtleties which determine how much information is safe to apply. +Hence there are three actions available under the **Apply From Other** menu when you right-click in the left panel: + +1. **Function Name** will apply the right function's name and namespace to the function on the left. +1. **Function Signature** will apply the name, namespace, and "skeleton" data types. + Structure and union data types are not transferred. + Instead, empty placeholder structures are created. +1. **Function Signature and Data Types** will apply the name and signature with full data types. + This may result in many data types being imported into the program (consider structures which refer to other structures). + +**Warning**: You should be absolutely certain that the datatypes are the exactly the same before applying signatures and data types. +If there have been any changes to a datatype's definition, you could end up bringing incorrect datatypes into a program, even using BSim matches with 1.0 similarity. +Applying full data types is also problematic for cross-architecture matches. + +1. Since we know it's safe, apply the function signature and data types to the left function. + +There are similarly-named actions available on rows of the Function Matches table in the BSim Search Results window. +The **Status** column contains information about which rows have had their matches applied. + +## Exercise: Comparing Callees + +The token matching algorithm matches a function call in one program to a function call in another by considering the data flow into and out of the ``CALL`` instruction, but it does not do anything with the bodies of the callees. +However, given a matched pair of calls, you can bring up a new comparison window for the callees with the **Compare Matching Callees** action. + +1. Click in the left panel of the decompile diff window and press ``Ctrl-F``. +1. Enter ``FUN_`` and search for matched function calls where the callee in the left window has a default name and the callee in the right window has a non-default name. +1. Right-click on one of the matched tokens and perform the **Compare Matching Callees** action. +1. In the comparison of the callees, apply the function signature and data types from the right function to the left function. + Verify that the update is reflected in the decompiler diff view of the callers. + + +## Exercise: Multiple Comparisons + +The function shown in a panel is controlled by a drop-down menu at the top of the panel. +This can be useful when you'd like to evaluate multiple matches to a single function. + +Exercise: + +1. In the BSim Search Results window, right-click on a table column name, select **Add/Remove Columns**, and enable the **Matches** column. +1. Find two functions in ``postgres``, each of which has exactly two matches. + Select the corresponding four rows in the matches table and perform the **Compare Functions** action. +1. Experiment with the drop-downs in each panel. + +In the next section, we discuss the Executable Results table. + + +Next Section: [From Matching Functions to Matching Executables](BSimTutorial_Exe_Results.md) diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Exe_Results.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Exe_Results.md new file mode 100644 index 0000000..1326e7c --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Exe_Results.md @@ -0,0 +1,46 @@ +--- +status: collected +title: From Matching Functions to Matching Executables +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Exe_Results.md +--- + +# From Matching Functions to Matching Executables + +In this section, we discuss the Executable Results table. +Each row of this table corresponds to one executable in the database. +The information in one row is an aggregation of all of the function-level matches into that row's executable. +Your Executable Results table from the previous query should look similar to the following: + +![executable results](images/exe_results.png) + +If you select a single row in the table and right-click on it, you will see the following actions: + +- **Load Executable** + Opens a read-only copy of the program in the Code Browser. +- **Filter on this Executable** + Applies a filter which restricts the matches shown in the Function Matches table to matches which occur in the given executable. + +## Exercise + +1. Sort the Executable results by descending **Function Count**. + An entry in this column shows the number of queried functions which have at least one match in the row's executable (if ``foo`` has 2 or more matches into a given executable, it still only contributes 1 to the function count). + What position is ``demangler_gnu_v2_41``? +
In this table... It's in the first position.
+1. An entry in the **Confidence** column shows the sum of the confidence scores of all matches into the corresponding executable. + If ``foo`` has more than one match into a given executable, only the one with the highest (function-level) confidence contributes to the (executable-level) confidence score. + Sort the Executable results by descending confidence and observe that ``demangler_gnu_v2_41`` is now much further down the list. +
What could explain this? If there are many function matches but the sum of all the confidences is relatively low, it is likely that many of the matches involve small functions with common BSim signatures.
+1. In the Executable match table, right click on ``demangler_gnu_v2_41`` and apply the filter action. +Sort the filtered function matches by descending confidence. +Starting at the top, examine some of the matches and convince yourself that the given explanation is correct. + - **Note**: You can remove the filter using the **Filter Results** icon ![Filter Results](images/exec.png) in the toolbar. + We'll discuss this further in [BSim Filters](BSimTutorial_Filters.md) + +From this exercise, we see that unrelated functions can be duplicates of each other, either because they are small or because they perform a common generic action. +Keep in mind that such functions can "pollute" the results of a blanket query. +In the next section, we demonstrate a technique to restrict queries to functions which are more likely to have meaningful matches. + +Next Section: [Overview Queries](BSimTutorial_Overview_Queries.md) diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Filters.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Filters.md new file mode 100644 index 0000000..fc1dfed --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Filters.md @@ -0,0 +1,30 @@ +--- +status: collected +title: BSim Filters +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Filters.md +--- + +# BSim Filters + +There are a number of filters that can be applied to BSim queries, involving names, architectures, compilers, ingest dates, user-defined executable categories, and other attributes. + +Filters be can applied *server-side* or *client-side*. +Server-side filters affect the query results sent to Ghidra from a BSim server and can be applied using the **Filters** drop-down in the BSim Search dialog. +Client-side filters apply to the BSim Search results table and can be added and removed at will using the **Filter Results** icon ![Filter Results](images/exec.png). +However, to "undo" a server-side filter, you have to issue another BSim query without the filter. + + + +## Exercise: Filters + +1. Select all functions in ``postgres`` and bring up the BSim Search dialog. +1. Apply an **Executable name does not equal** filter with ``demangler_gnu_v2_41`` as the name to exclude. +1. Perform the query and verify ``demangler_gnu_v2_41`` is not in the list of executables with matches. +1. Using the **Search Info** icon ![Search Info](images/information.png) in the BSim Search Results toolbar, you can see the server-side filters applied to the query. +Verify that this information is correct. +1. Using the **Filter Results** icon ![Filter Results](images/exec.png), you can apply client-side filters to the query results. Experiment with applying and removing some client-side filters. + +Next Section: [Scripting and Visualization](BSimTutorial_Scripting.md) \ No newline at end of file diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Ghidra_Command_Line.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Ghidra_Command_Line.md new file mode 100644 index 0000000..9d7d4da --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Ghidra_Command_Line.md @@ -0,0 +1,59 @@ +--- +status: collected +title: Ghidra Analysis from the Command Line +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Ghidra_Command_Line.md +--- + +# Ghidra Analysis from the Command Line + +For the remaining exercises, we need to populate our BSim database with a number of binaries. +We'd like a consistent set of binaries for the tutorial, but we don't want to clutter the Ghidra distribution with dozens of additional executables. +Fortunately, the BSim plugin includes a script for building the PostgreSQL backend, and that build process creates hundreds of object files. +So we can just build PostgreSQL and harvest the object files we need. + +**Note**: For the tutorial, we continue to use the H2 BSim backend. +We do not run any PostgreSQL code, we simply analyze some files produced when building PostgreSQL. + +Note that these files must be built on a machine running Linux. +Windows users can build these files in a Linux virtual machine. + +To build the files, execute the following commands in a shell: [^1] + +[^1]: You may need to install additional packages and/or change some build options in order for PostgreSQL to build successfully. The error messages are generally informative. See the comments in ``make-postgres.sh``. + +```bash +cd /Features/BSim +export CFLAGS="-O2 -g" +./make-postgres.sh +mkdir ~/postgres_object_files +cd build +find . -name p*o -size +100000c -size -700000c -exec cp {} ~/postgres_object_files/ \; +cd os/linux_x86_64/postgresql/bin +strip -s postgres +``` + +To continue on Windows, transfer the ``~/postgres_object_files`` directory and the stripped ``postgres`` executable to your Windows machine. + +## Importing and Analyzing the Exercise Files + +Now that we have the executables, we can analyze them with the headless analyzer[^2]. +The headless analyzer is distinct from BSim, but using it is the only feasible way to analyze substantial numbers of binaries. + +[^2]: The headless analyzer has its own documentation: ``/support/analyzeHeadlessREADME.html``. + +To analyze the files in Linux, execute the following commands in a shell. + +```bash +cd /support +./analyzeHeadless postgres_object_files -import ~/postgres_object_files/* +``` +(On windows, use ``analyzeHeadless.bat`` and adjust paths accordingly.) + +This will create a local Ghidra project called ``postgres_object_files`` in the directory ````. + + +Next Section: [BSim from the Command Line](BSimTutorial_BSim_Command_Line.md) + diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Intro.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Intro.md new file mode 100644 index 0000000..da1dada --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Intro.md @@ -0,0 +1,97 @@ +--- +status: collected +title: Introduction to BSim +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Intro.md +--- + +# Introduction to BSim + +As you've reverse engineered software, you've likely asked the following questions: + +- Which libraries were statically linked into this executable? +- Does this executable share some code with another executable that I've analyzed? +- What are the differences between version 1 and version 2 of a given executable? +- Does this executable share code with another executable in a large collection of binaries? +- Was this function pulled from an open-source library? + +BSim is intended to help with these questions (and others) by providing a way to search collections of binaries for similar, but not necessarily identical, functions. + +# How Does BSim Work? + +The idea behind BSim is to generate a *feature vector* for each function in a binary. +The vectors are generated by Ghidra's decompiler. +Each feature represents a small piece of data flow and/or control flow of the associated function. +The decompiler normalizes the feature vector representation so that different, but functionally equivalent, pieces of code often produce the same features. +Certain attributes, such as values of constants, names of registers, and data types, are intentionally not incorporated into the features. + +BSim vectors are compared using *cosine similarity*. +Discrepancies between the vectors for ``foo`` and ``bar`` which are caused by differences in compilers, target architectures, and/or small changes to the source code typically result in vectors which are close but not identical. + +BSim vectors can be stored in a dedicated database. +BSim databases intended to hold large[^1] numbers of vectors maintain an index based on *locality-sensitive hashing*. +The index drastically reduces the number of vector comparisons needed and allows for rapid retrieval of results. + +[^1]: Creating a database requires a *database template*, which determines the specifics of the index. Currently, Ghidra provides a *medium* template, intended for databases holding up to 10 million unique vectors, and a *large* template, intended for databases holding up to 100 million unique vectors. + +Querying ``foo`` against a BSim database typically yields a number of potential matches. +Each individual match for ``foo`` can be compared to `foo` in a side-by-side view, and certain information (such as function name) can be quickly copied from a match to ``foo``. + +We frequently call BSim vectors the *BSim signature* of a function, or just the *signature* when the context is clear. + +# Why "BSim"? + +We can think of each feature as representing a small piece of the *behavior* of a function, analogous to a snippet of source code. +Functions whose BSim vectors are close typically have many features in common, that is, they have *similar behavior*. +Hence the name "BSim": **B**ehavioral **Sim**iliarity. + +# BSim Clients, BSim Databases, and Ghidra Projects + +Using BSim involves the following components: + +- A *BSim Client*, i.e., an instance of Ghidra with the BSim plugin enabled. + - This is where the reverse engineering happens. +- A *BSim Database*, which stores the BSim signatures. + - Also stores some metadata about each function and its containing executable. + - In particular, stores the ghidra:// URL of the associated Ghidra program. + - Does not store disassembly or decompiled functions. +- A *Ghidra Project*, which stores the analyzed programs used to populate the BSim database. + - Given a BSim match, the BSim client can use the ghidra:// URL to retrieve a program from a Ghidra project for side-by-side comparisons. + - Note that a single BSim database can reference multiple Ghidra projects. + +# Database Backends + +There are three supported database backends for BSim: + +1. PostgreSQL + + - The Ghidra distribution includes the source for PostgreSQL, a PostgreSQL plugin for BSim, and a build script. + - Populated from shared Ghidra projects (i.e., requires a Ghidra server). + - Server not supported on Windows (no restriction on clients). + +2. Elasticsearch + + - The ``BSimElasticPlugin`` extension contains an Elasticsearch plugin for BSim. + - This plugin must be installed into an existing Elasticsearch database. + - Populated from shared Ghidra projects. + +3. H2 + + - Simplest way to use BSim: + - Backed by files on the user's machine (don't need to install database server). + - Can be created and populated quickly. + - Supported on all platforms. + - Does not support large collections of binaries or multiple users. + - Can be populated from non-shared (local) or shared Ghidra projects. + + Next Section: [Starting Ghidra and Enabling BSim](BSimTutorial_Enabling.md) + + + + + + + + diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Overview_Queries.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Overview_Queries.md new file mode 100644 index 0000000..5eff0ef --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Overview_Queries.md @@ -0,0 +1,51 @@ +--- +status: collected +title: Overview Queries +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Overview_Queries.md +--- + +# Overview Queries + +An **Overview Query** queries a BSim database for the number of matches to each function in an executable. +The matching functions themselves are not returned. +Similarity and Confidence thresholds can be set for an Overview Query, but there is no "Matches per Function" bound and no filters can be applied. + +To perform an Overview Query, select **BSim -> Perform Overview...** from the Code Browser. + +## Exercise: Hit Counts and Self-Significance + +1. Perform an Overview query on ``postgres`` using the default query thresholds. +You should see the following result: +![overview window](images/overview_window.png) +1. Sort the table by the "Hit Count" column in ascending order. Typically, the functions with the largest hit counts will have low self-significance. +Verify that that is the case for this table. +1. Q: Examine the functions with the highest hit count. Why are there so many matches for these functions? +
Answer: These are all instances of PostgreSQL statistics-reporting functions. Their bodies are quite similar and they have identical BSim signatures.
+ +## Exercise: Selections and Queries + +Using the hit count column, it is possible to exclude functions with large numbers of matches. + +1. In the Overview Table, select all functions whose hit count is 2 or less. +1. Right-click on the selection and perform the **Search Selected Functions** action. + Sort the query results by descending **Function Count** and verify that ``demangler_gnu_v2_41`` is far down the list. + +## Exercise: Vector Hashes + +Suppose ``foo`` and ``bar`` have the same number of hits in the Overview table. +There are two possibilities: +1. ``foo`` and ``bar`` have distinct feature vectors which happen to have the same number of matches. +1. ``foo`` and ``bar`` have the same feature vector. + +An optional column, **Vector Hash**, can be used to distinguish between these two cases. + +1. Enable the **Vector Hash** Column in the Overview Table. +1. Find two functions with the same vector hash. +1. Select the two corresponding rows in the table and then transfer the selection to the Listing using the ![make selection icon](images/text_align_justify.png) icon in the BSim Overview toolbar. +1. In the Listing, press ``Shift-C`` or right-click and perform the **Compare Selected Functions** action. +1. In the resulting Function Comparison window, convince yourself that these two functions should have the same BSim signature. + +Next Section: [Queries and Filters](BSimTutorial_Filters.md) diff --git a/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Scripting.md b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Scripting.md new file mode 100644 index 0000000..6d5adfa --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/BSimTutorial_Scripting.md @@ -0,0 +1,32 @@ +--- +status: collected +title: Scripting and Visualization +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/BSimTutorial_Scripting.md +--- + +# Scripting and Visualization + +Finally, we briefly mention a few other topics related to BSim. + +## Scripting BSim + +There are are number of example scripts in the ``BSim`` script category, which demonstrate how to interact with BSim programmatically. + +![script manager](images/script_manager.png) + +## Visualizing Features + +Finally, if you'd like to see the particular BSim features in a function, you can use the BSim Feature Visualizer. +This plugin allows you to highlight regions of the decompiled code corresponding to a particular feature and to display a graph representing the feature. + +To use this plugin, first enable the ``BSimFeatureVisualizerPlugin`` via **File -> Configure** from the Code Browser. +You can then bring it up via **BSim -> BSim Feature Visualizer**. + +![feature visualizer](images/feature_visualizer.png) + +This is the end of the tutorial. + +[Return to the Beginning](README.md) diff --git a/sources/GhidraDocs/GhidraClass/BSim/README.md b/sources/GhidraDocs/GhidraClass/BSim/README.md new file mode 100644 index 0000000..dd26067 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/BSim/README.md @@ -0,0 +1,31 @@ +--- +status: collected +title: BSim Tutorial +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/BSim/README.md +--- + +# BSim Tutorial + +BSim is a Ghidra plugin for finding structurally similar functions in (potentially large) collections of binaries. +It is based on Ghidra's decompiler and can find matches across compilers, architectures, and/or small changes to source code. + +This tutorial demonstrates how create a small BSim database and walks through some typical use cases. + +**Detailed information about BSim can be found in the "BSim" entry of the Ghidra Help**. + +1. [Introduction to BSim](BSimTutorial_Intro.md) +1. [Starting Ghidra and Enabling BSim](BSimTutorial_Enabling.md) +1. [Creating and Populating a BSim Database from the GUI](BSimTutorial_Creating_Database_From_GUI.md) +1. [Basic BSim Queries](BSimTutorial_Basic_Queries.md) +1. [Ghidra from the Command Line](BSimTutorial_Ghidra_Command_Line.md) +1. [BSim from the Command Line](BSimTutorial_BSim_Command_Line.md) +1. [Evaluating Matches](BSimTutorial_Evaluating_Matches.md) +1. [From Matching Functions to Matching Executables](BSimTutorial_Exe_Results.md) +1. [Overview Queries](BSimTutorial_Overview_Queries.md) +1. [BSim Filters](BSimTutorial_Filters.md) +1. [Scripting and Visualization](BSimTutorial_Scripting.md) + +Next Section: [Introduction to BSim](BSimTutorial_Intro.md) diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/Plus2.png b/sources/GhidraDocs/GhidraClass/BSim/images/Plus2.png new file mode 100644 index 0000000000000000000000000000000000000000..add4ad53dd68e79d7e2cdf13644dfbb51373fbfd GIT binary patch literal 752 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pn}NEkcg59UmvUF{9L`nl>DSry^7odplSvNn+hu+GdHy)QK2F?C$HG5 z!d3~a!V1U+3F|8Y3;nDA{o-C@9zzrKDK}xwt{K19`Se z86_nJR{Hwo<>h+i#(Mch>H3D2mX`VkM*2oZx=P7{9O-#x!EwNQn0$BtH5O0c3d|4@L;p!@;Rg)2@GTdPZ!4!3&E+A zeY2Px1zM{oP0UewapEFGp zR<64?<)7E&RV4vG?lc~sWw-Yo`nl|p=ynpGwnJ1OUkg4X=^jDa0{yb;2R#Ix=#Vb1YE4p%@$YnD(`5@fvSAQl9$x#{5m<7cK`TIB(gsdD`!+KKY-L;fpquiZ2hg5jShHUmR7~ zy7q$j{FTyAPm8=iwc-7Oo{I0M=4qwJ8oU2yKBYQy(%;q3=008-r1NIho?O#i|M&kt ZC;lMYt>DW{$cix%# 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 SkKKGvLhhxKRGEZ+z<&Xkb3}9i literal 0 HcmV?d00001 diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/basic_query.png b/sources/GhidraDocs/GhidraClass/BSim/images/basic_query.png new file mode 100644 index 0000000000000000000000000000000000000000..d741ce782a74ab63c432495bd6609f9ff28b522e GIT binary patch literal 43106 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

Xu|&eBlF{Z?>C5x_nCWi7B{90 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 literal 0 HcmV?d00001 diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/decomp_diff.png b/sources/GhidraDocs/GhidraClass/BSim/images/decomp_diff.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd3b7c0131247b4da13d6291939a9df1661a9ee GIT binary patch literal 189226 zcmagGcRZY3*EXCkBqBtw2?+_JMjr%GqDSwY(M26I2GOrXi|B0-LG&_uPedPv=v}nI zVDw(zQ*zz+eckW#eBXQi{4u|CX7=p8*V@NA*0I*R#K}cXM_sJlGXR4(rk~^ApFKewjDeR>i5`%V zR5%C3f&S(F8xsHgQ{7mJY`pI9gYv&`-@l>D#zKL3&57TE15aee{o4?*c$Ke)o-F`b2 zHhgkcS5>gzZk0z-m3_pRzgM{t%rSSQVU=*zA!H1{oTfa$DYgN6q!^-3E!VlH0%%R-Eu~ zNd@8nJAE?yXmkDXbr^x-KIvgE>5R(O+>wMyUPq*Q1JozU%0DgV#Co9nqp{VY?G9G) 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

ELt0H`&Oo%EGc0wl#4t^RHsHL?- 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

leY_Nlm;U>_tVGSn&xl&g&UYKQ{` zuV~?y%qNdvix84`NNfF0n$E#e_iJ-C))9H;&dvj*%SPXw++V$`Cx)&9ZZ_gh3VF?O z_O4^QPx$3BC?^UOhhDc*kfPx})jj6oS+u=_lw|nv@ z-#yG3p;Im;U`dHJM~aFg&I`%a z7-Y{Pa~_3nlQvMC8nLY>b2>n|XIIIfigW}EMT(l{)Cg3Wk$0;|e^E>isl(y~TT z-3y8WhOsdH23O%%(v$9p0csQd#$v*;-GeE!3jU0Zx8P%?{d%m78A_QOo8@GiIIBwL zZ75~0{-o@<>Gf1P;YpmljC#L4>c`<&Yr5LQ;bxE9zDZPtk?Q$3k(QIF6PZe+6-HRZ zXR>m({QrHnIUt_qdbNPHK3-FJV=$o5!DMKo-Z1`KMaFTK*Q6Xhmf7T8>+l2UqA{!j zsr2QBMAtb6$rXo|$mlqPZoEgl#{>jTNtd2C(qYN)0tw zDYI58e6KGLip8Wib>Hct4?`{5s#xZt?j}--(qT^|?ZzWphXuj+&Xc5!l%iSg*7T({ z&g4lq8icuSA-NJF=68smF1y9#;^6n@!V< zXbIAJLf4wSM&52*q*8vZ`_MEQ64EL8JqqHC{F;mx|Mu}7B3!pVChs{R)NhME&ez|*i8j_bcmRHT{Iy&W0=_mvZsZt%uQT_Qxo?55(m88GOyDaL3*xW&Sc?$< zvpNv*+h3BoNjH$d(9}kJi0wc~j)Bu{_&*1K8f|u3R#kYee?UTV48Ft&8q;TKlF7z| P|4vj`N+@68gXjMP=?FiQ literal 0 HcmV?d00001 diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/exe_results.png b/sources/GhidraDocs/GhidraClass/BSim/images/exe_results.png new file mode 100644 index 0000000000000000000000000000000000000000..ca6c9599e58e8155de66a4e7579042b7a70ef9f5 GIT binary patch literal 65576 zcmbTebx>SQ*Dp$x2<|Wef;)r&gF}M5yN1DGaQ6@hHn_te!98SfC%C%}9^4^#@VoOo z@B5u|Zr!R|b@+$gJySiam-PBA=^d)1Ac_8p8fghwZiKqB&zQ?K0q}uiv$V@6xsOv52xz?W5-r z%S$c_ig-LJnuxQdz1+*_$I?<15rOLuLwB^n1I-+9Dbybxw;p+93OKcT9oBCx)u-?t z4GNk+cYcfY;^|}m55PY$zetBQI!vX_|CxE3{m@AOBQ@_b6Z-cnf4_Owp%fND%RvrM z3jEpkiPGASDc2TzZ4<)jddi;)t_VBQZo6BxGj8sLdj2`eowCZAd~RU%2XzJ_sLcZO06HFzl*{~2oCYQS+#Q4VB(EW4OyooYcaGO2*)ku8~CH{Iv62q?>;K zG*4lcA>=#no1DUC9vu0MU(b18V4z)r;J|qbvBwPK*RGhCA5yXQ=dT>xWF8n8+8hJ-5>AW9@SZ2~|dt}FpJ=mu3#(Q1tePoNL{Rs?`w((}lVcViA zwd0;o@7CD)X4z7BF#rR z>{x~S5Mn|aWBw9LEbpEF`!CtgioX0JqM=~7{4%OVW8^^cvF@#bq?mU@YVT80<(I_f z(v#RMQvGLRJ>^2W}}`?t414vB!N_g>ZQz?7J76=V}ylybBSL z6=w!c^31qL z@nk6iChz%?fiMm>bkXtA-+?%f&Y7#Q%PgWlcGq(faF58?1Sl8v!MU<$b~Cs9yEQTbz#g}!Au6rHWOEPo3k z`aL$ruQaRZ3Sj)TY}8@^Bq9X8Rt(z&Z4nD}^rJJrv>kVxYH7bQVqdVeu_*olm&+jil>=opyDU-qig_{Q;(e7sW9rhj8uDQ(;VCN~lk^n16~!@UT=S z7QKkRI-8@i>m1EOkS#1Cq{~Zy%>&U^W`PA4Vg*lT=F30@I?S|r^grv4)eZTqXmHww zzMz7vk;HyjZR=WxIN3h)?4+&yp{E?gx7u!X;U1W7Yom%MHN@hNB*KB`j9FeUVe${} zm02{w$igC4H8{Vk+He61Jiaz%J_5swXV-)lTkj6x!#{7UoyeJrr;ouP6UYS-{CqR~ zr!Gsu(;Hm6c+Vo%ou%ARat`f|pz;U+#xO6$ZUM z1{1C8&4!;b_SN|K2hcK}i^p1Lcekq&rq74qgoFgoG6OxqTM56qUk9~YLYE7xcCCwG z8xn?yfeO>563rV@zWDv^9eTYQK?sNBGfcj$SgaH-FcX316K zqUx#al=?X(p=p7B`&Kas(&6?kBGqOEKS2UEOVdN~_dpuz!Ux@Nn_Pb-G48NAd<}70 zHPN>h$)C#lU>i$;m|g!hGwH}jPZ0p?>)I5P_pyLXVIaAXD z@5hb%dB`G+5PeAoORonQZ5BkOWT65gVf`iaPNUo;kQ_~@!n9@Ma8F?Y8If$_>NX+% zn9eY;HD1Si z){`64@JBK)kj^A`D`7I-YF`{Nw&-s*Oau~|zY~X6oX8ed+n5iVY$Z|WnoJnpt9>N{ zlxg9Mag(&Ik!37x()|goM-_4&;`EmKrtCblM4zL1RmSZakJ&-W(EUSY8_NVmoqdth z?u6}wk?=k0g(^P|T7N*U9|)_eI#tdWPpgBvhs zbqJbY)kSwW%dQQ&dOJ)l!Aq>aC_k}(PIV81Ebo>{*e*B2$H&-ds7PXu3ftt_ZZVOn zt4#Dkr#ZgzSGAV)Khpe}g-Q7~Sk^sdHJCDk#ihLBC8~~5@&L{wQ7d0_>VhRI*n(3HrLfeE#G+qGTLna5|*_Ua-pK`#Ymg;>7u4X1UgOjTYiXN zLQ~&*KBb~qXY1F~lcyA5y_Miro68WXEGLDLNlloWY9ELBT&uPj6(L-4^T+}^EyR}N zH{T7Z99yx_@nx9NGf>~diT$$?yC?#!+Z-W0I0=(0ORxgVLTmU?EnfALq~`UPSTA{n{jiDwF^;)=LegSpig*bMc~V$QP@WUUFI=yvaYtM!#cXv^|kyUYoOe%QaK1oJP7 za=`lY{JwGYC{BAw<|zQMDg6hgboIz+m(dy*ba}NX1B7!Mu0+56r2jZ26c zp-1}iD21TEl(T?r9`Ew$D2_Nfh$mRvH;ETa^@?gm_{r()gvO~+G&7C~i>qj4RqOu1 zg5ND+Kg**l+)&f?Tw<@lURrQQtQ?ZO4A?P-x;tcQx+^&FlD^PqWVft0;X?JMJc%ML z$RFPml~F+K)Mj6a=i?=5S{{)>`BgnCSl`mhvx4=IW8935KT5S55~O^XNQ4uEHMJ;R zW{N~`z<_w%m0~rn#Hdp!!Ce~(q_K%1kHBZi@8h|}p#q|-JF`2ZOUnsXiO5_tLKmsa z-*Lu78dfMRhY=*i zYkO2A?iSb-#YSr_men|x^z||o6kf7UhAvsSQi`@aWEkG2Lp7H3EIU%g<)hOSyMh;y0qN z3XY`HjFPIhEDmvcI+F_OpGue(Hm-S&g$|*pww4$f_?&NH3L$@OBy1jKHbcH1)j7CQ z^Ok6M@bS~}^U{zCrlw~YRJtFxb=c~#7zHLWpYV;@@@&7fv9z?Yva+?Xu(GzjJ~OwA z5JD(-*gAEf&y;9}l5k#kO7Mi+gIpv&a(8WhE!wLkoA!M{m>f;>YCXx4E#AhKqWrEx zy1Bjq2O*X4`$^;u!SG~Pyg7lES78aHVSzy!+wUeT1n{hr@U8b@>SrU&18Kd+bcXZ>KJ6F_h(|-c5n6j-5vUa2)uX9FjSiSZ=jO!Kyl7lyeX>9=rZj~V zv_;oQm&K>IVYV-`%M7N9!je%~L}&B~p$wI^lWIM1Rt`Z=iE0`Q3h?#lsVYCGtZ59Q z@1$kT`C#xlmEH8tw;JhP>m9{o?-8x0>ahlii_Y`mCp7Y)kA5%`N4f`{&TuUd75wC> zM;lw(<6HZLOwE9`|l4$DZTXXk`uf@PqwPRwWZj4DfC#Er6%(NlQw8BQd;C$fq!YFE(U0WU^EOenxQ5)1OF{B#k4l^f8xHkR^mI93sKBU56(q|tft;wXG~ndP-)k>V9A&itH?QqpQS14UecR zHCwc%TK-J~Ek(MVL`zsenZ&*VS%mzMLprcoD#!%&qIFWDIv_|v-J1(Zz&t0IZDM0o zsXJ*oB)v8`xib&-5!zcRLbj4=UUIYh%|#rgxPD6sqoWHla*OyJF6M)1@VaLItIY3b z1`UE*i=;EM+?{48@uqgI%~lWhT87J|DIEF+UN$SQ*=~QB%+4M4u-H4wT%HbKydD@C zDqCt5-YCdS3M(59i!iSrH{%P?tE#WBMj-N9T8e6F5Jg$XIYrlY;<$P)Q%AiYo@2b} zg*Z(_aAT1BqOo39Qt=|J+odFvXPl* z5%QU>^Xb>yyE1q%?JoRGwk3HV>w<6YI;D0{4U4?y_Ece+H z^sP9o)wi`9S&*qz+j?4C%A#5ANz^a~I z`_ZZhR4I{d>UCLC>+)W;HHfO7@{nQFQ)!hsq<89jStw7=o#X%u?=YmYt*u;?DNfxH z!4Ti@UM;`?vBG{gc_NP?Da``rCo>h_R|=JPSuA3Slr*<-Sy){kF}+uO$$uw@-)g)%_}2@f3?S8(JMqhoZ(c={k~ zxOoR*K$b!XkEm9U>7^tFY8SUGx5F4?J#w_#WM#e8JIY+I;i7_q@IW6iySwh!P|ZRw z6tIQ)3z83$hn;;Ly!KfFaO=_KVe~K>4BgK~TT8?8Aio)ZXihNq!>*s|Bfwf0vIQ~Q zj)|Rr>5@kB{Sl9QI$qiFptWQ|Q<|15h8KclIG zCYrOmPdHy>H?GSZFB+*N*(!RiB1laUclN13Hdrs)yvW>rGICRSpaJ zHV%=SUhzBj%IHp72HAPu9D;^mYOTg+UV+q;+*V#Iq?;k~pSB8)NL3!-lk_~S0jV>2 zNF~2HL7t2=D%J7UiLx>k+Lh04Pt6O9X#a9^ss+0*vPJpu<1v)#YaSgQM3hab&0&X{ zE?<%C7h%!CH*T&>p>^^hh-mltXzsy}=iRx$v07#`XICYq9Ehw#?QyXX9)fa+L$w|% zUdasMgZMJ5vRYfpt=A!OEa|(`(=}E5**~`@za>vrrBP0M>Cg~@JRPax-Uno>MyXqj zykiLivJ9VZH8_WVAn~MY-Ns8KA)W>nrL@x5GAXZt5RPih_`ofQw=3o)F|~+V#l0F8 z4QxQ6w`)^PRP_rj_j~pny;RabR(%5a7o4)6wduTZhI(X4vGTqmI3mTO8loo?6n771 zTjV+FCd`(zUkj+`nac{_D?^8+3}w3uHeVp5S^zaT_u!` z#8~e_P)Ep=g(oGLbbNk&RZw!>l=k~Pd2HGQ{f)rqhK!RV6`mrkHE>>S!2P& zwT%Xhp;8=txk<6CT@qwP9z9Db)#|KZk{xxs@rJt-b}%^`axCla`7i2Fc?74QvY5`2 z?Z|I(ZnC%j*v9|lG37(gR>eIcrlHkkfrR@cm@!bbWefuw0;x$z zj5#dJe1a$8nju4!)^23_r^e=X8Q!0JkiQSDK&g0tL(M`W<$TYH*()`#&y7A{`Fh%x-zgG{yUbkGG?&%$JoSV zq3)nKVEC)5-a9-(*8VZg03%>cm5VeXsL0alnO9HF+r5r8s!YLTUHIx%k~j&6q4JHK zM4z8ZgbeLA&(WoyFoRL=vg^ZN+!K6_4eAU+O<5=9CyPlF)u=RT#f(BQ#0~SBcM^d> zMY?_!EgxCH8{>4V)Eoe}YgFi3@>~2n^Hr|Vgx-M{JK4ebpX= z2b!s30j3%jF)bTKBC#afbVC$vJu`iQHH~YVn)TtjMugcCIYC8LIr+y_pvpI zdOiRqw{8r@xax71sx4*eq~)Zj1XX4y$SOjhI;=2x=dg=`-~Dke!?aO|m6ASnp&6%d zHD8^@T^PV*ZN~!7nW;65zaxK}?vo}K){xXAe-p}>Z~-Kf?7TKtA*@Gs=9-)m!QV+I z_fg8>!GYjgGI*}&8D9@FSH{rI**Q!;ef`}(dqj*EO)rfx;=GQp&ZO6yP8X>0( zC%-$CX)0}S3l786t5_h}c^9n#7w>(od+UZiu7Ob%YtS5C3_OfTChi{Ak+4@ujBXIY zF@=64ziV^tc~j7#h-p z@pMl1R>u1qHj5hwcoV9JHm2lh=t#o)_g=|ZpN5rGzAkwsQ@oU(>!-oFIc!Qg=rR+5 zrSTV}g$cCL)ISIEdlUdXqv{MID|!85kO1U+yN_uNfFgbYaWCxBs!Qc~Z>!Z}MS?@U z>JiP$d(yPRS{%fm!F8@CDU5I29d3TaJ);Wn;k#*dvNP}q$ky@Ix23Ws>T(DV)q`!= zuMx?`t^ zprjCOkUm+}f_i6HlUvz3V3;7-4J!4ZE!t*(bpw>O^sWCZQfY|#rJRxW6p&1Mji7Lu z-2&-r8PJr6)u@LIC2x3jRy|6ipff^TX}l-)v;pSUT`okRwB-|FZ}cy$5bVA$y1Rk` z1G~&tt;)WrL?`}0%IP%MidrQk3;g;q$u)z~6w^s7*YMS@+%1;^v4Ux6ZtH>r;b>IN z1ia_w+fK8{1Pz?+hmFS}=zXEKo1gz82TW3J$ib2zVnt~0M3C$+=qyqHGCd8X7ntV` z7-=zo$+3k+_>~4VsLo?r+llODAf2xw&>eo#6&E&zp&~lX@%GQhFT&xvXuigxjP04L zPNRESi!t^%AP-4HY-c=xY?TZ?dz1IxR|l@>U}b2yrW9>QhjDLpAQI`S6RZvCXf+lc zcjS3XOUVnr=}&o<2W;|IOpff^z?+x2aj5p)cnAuA>E7P*?}Agb>Ew|>5)L0C+CG7f zcp2LgMTsy$tlTuV<8q|S6TmaPjd3Y_BxjJ5l%?Iy2=-$T=svIX=eAls@@bES_!m|j zU?4^V>wCguoQ?dgMsGqT0&QP)sr9Qw{!RjU2Au7uv4f9yASWn*)Bmj;?Oxc`?Y;qo zQHJ;3n?+y!gDJ!QCLS#C!EKbzx6`AOUv^dH%a+S9i5iFf2KgS2L3fxzTMt_SEP!1Z z3^wE2Ec|gXVYZ&Ro}KS$J{xa82i2;KkIg!*Ni46g_m`I9IylfUXfm8zdw3;5S%5B%h9d8KPgpPEn4iF$;lDLC-yZ=+@rd? zOG1c=#Jm9y{-B^Ek5lofmcKbB)7BbP*{;C~?vDCuE>2aQZ0XX={w`8jNp6@W1~vp! zb%9WwbpUbg)f3;vmDM+CN(_tj@v&~DGhIPjm|8yu7HOzsj-q4+*k};!zWFX_zSZtFx?#GF+F0chuLQ0WCCrEdCOO_d{E9cOM% zRUTL42p{4^t>X1Mf)5Wum5CF5udM=!}o`$X;{twZB^3v{j6u+L=GV z4lYp_9^GMcu>sr}S}3~Z_+~&$aKLKsmp?7jv1?PYNFwVpAq2Zdi!Q{twB3LZ)JE}u z#MmL=Spz7;mrsfr3hO3T?W7fLh><3Jg-{*|>jsh>qH5C?tuyGMikQ(2H!cMv=|d^_ zWpu{Slf0X_QyInv3h@3X{YbU0*vy9XZl?f5$fC{fw=#_mT2NIfR#EAfk=^U>-}Sqj+L$#j7)fcI zT%6E^(pQ<(I63I6>Z*$}scJ8KX4m9p=hrti)K?WFaw`yp*;zlDTE3OGG!(m@nQ+T% zLgFTgMT5|=qZs()2;iqe-4Yo_h%Dc%hIgmaayEvlcmJb@ocbgRr$Z-#yRm5JR7F2U ztfMr2m;Ow4sD;iEZ0;bCk~6L~!NIPRQXLOS|F zSohJb2{QnQFc)~=0tOhIw-N$GAHyX``*EdYN^p>w_=NLtSUwggmViu$G$zeh4El5) z6V+7;M;0i-eL1)c<#cE;CsS}5W$Pbx9-+%coIgU4P(h40_Srgvj;fq5qPRF0o$MBY zHQ)iU)Jnl8?IGxX3V1PT8{V9$O<(U%<_<$6;tb<~^Dvhwx2YmX@~AU!gBMN(7EHm9 z@FS-cV6Oy0;uu|WK=6iS{D@{It`a3yu;q9SKxhLCSbr(3yTcNPv;Hp&Pl7tTd&?{Y z(rCFVztK$yUT$cQC6a~QK}3Jv|N0`W+tF?J;v$S8p7vl*YLNH73+Iw8u}<3~H!@?b z$+^UJu$dv52@C=s8vOX_ba`0#1Qlohz<6_Hd23HMIbJO$NmE{90*TZy^z$5}oH@od zYw-9Z)@U6$#^24t~@G_h*=IxR8||7-u3+M#&dmzvj>#2-0yqNjWuU!q~h>45;S(p#F{N2 z5(-KD`c0Bv!4jqi46)IG3S=({C*+=3WBxHEP*?Kj+Yz=2+Q>4eE%)#{1he0y96yIT zPr5z@rRr!LUHW)UPZQ?$J)xX9S%;sAL3`z1^;fYilw4lDKxntjl!#vQIOR2CGQ4`( z4dMX%H9|1Cg2Z4L5s^MX@l?5z#UQiA^6ujSoT+&Ta86=QwnlwGk?iE)M3C8xG^i`c z$F62-Mbme@0sVl9q2SL9DJ%Klyu>Sn^e$>`RSi)5qTWhmMs8f}w5O8~E_S<0dI9Cw zU*81Nb{m3*6doCC&Z%%neb0vq{8;1)T+fn4q_oP;W1dDTtSKK=mSMa^%HY0pH_xC+@^a+p@*a!&{{S;zw=VP~=LiPiDe*1t(2iZ5S{cl`%`y(<2-zp zt4GdW<-gNe{iki)6eM$sGWz4rAtyjAEl>6#$y3cL()v^Bg~a<2rQ*Pzyl5_cDa6ZA zMY^n5TFlY=0_S8la5fp8@J15&HsIaCIA`ZN!RhiNGph!AcHjA4$}aCQ40p0RS5DgVc^2)N$lK5?zt(10jCB{3mC|m_+?f7BxAt zQ5(dVJlW_1#Ny<$+>R#1-P=#jk-+0Mue6Act*tV#WhetAZkgBP1DPUObYZ%{FOxFY zlg|qxJ1B~^oA?Pd`5RUdG&D>!9IfASv$GJhVu-%P7W~}n%F`-gJyE}_`QbF7-~3>I zc4D@N{fb|o+R0i=kHCNYD(AKa@FiQc_Ajm|lST+g4V>QDPA~mVYC#ea8SRcZr!s*D z66fcT)NgoWS5~r)PY1%n1rifAVlsRMcMfmK4^u}O8#|! z-&L_eLn#~w&IerFwP4Pw$!YM^B&V9jw7S}4V&XI&p(Z|oMj}C`yW5wNd?rMUpSaV- z4M|)pq8_W&IOjzJPrj|=JC)BSF4Hv~VKQhesmaRa>Vc2~)Vpf#v0ZeXJ(h?%EQ-wx z@Dhq+RI-!#Kmy@fk03Vaivl#*8E6A^V%CPf==pH4RpA-XDUq_f{Tn84j?k`FysR0* zp5$#qP#|6=E}@7;BYO#XZ`U}y^r6Fx0pKq<74G*aweJ?K8~6ZZcj;G6UsAlG`?(NQ z{KsD*%6?I{l`kBIz7-KNM0Z;2MO>FuD%yZ=bGzGII&FP%_1k$w0KfVosEW%=8rq(B zlq&YS)Pl5`0_-q8Lq&-ue<`<}9smyjs_U0}KvXj8wQ3@`T%~HD&QuB8SLTUl~?{v=hG|3C@b|(2-0PE zwGD`}fZ>?ewCViX^#bk;>c}b$| z%s#`0KQ3Bk7LnV7en<9h1sw8RW>jsfEy_YkQQ3b#p)#vwH3YQBuh?g8j4O_Xrtc0a^4jP=RCS@0E!X8SrLNu~k=yV&lIkq^afm3IRNG$Mo#KV=z z$bt`hqYsDK{);QKye&=H#R8l2T6@`4BhbYe>VVA~(McbN<`9N4xfINZ&~WKA!TI)C z-iZz>DvB%tu4)0QwYn1P-D33?pm&IuCs#{L%=>b2sURcc*XBxGS|STrfZyYDjsjFi z*CmdBW{PWOl2b!{DsC!1A!bS~Zfboaou0Myo%lb#5jQDW;v)OrEa-iFL3LPD{yaqV zh&6$$;PEO)Pw5Z*XF|GF^V9tAn}4KTo0QEN9+wn64%_KoLf1T^mVTQNfI$d;&g>c1lm6mPe>&6mV9V z@KRfxBjWzU*4&+t1MxFz9H5+@+qWXv-7M8914|K1e=tDQdhQe7e9vu^V?`~JUIDV%LMcPCL(j}=+ zSJhN23(j`o^XHLoQzNvE_EJ*a!gU5NbBnry7Q5*f6BeStbovFTLduryR@X7eQpDve z#bF>AmpWoNOCpQQ>+R}3w%}AG8=dq{P3xKF*e{&|I?kT7C9uK( zt6;R=-4PE+l{|1p9|!gl8d2tDVcX|07JvuDY-F(?Jd{^L<6Qb?#ht^wZ&Cmj3^)sq zro{;~rb-rqu?siz5#tZK$jmfA<4)J)dy@<7qYfasQ&h@bZcjNx+(UR zq+vP~0G>e2fd=2)TrLI{;Z|4Uq?i;4c-KmxP3e1Vis2k`(lNg|{oafqz5%t%l>zJ> zr{ydYsRQ-SyWr#mg9t(G{LJiJB|lU=G4mp+?r5g^*os~#_I^T)-G49-1PI)#7Pcu$ z|CB^FnmuhbeCI!G3zPqL2+VIMG*wrZow-*pk#EZl57MnzT8`Dkg(-7HCTP;;ZlqFz zSH>}&Pm9}V7@gF`*%Pt;{`(Ule1&%q$HCuC4ZVpjJwNO_8gg|%u5YGDo+>eKH|X z&bIv&ghZJbV~CK0RypNJYZwD6A3JWAjcRQIE6Jg z#ueVOlks(=H%1qo3h-AFk20MsKS$Vxqqk{vK&V9Nz`KvY-91PwC~({ZMXzlhARY&t zITom^%%U@1!984_PN&2OVbqBNVgX^kqXq|mSuOIaGRv%WKv3iv1tNcYTL4Lk7e-u; zfyftmF*$DG5g&krIW~kUxCePVUBt=fx{U?tkeO)K9a|@=$G1sQusmA`%l{BEBtxb@ z!P^}K=o^rDYOh1~_8?ybB7t@u&mQED@!l?pNJx0ZV<59lTG97p81gAR0%&@tMo>so z1@PfvS&Kn|?C_-UC_`}P-!(pjpfjL%KssLhrE79RaKH$$BgOzum&w5eNjTt=;1-Pe z62+@)?J}2kuj`IUL7jWey${74a8vc5RZqLvfq-Fvfl~TKsO*snw8}OIlf7GlAIK2% zc1x6ShEs!qq$iNIju2)7WcHXZAt**-=G`11f(0ugDq|?X0A?^BUzY@XgG4yOXc*(i z&NLCo-@9Q;;cPjKc0uB;CW*un#ZDFy%OBfPmc?h8sBvv)%sTV_(>dI@hIxMX<3q=8 z?A8;zkDKy>YW>sJ3W) zo7p$wHjZ-$C0e=Z&JK1Sl`9^5nYPCecGn5r}joThYSW-OPnGlKQo zffO`)XFl7%{qxr?$T$4HC!YX@JE80{}LTh zBsi6vrVS`5dgrDiE*z$yVx{4oZML$CPVQ569KlU6lG==1oZx;>8*>uq?Tnr?jWe+l zH+@RN2{h@WbplzkPN02%69_dz<52(h@B4g&%B2YW8VB;=E4!n^_ip3Twp@hj ze+L9=70B$H*kWS*VR z|G850&&`@^{WL1D)%l};?#rNjZo%w){_k+~$RGLd2<2K33-s^sLn|ue$-l$x%MZ~1 ze11n3g8uLD+wv2{f0jD)dJFz{^0V*%)uI{q)Ziz%N?UBitXEH(N`F?q{JWez1v@Qx zfkQR8A<;ncDDsTfi_jq)mdKp6ReQ8RrBPJ-zVnLJPuX60mHWJ4C+hC}*#8OYu8j>u zX0uaT^|0v_GXNDczx9lVflIa&zd)HxQ_tZm{V(Uv8x)FkWI z?DK?|n1EQ={r4|7iDq-#l3}+iSi7KKz1wOogDshmr*5N7Fc*#A!_BhYyk%T;+DE?~ zcGH@pg`DqU?&sCq76)f3PGXxY!Q}csEK-7J#{T3wZ*`FQ-OMi+{akcg&RLpPLic&v zbv5SI@Xv-m*p2xhl*^~)<6w%DO_%o;yNi)T4vWc%wej~SV*YsY!==2Zg;e~`+dr(! zNsluNGL}qj=)m#8OV@EKmHBr9Yxk&RZ{9m^M^lJyw~e$8$|wwgn;%)Z$1Q@rc8&r= zh3y@?OAV|01TVs#W4T^nur>WTk>_5NLwCQmQ?$R?Q11&k4Fa4lq^XTbqwHp@_5LW; z`a8wUbqD#;wb`JXGNP|3OzzWdV4vUp>7uiUZOc`nd4|vMoNK1{{F1n@(wEvLGV#75 zVR=GgPk|4P;x6c+3@Mt1K3rwz7q3;yO}!(ZtNNFGZ;)y3?<65wte2O0IICp)-ntUR zRNkagy1T@nPToREWw_pR^3H(wAEvxZI%Ng3wVsd&|4Qa?dsI&I#AA2op1RY;m z{LX~y;m=m9PNjgNM|LfFQ_sbfPP5lk3V#;5Eo*+~xIH_6(|oSVogN#!*d!K2 zhWYMy!hps=de!dz4Y^V|PM}1ma*Eecv*JJdur1@MeS(THdA1+lPrf%)_-)S%p4g2<+(tNpKWY}uTbD!0 z!ZY7#kD+X)m}ky6F0+FvhUVF}yOIpDs>@rC6C1$(43aj5ZLbO03c7S{n_U)zSe$#0 zrFSN4B*}cjV~x8ba~?Z`pG$F@ig#0YcNWYY3jR5p80o!SYAlS3{3e=Xq6bOs1sdG- ze9otKNtV3)ILlIbEWkS?Jbv}W;4t{%*VMCUsLa+^woF3PSNWfR`sweim-}Y7I)C!*uW8!_D1+j~dVDdaVGMgqA-m3hRq}h6L~}$| zbr>2OZNAA#_NvBr3eliZy)t)6Pbma}ZjGk`@h}qbFT7Bdi7ywy)Hdud_;l4`V zk&DG)%K$EjJZGCQkCQ|v=8M-QM@A>j^k3W>2Ida0LAF?Z!b>hm41&HA z8Y$q(XOr73me<_i>6#mQzaCOI#*@btB;yn(d{+@RW>as2bwR{&^na;!lxTj9OBkVv z@ekt%^9mqTK{cvwddddP^#aB+gv(MY<;YP=nxfibRy+E?-K0mVByVrzL0y}MzUM6F zcv-dJ?uDF0b9Y_QHq+I(ahBSH>(v1}z}g997-`GEUzX;=b82&e{%fJTTiN~zUbXd< zXRt(lhc0}e1FqIqwVW&O`7=-5`8d^nQ@PfAd{{RV>OaJ6j{6{18b3e&LgntT{Ai2S z%kgCJ38s)(lr$OM)cf1DD2CKGqVUr)ivf+&7(%TI=M9vpGK(OqQCQOlXT31jmg+1~ z<5kru>rmhTWdC3#D(3u{i|akDvhoKXyzVF+L_OtcFICjIaaXxI2_-$J)#t(EVbtAe zE3}a?2@ml;UAxAJlNv8f#*@y$StnGfwHrb<{VW4(8FZ_&ni{%-$%Q>bANJmQlo7(e z^#06~zwFvPZWa7!E$Mgm^5y4}#!FF5VMvp4L9bjUulZ-^;PLWP0;Qwq^|o%;Rw4mG zNMOxOolQYRmNL44$Iss@GqIY1;@!BiiDj!}$gsXAXj~uIx?j^zk1ts|Oc0cG#>?5Y zzGYuar2i)LYE80isZpR~&UGz+=~uc;4+WYeK}&Ln7FQzjULkmxkWs?tG>MH4!k< zf=97agNAi#2;l5J%dV{kY;@D$VHegW^*@Id8yJ@K{nz6+ySB{`;lfMz@VcfZPbcvp&#P9s zOrM84OrTv=eMaAHQC0E5t#-)30G|j)nzRkjlQ!<(+ly%n5;srM$2aH5x0@dPGksGS zN+t9S>?Hh;ABRugXaxBn)_RO^?`2Utec<6s%9LgEcF!T=>Q2sB$8<{cC z-qijdD2a0Yb~9Ao+Is$qmXX#Vz3KN^j9IcmtM$9OcfZb>;|=d zree7sDA4O&%)4Ay=T#I(m?1QdHnHP|{+#f+9??%``?k-A{!FOJ7~cs#Q92jl;U%O* z&O%fjny$T#{eDODd93VE4ZTbEo%v*M^z-YZ!N-JX+hlc)pLc#)J)#v!lCkv--AQHv z=b6$Cb5FaX{{Ip*Uis=TK@6-6!pqQk(*gwp_iHH*xq?6jO}t&a|mZ?8vT#D-Uk|d{a=9#t|$Ix1umS+dgkA# z#GW|&5Ok?}#yDt72PR0=K(Mp_yQH3m61UbO_hG@ddh&n*bpPNofsFrO_5Er3%q3vT zXU#Xv;A{PUXZOGW9FzFJ0aTs$mxi|876;+4QBuqz(Eq-iAY_2%EjWn;3-nKnh4rG- zln4thiynghpEnh(zDEm*AV!OBABB)Vf&~11!2$5iI<$^DtFm?*XiRJRxEn_9{7K0%8AsyedF|KsPjYMIDumAUj*B~5ijMwh+#^*(w zjM)Z~rle!>20Gj`)fP?SH9NL($!UnGcB|=9ZLdpGwekbrzpDYksNMg^LZ>SYAr0LV z*v|@bUg_q9=}^7a={V8-QUPz~EJ)SmU*I6wB4d41+eKYF>-W>4qg$SX&$x%xTDQ^1 zD)MxT+Jswu`W~8^5;OVlkhFr(jlc zVsyci_Ink}E^?;=SFHox@AZ z&^}@-6;9s&5MVTV=Ivf}(j+Jh{$OAWRii9dSX`4j+85hZX@IdaUmGY@}9j80#|?+-Ue7xeL&j z&`=ugfhB>84F`#02H#!x_>1#R+SueYcDKVOVh*#x3_*SYMg#p17?&47&~bwO|M2$K zVO4GIyD*B1k|HG~C0)|e0us{QA>G}rB3;tm-Q6YKU2DD-I1}A_zx%x3@4C+U zzCS)L{#ZC&bI$RMC-3_iV+3{wGqMAvx9tE3oM!KwQm6Bh9MZTi11({yzz$!=r@;y)VPboc5?qZiRI*ouujSp8Em1;iO|R<=SE%%J@pi4|Ow}>lxY`y5+)c z9hDdVo_*xNVH^YrV^<|F17|wcENO+MRPCiwYVP&esmnmmUB*%@qC>ie*@*Dw;<-OP zZk#Nm+f%n-x2_l)Ok~^t4l34cn49O2Z7KQo=-HIdgHArGz-9g(<<>c-%=_fubNvIP z>bm7+VQWXuyWgVF~0z@;L7Z0aJ3x=r#hBshTS7ZY4tWP0o;jD2}6&AI&c3|1MF#0Pz9* z24c_R!-{Zr%v=KQ6Yz-s`gxqEsT@J#^edeyY>g>wr7=7;(452dP@kICXb=S@6M3i6 zsJ09ve?(xAlspa#&R-Ag3fMQXotI9UI@KJZQ)`T5=2&u>?C2i!yb}TpEK4s6t-)pF z$`R&+##>w$nF{}pq5sya0Gus9@0yC0;pwMYi%CmhbpR#Jl#>pHG_avV8rfUO#>Xbk zr)0F2`LXfS@Cf6E=(H=NA-wiBJamzgdUk$p8W^i&uYz&ZExMwIp|{359^^6uLe}Jd zG#rHgyVpBeNM2bh%q99Zs%q?TAPxbQ?v_hJK!v-Y%w16OOa*m~ezEs{LGFyV6wl3K zFbTskK#@EaBJH;YjeXx)z>+w!k`>p# zh1}D75b3HyU(ijl$ zAZW1r%=h;8_qAl*T zt}S`^e;EV3o_&G9sLAKgFaN~dIIO>+MYtWI|NEd0Bm*|D{*J*Ph_8(t=-IbpMgNX4 zF9Y~+wEoTy;7-Z@$qxR%A(8(lcr#qyf?fTe?1o=39Hgi;{a32;;o;A}Kexd@pr`2^ z$7o^IAlz0Q&lSn{5kMZY?M`(M19=@zS*;zZe9TEM;h3vt{IH@U3 zha!9zw?Kt--n4ud2IJ#~x()=?EPNK$1ki##HwK1TUUe;1>_*m$cW5cI7;0qj!4lFgsr=n?>*Zx3q zFusf?;{7op$+}foEB+rKcB+VhAqZoBc7)~k({>;ZIu_dQcT(!^%bpi`h8wniZx-Ak zp3xpa>W~QvQrd@ImEAXOC7J_a>(-xt>1;S2lBpNfJ@*HOedBdGo+0F~<$f4&&vSOl zV7}<7yw@_wa;y3#xvt9jq0sF|@I%IhUM{D;tm&@{l9>vD{aQySE5&EGc#TD&G1i3C zBX+YMHPI^*f4j}U%xkbC%N+U-nwn}4)S^?V`SEWffR=>pAplA!M54?!09Ig6SI^8d zinS<*9r3))@xBJ*%r4t>#;9mhD?375rnjXcA{e3iuCMaIJ(Xn3rB z?O-LjP6@^~8bFtmLcL*s`< zGe@i7ESWV#DKC28!|y2})))N7a9_W-NzXOzrS&f6$YP*FTaWoeVvGUFL@3wCua?}F zCdWrjkWb?qFCQT02TtH{$*0+Ab!`*=t)*(6u7s+AhlhOQombv}pv$(Qc&TuI6nu8~ z5$i_+=u_^s6^k;3WXnyBynfgTfJm(%UcI32tk!MmI67{=h|RDbjUXwp786m$o;jyw z%erOh1nXXpveK%-^OITXN#hZc-rzu)9C+{RU1Q9{T@nZ7JQ!;Ve!oCCwUDdh>ctX~ z)Kd!S#7ym+FGY<2G5`Q%K@yVd1~OrBw2F|9F5&--i}w}&T2?rJ)(|wtJg!7l2(1;L zL$28Epe$UWXJko0JJrJ{(s}WW(#_)@9&KVBfYJJqo=@G#8%#aLd_bAM0+5wd#S6l! zK8ra$;e;m0Rd6#L|54@L{{!LFu2doZ`T$J;bjZ4&9Dvs5cl$8|hzKFp`;E1NQqe~$ zHMUhbJm9GHO~mP@ceZl+)pma@uQA)aLe83ul27gg(DZJeUn@fWreMA49~nXo&m14% zNsZ5aFWn@sGfI`StRX=mjc|@f-U)n3i6qNx5Q)}6x4r=-6|I~H0YWNkn_zzUAEDvS zi-tjpea>$MwZ7o8I1!Y10=PZUQu_9-aebpZ|5aKZ70Y?kaZu#nfMy}BTqk#qejKH{ zU30SBe~A$*X{CH;wX>|{tajcDU|bY>S?QRyi}kFTFf+f{R-m(Byv;QTLfL$}k>qhT zU6-u*T@OQ{JGbcEJevd(JMZLqyvf0{umicj%xmTq8PiC@OU0rmelKXS!(>QRMs>Bj zts|d0@}=<=o160-AR*>lezl-~&m&gSwvJ2S0G&pK(VooYE&wdGQ7iL8`?8`rcXl$D zf?QYH{quhU>DYA9^VSOS)7=X~8|7-_-&tZC_5Pf>sEs~pCI;2$1nKg39I0lklEL%A z7l@&m9YA)hRJQk`?Pd}33|JN}M$6vO^<*P98V5c(gp6NOKqjnikW!)|-|J{2IWOur z`3A?J>-LttXvQM_@x_w6j+vX4pxv`@Tb(vr+A^(52Xgu)0C~t}XoZmgC_lj3_-pcP z-*Vlz`@hM345)X;V}O%6dq6JJ-c#^RKR}nvFu+m0CcgVF0pP5EV9rdF(E#+hk<;1~ zc0HaRzyZnoX_7OMPXf+o=$f2;wHu&UCZqe|8!hhJU}x5YmQ5X`>jj0bCpai$+xWa2 z>|3#TT+vf zL9JWQ!gxBXGLLDl&;xn=Gj>y(EZUfJ?jEH%ch$B$cDyTVhKhGPEOMj}g*ofXL_y>-W zv;n{b#h2^`O8|5Sk7=#Z|Bcs1QCTm69dCzuzol0K-wnVM)$bJ+iAANlUAHw^o(IkK zgb<1*JrF365I05!CaG3u(syqo&05dr&^>f84Eto3Jj^i-OL6&b7cck&q-3pt4TG>a zA24K8Lau`=9Bn8kUNIFhHk-)2b=&gp8OKs1U<(f+<{^5x4pam5;#F3@WQ{sZ6qzu=wq zCI6j+5q0rYm|9xG!|jkiAdXKwQFx@%8GZIKfW0iYTHhwpv)4ERSZ50X%5ynN0UdZ5 zjGe)i>nCtNjp zwF~`ESE=c_9|2cu79TmjI%WIC`n46gR0a<2W&BN~Ni7I7E*c*0w9+yzh3myN-rc4t z9A(>Rm6$1Ad~dgL@=(sD3;66pvcmb;oethJLbCQcw!@L^%kLfw%^HvU zx>Zuhz#`I6kAaCkaCpGv8vP^UKDGepYMh$9lYSQtD`I22!}?o zQ&H4Y&x1tP3MNfS!n$Q!|0Msq#%2;1T1ObE-mR(p1ITFK?vzc;#eQ5Cet)>o$&0@S z1)kj2%NLxnfAWo2&HHv;OEDv7dgNe%^h~|w)D7rE_`-A=X%eu6iSGz&Cesw}N*;&Pf;gAeQ|${5|e>W7aJ$+{3FY6Tiv45{DdLxE_H60g@;~ZFZwdzPWUdzI`^bTh;TNMPqBmJ=)5ml zEL)iL zC)D-2$@0cZSX+Cd{rJ~lS+m>8a2+zxn-E9|voiLU)sji1xbY_PxV%}`v7eOU7`?G1 z*(}%>8OG=HxOAM=;;@}S%RCNgD0vzOZ_c4s5OsB3`f0?3*-kVZ7EsF7*wYi5M%C8y z*r!v+`hVL#}ypWd34n5a+OA4mD2Q&+?IP8pRST$@mY-tK5Og8z|!D zj#g4^>d8+ZGh0#W96v@{!UJloCe!GhoAXP@uO|hF>qTw<0eHk;p^`R;0S^%5^fz@9_xvebAz%DYvb9YRqmi zCm!s)U~4Qd{)~QWE3TPkkGJ&Wn~No9{ucEDT7&u!$ap#}0t(QL02AZobk)|9?*i;a zb1{r+rWHD14rMkF_rBX-hYkU{R_}44j>LeVT(Vp!y@lIKq2qoRT7@(A<&@OO!oy2tdd9PXr)3v>CJJs32?vvCYA~LG+SJ(X# zXUsF6)3MG}ZLiaTOYpYN#2VYIW>()V!1irG7tQJG2~=B+s<;yJAc-48WZ^t}o1W39 zuyq-}tZq@F8`?6$o5lJ^6M0oPsP88nCA=Z^>(Z{|TH4<`{n7Gz?Y-{kNj^nI#(ugt zALU`0kkvoc%LmrscMuL(#4L~Og5P)&uBv6vnQ z5kF?mmlMMje!KRa35uPk=U8DbgFupgd%q0fUS2Ai(QX<6E7h1+AYjTz55R(yO7ywT ze9%nKykSSqL?iK@*ZWnh0P<1Qm(G9WTK(Dl3(2Xn`5vG53736 zVx@Wot3wd+PmuPP$-z6-7w1tCB zelz?JqoPdsqzz6ku0WVN){hJyF;s^So4-X!h>6|V*pIGF`WW7ay?~mF>pI1`w;y($ zUptD&ugXq{G~V&1Itx88PDHp2op8v(W~)pIA!S65;yv7olAxp5R0ahGKA6Fdi560J ze@ujor)v*|@qM^IuWK_zH@MqVX^RwMiig)oWpihsci!L1E7vJa_SZ_{al|{6TL^v~ zt5#`WT0VVC`?N3?n3_0?8n>FKC|_NH+N@_#K4}BHVY*`4`?l9Rd-G&hZ6U4FdAz+G z-D&|-wBS7ltk?T?8wUZ^Oi2WbzHXz+)WG|&W)@V~4y-K z;%Lh-6u-sPRTAp&(Ye2#t@dC)`?m9QLM({x+Fa?w7Tdn?m+a^hyNG}*tzc9{B#r5U zB!X4)Z?BSAl+M7$X)WAN1X2qaZPF2UXL6QlY+mIST-ceL-J+ClWQ$O_Qo1E=;C>c; z-}{m8GaQJ5@`2exHR6y|hcXAYispTJl6DWhS-wxr)nqj~CS?yY{e;^6Qi58_Yyp(2 z%waKC2r>gDk-1RG71|D|7OH5By^L>jX|NdLFq5nFl_E50{3&rY^|d6?^gB)!bjAal z`(Sv?yM}LdCbN4V8s;!&r*Uk`3QlThsG2rAWn_sdQyLZWBo%$r|8{@kRSHYP+38)MVgV_Jph1G2d3$B~X$kEJhiC&pxNhB{A zuM4_+@a7S(PM^kZI*3}r6b}rhJ^-8%-aG_6g*@PmDO66-J0{;U_s#E%^2MYzFx4#`XSIFXnj1_^*LFS*o@_BHemCrEi`27s3P!&h$rS49AUDYF zdlo_iI>0L(a_MvZhA520{+5Wc66g-Ix_?2g9 zv8xqh&X>E&)$yY)yM_5_R=}GYan-{Z9JqoLR^YyfbMCOz7$4J{%BESt926r$rz%-=4`sY(c3yhSg==82m78mLbWiGa9ikQ%CT+*+ z*E~6rLTgXydk3fxe2EtxR#ZZY_vs}y42GTZ{yKJV8k_Y={!M=mPZl=0hM#}ft*_&& zDmJTa-w=t@PlK60x?~pM2^OP6w?z0HV}mMuHXvy0R9Wh{mq1fvM`tXvN2ruPe64RP zmWT^ayLDS#%el8K7^(;M!r{+JmM|9fyOUT-(cLu1Kk@(6H9YJieuMU$FD=!P7*-w? zRn?)hq**PQz?Bl~ebKZ$8hf!tX1{$a_t(`8;c zy~pgZWrUqO!l&h>>uHd7v(F)z zvy0P~9`=*{;F{;+^Q(R0Sy5~$JtuG2Q)iX~ox-NcvfrL5a41RV>Ipl}y*5`;aBQ)J z3JBjFOE0IeEwbK&iMGu(cvhH*V&F4N72_aG9sB8v!2XdD25&SKrJ>%TQk`GD{nM9E zwXq*R{$?~3Ki=wjGls5f-FC9nukfid+_ienSc;I&2%U_U?)o8K-XAVc>0Aump>WsN z(`lS?2kZWJRx>~HeTM_3q?g!mH+P_##nGW|M{kB3?sFEbH8qnWE6h3gtu%?6e0lCi z@2~2-Fa5n;4r})8c-?o0ghm z^J6`}0;CQ&v-BfMeEX@n@QlrsjP=8L=i5VTZwaY7o%^o{YvHoH{P!nmT~ZEsx(nx{ zcen1at5NT(VQa4wo%^$8z{vS|$^0#aC$ku|8s$LS9QTR^H2%~6f#1dydzw7`6RNgk z(OxYAeqiRvfktQk!4I&Sg}&xYEW8GQaE5XfNHr1|(c9JD*ViZ(gVOUeWNc#=fKiC< zFGnrsYl9cdW3UQf;z7eK%qKlE@k8u+WP(T-6w(=i#WP2W^vsGyuIRz}%-+|NX*;T8 zc~Mn^Nu5OmNS#`3m*H90NX>Mo$UDM$g9$9g6gk=bIklP7eD-ELpK;$H3Hg)tN;@8G zoXju7WVp0FZ&1XVY(6c0Z1Wj}AqGnuGa)}@A7i+$lqxtYGB94leTWGlr!~+IeFs>8 z!;E)}A#KBRkoX}X#n`(9CVSMJi;rgNxteCQCO~EWv%*oVnzN#R{gu-){o*qtbRg4TMvo46=@q9K(LAbiAn*-N)%Y0yhA%5LP0TIUG0~W6l8wS4gLY zPKGbw3Ge@6%6N?L5!@I3{U0XwdJ4a^n1FHbjIs}k$S(iXeSC&n4PXZ=Ag;G_$)JVi zJ6_-_iiY$5c$M1oIh?HF_L2+u`5yjz$#g!Sa{#m>(D475gpqWtVDxZ$2k`TurDLlr z_tf^UMjN;(_CXbq!}?*KYG-n zb8xpd*w#%X`1dM+{BT)4zz=K5U*8>aJGas{D*ajvHDC5}F8S3|^mJLfL0c@%mm|mu zI}S6>OULaV*lg#o*YN!QDk&rwN8-rK`((y)z!+Mp*%a-~#tjiSlJ*jD(l#2|ytPI| zvc_I+b%!i<+P(d|A?;eMMa+UOR^+>dcc9DD*1v|u$S7uE=BKhk+x+~~HcOs#+U8_V zQdX4xKD&0OXqdF*r?|zTcXp>5&~R5^bDW7yxkq1H@YyQeH@%I|&y0sdWorguYyk=D z@or4c8#^{=;n=9CQa}J_(803bZdc%pMm0LO+t zL=SdiqMqeoVSG|dbCSvL_cd2FkTC_Ef1 z>ku;Eb>8g6b`%P_t0=)VXHp1EdRTG(_D6mqXegB%Eilxw`LWKb@Q;%X>a`}+HDx0 zNL^y`v1TTO6LY@|#hxH?TDI5X_dtvDT*B2yNQN@P@5mNUJh z68BA=w87WR4)4Qd$p``HZtNX_2eM3APA(-rmp%JaKW?_-S}CE-WKakpN9wC25)vVE z+KT>0&0kvq?*>{H7L#NWxl&sFZnG@F4S6zcUs+ET7||n8||PA z%89bc%AD=O_%nkxr>fJ#iuJ^X28E3Vq}T<|(-3RBTZe&P5m_2FPzMLQBdn?ImE(`L z&UD1n1`FT&F@Lb%o4^EZPl8=%{ZNVe_jqgvSQ|#BZxC7Olej#UgR$wUnXu}Vx(x^& zT75M?fk{t>hhJSIDhhGo20P86ANtbhc-$j&Q#b@r7iVQf5lA5<_THR5uRmESkS=iu z(#8cjXRD!l9`V|U>EiHO$MIen2s?1_dz)cRm7D5<^Oz276xZ|n`+6hp`rls6p;%=Y z2A>m24-rE)51p4O2LX#&5F9jcH9l~0wV!^@eCqQ94F%N>9j+!c^NL;-`l7_?U_*#H z^gvUc`$5KVa>#r}(q-7Dl^H<^ocNtX(pXf5mXkm7#Vo=I_`$UK9OUdJ8g<~-{gXr) zi&Ct`GmFL8J49qJ&mhjRkI9i3<6l=NbMSL)hy2w9MU@)LYXEJ1)bj1);1*%p$sJ85 zc%IwClR-#s0D@`o(Yy9*%mhRNH$pW#pC$bBzRGJ(u4H;vGlO2C0=-sL_2qBe0lJ34 zG+E1TaSMD}cL^pTiPf1Fb>V4Ra2R6tX2kP$V!nFz zo~Xr9(;u77w(i{YW~MaBDW8ZeKN_N%u>MILTMcrXGT2xb+r?0WmM(8#t5XC6sgbLF zRG<6q6xg4xnCYDfIMWkFHjG%XK~vm~9bYw1GKrcSPS!o2o!_ZYy+&jcvp+vH>=~Si zY(DC5f$eK%R>|Oqisoqxc!rVZ_O(lmfL|Lq4ak)|=qPDL0ypC~N_Kc3gjo+g7Wbvc z!Do9D;|iZR#NQBndOw+K$$c!U*5-;&uK=yGhdfFg#);wMN{F6gDTlKD8o%`&^1pIE z*%#1BmG|u@8cLte9bUkUU9vu1zd^ypc3T_boYOagImV)gy1LUb8a|>v|+S-k3l`kC2btcHqjn^*}}^Dk%12X>_n+hL7Ox`-|Cv80m3Z`1`O)Bd?E0!Lg;XAl$U# zfLhi2)C%2wX)`0%hVaEoAFU;=b5qHJLs2OazA)?4Lz&pGK7QFoTXH?ZY3)8jeQRrT zic1S`q1wq>n)EZ~;R_w5GG>RuVLv~&z0OK;_V0@+s!3&glHN0J>NREAA0HpdX9=u+ z$$iF8?9z8!HVU;g&&qlPhxeSzCp=-YsGf5?J5b+FJ@)nTZE~otQ65j&Z~xZ~?1Z{` z5dW*rMQ;+QGr650C97S2P?o|0*d^IQ<+e3KHxW5;IR`xvzZSVbHc>3C+&>+hYg*7?RzoVxO1nVjs3>DzCl>N%Y~%4($zj4-N;yz5}cEp$-j zRoSmA93!GK4jqIN>vqDf@=D>Drtnm`Vfv2mmy&zJ>L`1QDo#s{_BvT2P8%|~DVj72 z&|kevp4T@Q$Q$&kdCFYEWyrVO+Ke=g&elge8y>rRb(tySHBI~_Rw47`R)Y+EvVJ;d z>vBksB`GluIil&rn{hMR$tK1s`c2UK7OrRLkQp8PK%av6n^ zR^Yy~kwpPkkX^|sAzFEk(zCi_cw=6*AP^wM* zES(R{Tlu4vGWt8loN*DI^jtL))NY2rt{y|zQrPAQ%AgmbqLk`)TSkHP^b&K_IC@1C z;fWz5wmfb$14O#gfQ*xqdi=5#e{f;A)DHM%p4{NUD%bV^cvTzuvcIm`#XvBvpja?&zBn zD$-lTv`K%FCw9f4H|eqPys77~ge|7rOi8{F-w{r8Oj@I2%nQuD>}w(cT1Yc&l-XMK z0+u7}?3POxP0xUM)9tJxWdS;Ix@AsD$fD4nwAHMkh&_M(5~RT}A!^J>0qLC%B#v@y z_(582u}h8fNOqnok*LXDpjAh+`DbbR+{0A=06aT|Oc_D!*8m(5i^M7>i$&7{MN8Zi zlH+Y@3uFMP7=`P*FPHfUyE>&mdh@2b+4aUs{E2C9zGI1yx&0OUJN21B*_N{O@DfMa z8W)%9^5@2r-#1R66kH*AC$-&f!HbC?`s#O99R?MrlhgZjGerhQ49^3~xlA(l=n!0E zWIaS&-1CLMTt*gj*2Xi zddhplxw>w{0v!80w&yCStuH1w*qEo#mv*_nEX zPXe$o>#*ngBI6_4Z$4Ni*(F(9#lFN}cdGD@1P{W$<`R|a8L}m~HrgqOW;L7Mu7V2r z`KlK~4rQAa)rmS=ZV$(7gU?bffW#_)bb`{Iy5nmnrKHGnfce>8f}aALUN*U{kF;K9 z9dyL4>A*jd#edDtKSSG%pbJR8-NzqF%(yfToDzuA+1~r>bk2Kag)uz28LGu3rFr4$ z8ZR}jv|Kn;Ar^)GJI8V=pch&jO#$_lxyMe1n6elJqmm8@tXiA6?k`?+5#RET7mif= zqP{bv*89FnCaO`Wouu$Fzei;(56|%jeT9Zo0QzNc#^z#y-NiTy>+HVz^k_!MXZ7Jxy1_{sxS z&2I0VnKUm_PF>qH#NEoZu5ir5E|?3FPa$D4I=l`UI#`RGSmP!at_v>nb|<^vJ5!gm z2q+$W+9@bHPJDE<%H%bHaPW*zVmfUFu*O8EI;e$^QXXV$mTaXHd?G(lrB-lIX03Z) zALTSVG@Jq*!6!$nRe0JEDKe6ox z&HCEhY03pfJ`8$YUi2ikaQ2CK&a++tJp~lSwz=Yl7|4w>h`KI=Y@(*A4agC*qFCrZ zmTJ9*pDndMZUMxc+PIS#XipPSiDvEb3B3+Ma2WSHy$L~;wANwnv&5=*cJpD2 z4RLM#ZR%gTaw9oJzY|JGUe(rzF!upI6}0#@TD>o|M$|JO9`4%VWM3C*>h*BTFNvFn zYJ-&Y>h`x5TeCQA;I#OLLz}r`rFjhpBIeIs^=J6&6D*ZT)(e7qS$6xu-lHF`Qqyn* zmY#|ZW<1*`Mo>Ap6aJw;^V#O%Zg6k`$LQmnDo99HF{#7UJT_YsVe7c=GTR6IQQR&I z3+F9cxWMThj+6~}yA+C9tc`lwv#vKWvBbJRMP6*Uu;#D^O7vK^oxj^XWz(+a z12IdwC{`y9%T0-#iQZEjOPZO2h5jkT-3H<)N6pCD^X!5~H5txPy!P)BBwFbkJ@3ac z{`pVW0bY9c=jyxLfxE*^&xrUvYm4y$QL2PqJ`wo+J6(tj?6)9%Au6N8Y}P>#TS#2- zmH7F$hu{3Aen~wHZ}!2g{hutxjHLg$z&9YNXWwvYJC+|PSJCtX^x?0&DH0hnS0v!K z>@MyG|JT2Q-S;dY=os25U4D1YVmW8NN)oym&&ZF7;<>n+sx9}i@bDT8=&i5{|f*sTq zifwtotM@arT<(O^8<7Su^J|O|9oyO4cXoCbM4Jg4pU20?=gFi6pJdl-hdS zs$`;tnj;e74Z0NQJ^_CYZQD9I$wf;ivVMA=UL3EQ{i7e)Cu7$$ytG}+0$K65BrC9D;^J^HF^}eI z24`pELdx2fpht^MN{i;I!otEwM{j7Ai;G3{QJ+5#2@Y=ZxEjb34X>=MyguEPK+oS= zSnUeLFfg5~2KPr%67hRUrd3PEe*gX?3f=7tajxE0Us?GaV08xv1{gH!e*uddf55$Rx4F*57=#H1su7WF-ep3UI=oD@|)p6s1gNX6D`9U4L(Xe*(60S=be@ z0YkmdZH+LJ1~&R37gmwBs&9S?omS&iZ?8WMWEbpq`D={Dc%+=P6Y`YpNdfyCvsf=L zm_c}mCdJ&v0hs0U&kuOa1O$md2L=-<>Dp3@d-Lh;WZwQvNuKS%ToR9R9<)!p=mQv_P1}3gI0ESy6D$?T4Z9CiZbhcWBZ}7oAn0aXaWJ{PoG{~)i*TI zA`$0%iCOiec|c#NaXFu7U^K5>I)mqai>u!!yhJ~k;OpS6MY~Oxew?}0LVY`ZwM7KO z+&kQ(5d%GiC>0CU6wKL6q51zd!}3N0w@CNp_F_u+De3{XGTS%sl50cR>=#W8=Vf7m6b(M zrz}7^0+@;~)RmGrtTUeMPUJ{n%}u{6<90rh{SFXu_DGv22D--yKyiIMn~qrXJd+AM zI5J|?c^ZPt64U)sk^e2ndU`r>WwB0~S5R?z%WpG_L?F`W#pZk*CH0^Nqrf~7SS>a8 z(*v3Ypy`O({QWl06c|Z~9zA~31zOyY?Cfm79RLfAdIpOK)v)PQKjfTji;h*+UC88| zeo9@N4G0PXs?`ro`n}Qv-*!ZoTRjn)qHEn8L+X)QMZu)pHd)Hu^*+skGlhluTN_nQ zhjSAX6E_zSO3FOh84cZ|-*PAk2xSDU!@_aC))L!%&2#1FBeQqmZ+OL}qz@HR7 zZAdta)vEkrwKO$NSsQHEpBZvbl~Yd_yiy!H+n-HI(NZqe>{qTS)YVo*3Hk{ina_;9 zFDz%JJFBmym1Gx8#rYVc2tUj726cSA2ulW6Q1&ijAq1>O%**R}egLkPywm%&LSj6c zx`|qQjtTf(HRy`|K8RE_zudF-^ZT_k$Z{G1(C-%+7k6=atbdLC;>CDj%<6*=a(^Xn z1{^6-EG-&Fuo??2zf-3<>1Mzht?DNe4TH);?IPCup#6pW!SP*AjLEnMyFpyB+mz5}CHoT-=D(?Ou8%RQloU^7`+ zYjvqlpU^!`>Pg6InAFcN$}Hq;ZEZ7sV)F^l_hZGljz8csw39t#g;xy-Q19osE;+5T6MA zpqp;*&8-k-6J#?&@*`UUOfCV^-PIH#(A-|IKMdjo0Pj-8m0A3Slt zOk}lHq~Fx>SuknH&i>A=$aAk>8x_T(5z|)N@t_FJ=3e$0%`pk(h~yL$tuQxRp2Whx!XkYrg|SA<4&^ZlUkM8psq~I1b8>PnWGbPsWRCyn zAuG&qX=&<+ZNoAZe(4CEJ**mRM+8#m+6xv|BW&PeT zV7txU$tt$13&?U?$HK)oyl>U&<8eAYQ7z684iL?tM)e9R&?_+msg`xyr(s|i87XB# z3GhcHl*deHZc?HAR{ZUoV9;1$OkO42w>?F!;rNyf+189?v@;6#-&2&*-n#+H#K^#V zuw$3{%)eJp3E^a;MC=h{I~Y+g1NjZ^d+X&4Gj$&8X9=rpHX=MIrvt!8+7B-v53%Jkdh)t zu^>FcGa_!MkV2^@P_=2*<`otR%QBML^H=y-j*yNHL9s=RR< zAZ`sX7lje=TUE3Q@RN{aG&d*nf%loDli#-!Ad>;1?c(QG_}Ma@Je{qP6mGzy9L|(* zTk65w1!OG;%W>1VVoVCIv+0_ceA?za%l{-!0FK{_-TAx{*%&a@H`J`Gtn~DuM$A`N zSDpU;@}^ZrR&`d3uR3nub}r&luycpyv7hV`c^^mu;8T`pQJYdjeSQ3vnVuXF*MomO zM<;x74tw%6`rR*t0O~=^V33d)_NxC1_V`F_4bAyC-G=a;pDvJ=3z{KM#(WYnD|lq_ zDn`wEVz-f0UJWOGMOB>(9v7QU5D88~!~vZKX5>ZpOY3rjMYZp4$yd+qB66S&SzD~K zP~w-0b&*N=nYd9sVT46gj!sVfLqi*=*MAI?=ir^$FFLwl&K(V8Q6AxfmX=OH0e#`b z5yEylv(rGyBQ4Vz)}Zg;v|oxjJ+G4d(TJo|dAb)DeOl-9<#eAueY&u^H(eCn$f4)qO%eh*>w2%u=Wvn0 z<+l8MDjuHXwW_4v`0;W*##ga7*}1u`H%Fja%a;5tK0dy|xU!X&8VX?fnfLmqj{=Hi zN$+m8WrbcsO0oCd$*5}H@bNfI<_@F1;gM}rUltbFb=aS=G{H=d1y>pW1e{c56|Ih_ zobIrto}Qj+Fkp+qVtr$ic`_;}>D0naIj2i{p0mCynbE5D=(ZoSMOqzpC!7wO3p#*S zjy3Ot$U3EueSLlDOzl9b*@}KPcC>i6H5yJuBY%~J`eZt0;~AavcOY?|Fj;P>3a{CA z8w(`k;7|$B9s85vbcXRfq}AjB zg^V)!GZYq$zl2JMnzTevE&kk0*;&;{~)7IB}^5h8&+1UVB z8Tt1UpMOigE-2rXs5{^vz(}I^m#1V@+n!ntt;-wYcjw#h=w9Fgco#x$cHqch85tQM zwh(eTgaiao(b6h#O@BkCefFms6Og@|(x?LV=_9OLAN;PQ(YkX#)5TslDi_{X3j?i67t$?$Qi(M#7cd{=$jOmh?T>o!f8BOWf=pZj zn@+vabGDTcm4MHV?s#gqO3dP~O7FQ_zhYCM)b2XspF$We-}1-bizc<*{%=0Ywtc>* zie23}m}m^09pezvpRsP0gMM%-B^L?v3Re2SFhR2Gu?0NSqtU_M!7kSfjfj(riCk;d z{vS@)*~UaLt=gmMAn@w>HnZK6= zS^@U@2gKN}VqnyIgY^>BBuB=5MQ2UXq0;-xAB9LDM=J4sB{iZNCLen@D^FGM329i0 zmcFY_j+g~pzI9(q+<2~KQ`x9tAB=4zmeAdlq1%ZjZjX32p(h0(d|v@LN2uIo2mzrL z-?xJgtX3Al3C3Oxd~j1Q9*VZdqD4)+7npExKbTl9sR%4WU*3VAf&Gb_NTaXfD}8eI z60{h|-7a<+Aw`(L#x7?lGx}gCz=f*CA#qsFPlJ2oLg>}2o0T0@ma?DqGg8^vU#Q;p zi&x-L97AyHtrRrX&toztMEgzE1X^z7pA>RBzqh%3qNbU|egp06f8c8=>7&SDCg1v> z^TPWmm(9l~$9kR|by@?*rlqyK#D<|>Ri8m)0Z1+7Gbn^peQ~%v55P=9654xv>-GU2 zU4i99aTMx@4j>qB2fL^zP3-KN4qkWyXE;7mQ?E5Ed2Yy;TVm{_+{o-!qN%8MeL~58 zke59t6VEfe*wRoHybrLcyLqdqz<`zr(6=@Y1aqQtr72~)%SM&0qj_H6z&_#~Y1E!- zVpXLc%v!~^@;YgO9A`Llz< za8n2li51GuRW-k5G_s;l$OM)p7EQ0BSNlzo%m$11uWcQXSeFJ7D2QwidF^XA1e+_+ z3=g$2#Kq3&>SfiB9Dy6@bI29lN_H6NgM}9q&`BH=W1io%@(_&Cid9=I9dn*=U?@B? zWV1dcB)00<;rRU04qvv&q-F@vHd6NwpRH@fUAc3P?J&-ECl2S=nC;U2@OWJE4~Rv# z9+=S=6JVq`@tPvt)FO@}*(U(0(2%2GOjKEZiL72L<}EW3NG#Z|4bYrPkEIjX6`bJG z`O>FD92=8Lep^cQGa|o)s%8S+y;C)VgxmHI36-`SQ<3wSj!z1CQN9Pzt-?MgVdT++ zo3(IxIY9Py=vgDLk^s0-REB(!%GKuWs$^2_VIMQVdeY>`Ov@k78W%0zx{bx1_43#!>W~>rWvqH9thFL4ww)AtEf-r)Fhy?G& zez4)E4e{DSC6p6cHmb*HVzPz+O;H1Ik137y>@gfFp+7%6>Q|o}y=<^MOF@v?9DbCK zmd~z#cVuKP1FY%6oo@Hn-=bp#=Jya_);+K-EBN3fu}_S3IVpS)s&`Vsy;AX#s7U-_ z(ZR1BV?hVu{2lb}FsCv3tGaxK>Y-Hf9}?Xn!S2F=)UN3Kn|jlOl`GefIAD z3_kHSD4}$SRzfZMC3$ytVgwx-d8LX4&t?Z^nH5~_S50eN41o6*MMo9sPvIgUE!}jLKuLiiVseiY|1hZ@`YxUj2Ld%1S_)*eIUab z{+aK$*20=odrPQJ`>n4gDFw9OjQ z@_l-M-pDoD!t%U-544axuzAdsdJzO&29oG^EH?m8WN=}&O>f=j8i;|;Xk1|+ zihFz@YTyCd2dRu{X6M6TO83uY|E_mLtAE@%s@75eu6MNE(FlNg$HVRe41?dEy~C4wCYP|Ne?X;BuxaOA1QM~W)kjv(2S!z zuZtU?6vtYts&fP$;YFYSuvT#ktDBF~mC-e}4l60a zDu@N>13;yn1E$w-li!PUY$(q^m0LY@2Nns-nd>**T)g#<88@e&aaRGNkC^_Lv-6R{ z4H2tBe6y(1DR%&k1SxRN2STW3n&kpb+$(QxhXuVm2mvttR*STGGUtL}@cuIKAuoYN zMI$W;%qL}&jP_?eDW1ooo=r}9QbXR1aAx?OMs!&_R(`)7m<684?|=om@!w5$=c8?d zDpwEjIML#H8y1D=N=6xQ^?ta;@I|^k6eL%vfA_j;@+uBMKX#M ziKU%+orUk?b>8K-?=axl0v7gOM~9~IxeJ^ovu8mQi)nIZW_i(`ml9ZQkh1iRR0=y{ z;2y`00F)T5xGB{;A^`?cpeJb(L^F%T|~S&Am7zDmb_J?fvS?{wivkqA_;)XSS@*q#n{_l*w{I_+J97?*?fHT zVGtmzD!i%R15_21e^RkHu>yGOO?JSa9?dN-kB|3{0{|zfN~wr4yczxsChpWPDoQk5 zY`iM3lh8Kr+#`>4B=ymKON`McZ43RnGm@A1a3k6)Cy)?72j80U436@1^5|GvOierBqh>}nqc zt8#$z-?b4FGkrop<+op~AQZt84Xtr3KP;^{CF1Ex4wQwolSS95wl8J^Rpsw+|2m1p zm>fub3|p7Yl04iu2o#-mhx@Hpzxp?P(zZ2%%VB^;`wz!t|K|{>5PCuC3CXyb-htsS zc8t!zkmd75Cb0n$ms)&Zw~CV=16DedI9@9H>Ix-`^X3EMXDl_$OHXE{%XrkV*9Ci~V6mgnzo|jWU8b z@6QJ_|9?KMOq_VZ`xpNZQYd^9fc*Ct%#HtIi{oLW|Jx77m`lBg`rbP_noW;0u(SV@ zY>g+hw#^%0DPXVDv$5H&{?OE^ceJww5wD+5u$;WS`gv4rthkt%t6TM-fcJX22Se8! zmyCwS1e)IQ@na(&AKx3D#LLS|xp-C%US93vkEwO4!R$*jGc)`9`>Xxh3i4!re{%@{ zUdj%Sn2WWrurNn|hrg81515qX)}Uxib23gfMU^YDbp7Xf{<=wcm>J{b|i>-+C8$PLnEjdToIlN=Rs-NT=T2 z!=vZ?a*Jtiu2Fle(N|SPWqEhE)Sv?v^kO}GhKqyaba5Ch9!d-(I!; zh$N{*b{k50V@XNLG#xirS0HL{J`hW3Zx=B(8P0<*SFQkKFs%P>tk-U~4u~7ws_kcL zY^l7y7~i8?RdE-GAGA0j~h#|&{Y3q zGmgabJk1;~CnR%fDp&IALY1?&yW1#TCmR}(EZ`xv!kVC=#MUI+ z2TqkjUs-xu+Ehf~1DRp9nz@2#R?-J*o5nNlH47$di}avDqNAe1P#uts?mZksRn5RF z@8bZas9z`*7A>L#h@WKo_9=CBb$2(XqTGx0nu{3Ar37DBf|8MN`u5wA<+K5Gf)3G4 zPRps`nZ{P0CS_JqfHI6oIW`d1P!<*zEYd()$EuY4%FMgwaR#7)V0Kuv0h>X%57pz$ z%*?1xjRKs$2|iXjx*nwy+hp>n#zt>v5;QjYyq28|arN9gP`~m11f+{=DP9A@bnN=A zBG5=s`!K%*s08N`0_tnfyS5!Q{`J9uUN}E(4wp8EMTNb_F_}N@q3w1z*6lld)soKK1opUQ%qx{7YMu$+3)gULj&ZS+>YD0Ns4hc zzuCpD9bgx|1;qTWQ3(lC`RYc`OW!ZNUM)9;8ffV>^7zKkjij!e?(hz+K{L9#0lO0J z3&LU6ANaP=COil#eh#TBaa8nsO}sI&d1~I%H#crWxglBEB%Uw5)e<@Elr?Dk787Yf zLEEZSSL56E*6qzzPY+#`Y9v2B{glB?&@WKn*x*&FpM-Ikn64&F75Vn555t!Y`StZ~ zC8}*=^~U}9T8=h0I?V#7oxud7&N<2odCF8dq~kfjJLe^w&K}6}+I6 zPxRF#Tct%svM_k|F<>lMX!Zq>AP#J93vwH4$Izbu5_Ni0VYStRg{Y8u!rccWQxJMX7vvL0+I9q=(_ z@I}N%WMAmX3chqY-^`~UqNTqQdg)peQ{}nXdl?vGgmyW zPPLP>Wwr%6Flglb(P}25DlD~`trQF4t5XEMk_)l1W|b-%Ze9DDt(8?(^lcIUCu7+b z%Sz&P3K*EKwyxGVqJ<)k6;7b3YZabFYZl1kmV*K7+l>LR7K5llWapb+^XYZT1LlunPnwoH(wPnk));hfd=>VnR@9mqNsRvd7n`>E%!w!yRPJm4ga8twG}Y!bRcc5xZoYw&Iu;Ru4vjZ@17LqT zTAp_4gX{`56-*qQ$l11~Yz9u>;F#I|*M2opn8<~?M8euD%YSkVe|YLm6cyovRvRBC zFMDVp>E`b2Fd#2r9VmUSwOgYLBFiZ{A@6@lM@RS4`I+SwATn;J+Z7e|NXb;*q}>(A z@{1+|UrRNtLzS=*m4f%l0n{K<>}$DRPFn<(BGbw1;w+M{y!%SjoR3C7)tA~0j^(S< zIemShPp;V+n)0gaSN&cS1@B7nOr*|m_yS6xDp5UN(CesGVqQlJ@Fb!qBIs;XTt32l8&P z`F=wz)N-K*)L2fnyx;leQX^>Jp9t(FO~>-{<;MM4N+4`SdYCJga|)QT#Hh^+ZkM-t zAidkNVyV=I(vw&Z-!;}8d)p!C_G02r1bsQYd!V!q8cvW`n~h{a*OK|&7z*~jr5l~T zc}9gkGt$=P%~!QVQuXckE#KK#`Ky$WF|=VUo!J)nJ~{J zZ_*eR200p!))Ei{I2LugQ4dxUy{uf3Em!^PJhb!nS6Du5u?t~2dvA>ozpI-3;V>7s ze>lv@pll@f+yKUY%NMS&jebS33EK=XBQF?rWO|1SVTQi;t>PY!Lq3w+J#Jt~M;2eHb#sS3^4ukSk`UqXtDf1zgM ziLH-h?}686Z!u~=U_LepTW|RF4 zBqYO81Co6Fjfdmo*i5=ODO%x~7(!8Li3?$->u+DWJOd*bycpbh9sDEe#n2mB#wSPw zmQd%{5;1>~qEtn9@%(D~U?TdN^q8CHoZB8h%l%?hCxwE|31p_c zd~%ieCtFB;lZlR)3gn*=inpSd4ck*OZ(4nj(z87?Zh#I0^ioULf{2xsTPRA*;RrX} zi*PVO+ay}0=oXFXT?^zb6?z-Z>zVA{KC$XwI##_bV^&`wxUkOG_IV_o6#*K^Qqa zI$|3Cq2!-N*Y@j&(8S`Nl#I+%RIhx8El&F*i zUgT2*bT~d_VeSMbRCHWEf6^jKSGr2RI3W`J9tbdYrd*VLHX>s#f>?h1K`$Tc$UG=E zX8{>iL|_Cj3olJ`rL4WDo`FY0`4zC_<;6v*8`mFkEb;O226SMn$XgEgBfBigEjSAv`c7HK2G^Fbrc44Oc zogyjB<_S=9W{CMv(PT$OM`K~l0%&f?HLU2GajYDv{~qyE9+}r2abD>0U+OZ9v95Np z29yp&L_~;_Ophp`%{2YOKh$ANl>{RZ@M>fto*yG4BQ0r?fI(A`llS)aYJ`6s{Erk3 z1s%kZfBs!+0@lA@=(>V5@K?^4S|#+iP0o4a|M{s)COX0CJhu@q z95dQtbCQFtquFfdyY<90mMyM%S{G8@pXea1Rt=tuvKO!e6;uJ8I&L0r%neaW6Cuhpb;+V1|@4v*W89QzD$ePwrHVR5RWJaq30BRlJx3B&3A zS40LAUjl%?CH8sf6U1$pvdmokYExseWP!r;h+39#lJph!BoJz14n1QhxA@{Gj>IE< zO7MdAcAc(t^!+{>4Ot%By_=&Ndfx|Hn;kPi+?hLo89A`sr`|E+vOk)INC;$rqs+@J zKK~2nfaHo`%nz-mdQ?U8$_5)~y>2u%yzr zJv8hJ_P>p1Z}MI_>_bc0EcioX6L5znRuX33an(Fv(*7L8>5C=;+g{%E99qnt0{4c} zJCuFk;xa(4^(|OnmzwS1%bqBZ+oNz3e8nlNHGNO5LK>oK_Pn z&a~gD=RMoNfz?xSHD`YQ;6{TSn4gU_tw)~bzc+ z;th(OawTTwU`cI+Rtw@Gpx{R&#H%0Q0CgKNA$ceJ7g8mYfd0RoT}eEo%{7OVcTVKqyh}ZSouphxEJdXskTRM$5DpX zd#Q2sFTm_s1lClr)lK^Ng(T6NKo{%pS@49iJw>PxrjaX8u$#!&bdhO8BnRB7ySlej zI}9BA&9$23R;{;cJL}6beF&j6Ri@AguWC@Th2DEc5k#Pro?FKZ4K9q(nNjc*e9#3> z(p)PJOk7V2I1!DYh@C&YMm*Y0NmXAqN@qGVhT1Pe^VICArNeUyKkbSEg&a5+!C|GCtF)`n9cC()D52BZ*h?)S@ zM^Jzx*E$wN`^w@afQ$~kmnux33v-M3z(lTVjr#9gv8(5S`3Z{9B zdqrN_Q=>(Kd*2l;!`h2H4j`!8C-9(Zlg>%SS&(f?cC}SvrTi7J{)E9D;J8(U9L~K- zLSzM`n(lR9Ofs;|I{5d1HQzCjk#za=imTSpShgU2jLdOSlr1jn$RNmsTxHlz<+=R{ zPtXZ6Au!r>XKGn1lhyYivTno{X;iq8z&U)n_+{pxy`8Wdp;R z=cg|*-A0?N?|w0(5L5745|n$EpLf8}#%8Rz++pIKu{-;GUGZrby0WP`XaV(uJ~bya zJ%aJTbaFUy)dvh_kQ52lTvP1V7@|tfs(LT^8*|zh*J5z~{>Tw^PN&hY&AAWnN?E{` zlL6#u>VE2g61BC!C{gH$YlqJl^X4HFNyv&cgBsB?T+V$Ro!|9V1v=>cTQ97*Jt-rt5_^L$-%sAobuN?xhQZy zrDdw$`*e4M4#Xi%JTXADhABY6qcTtMjpzKB z_=+@Z-()GtjQFP)pPwRS4uiPh5Xm||^m}f3JGK2NZq@f+#co+C0gc2$_o&dfFW%O! z7dp)whEKMMeO1~re9V4?5ezyVRH-x;bS7cRB(i9iQm~X+ERQKXWQUDOx2%uQQr|{7 zj)?pXwU+yx-@TS-e!b_c-ax6Q!WE9T*9IX{`0RWC2yL0Xb+(Zk+0NDjE(c?oI?uF| zN1z~z8aq(jjA?vC?Ha0lxC$BSC!S0sAv+;70?ZRYPO_qPBjH6#|ahHQ68U7x4Tv@?c09@U~<`wz4#m&0JHTm_vl zI!b)k7NF$L`$J$a>=RN^WM6v6#X$1;-F#Z)cJ73T*w;ZtJ%5dcio#eRaD*u@1q}|X z0ue!jfmGcYps8s>bJzro)p#JFo8f#Tlm`eqe&eays1_oy=dRnYjun+0r1$MzP#&UnzJdDR2egLBJ0Or{LFc84&DV+uv+LYW3hx zx9nf4i(~Q@O)s4-Knn*@-Qao2eqc3kGd|-FBtH<))&%zPy-%9xZ}ShFLOJQ*9bOxb z|MTgnl|kF~U!I+ZLY4HCoPU4Ocnn&L{39A;{_hW5$3UzrZyPnPH8fa7@pm@%)Tccw z;d0XPAqRVDR>%JVhvkVO4gUB6l>BNxi)O!m{hB+aub%-DJ}iNim6h=D@VU7ihCBTt zCpRt6!{x`!9ACmfM<-M0;`i^m#Kgp){_El4ku4LSkd(x9`AT87w**fe*Wsa0-cJ%T zL~~PCK2dz0us^OHP-PLyz~F9gZ|C#4jEW6Z#)K)p$UX$hB}oyo7(5L2gGs_Pku@!B zhl-;p@-Oi$zjc3_EGvO>-9iw^S^IG;it#?Nh2R zwab2~3cqM?<`cgkKV<#}Wyioqt>?8%3KK0JQa_xO<-r}7!bDFr-!z#<8y%wLECdCo zPoG)=D7?75j5s*?sSVV<)p>5n`8he=v$KXBfze~83!wT71oyGbdM?N7iom9kBH%%H zf9xyo*OxY*7-bVVd0h^dL4g_s3q28GVQ*Pq7wZZETgQ*yUeEJ=eIOS0LBfGGfIl?* zIgohuXBY__9~R+kggygL4=81wU!tv5Y~<%Jl%GX9 z1S|%WR3<7?^O1c0p&L)+FF*eA>(C_tnLbm2F40jNs^EJ+pcyUFu1+2h9-nmqHC#&S zTl)hBDk>j(F+ncNb0Da$Ns=rY2IWflr??XZ@rmBTk)Tbon25+sy_3AXLU)OkLR-{K zg~TY*_4RcRF(rRHQ=-Pj>jrWQmPpyp_3lme}At(V_;c@MHloe=Ub-+w0 zXY(Y3OaSDR0Wp4eSAV~bCY;cTuq_+sJeqll;Ol3ja7NC7DlbcrDE@+5&>B9aKUhnu z7>2blL|S^*{w|!C)zrJi*_Y(1fiRBtc{`}Ho`SmclP&olN?a&sD)35?>yq)pcefAP z6`uAUY23a_VMJ0P^k z;#cw9tQO|=Csr$b0{Yy{Cp+eGKLJvpeGOFCwH?6c#K3@Z`(_xTjNRzk*!^YK}_bDJjim zsd>PRCu#*~&=P1wof$8wufG6_!#%GZBT+cV@<5&guvKJ41Tm0c1N6vT><**d^Qbb9Hacl-|T1lHYHzG1h1e*#Cv_Tpll zrw1dI7dz3nS?HTEOIXni)bVprq5?vQb>iQESU_Wp2-KJR4f^|02w%S91$uZzb8~Yr z;URB;U1we-N`E#Lo}qAjAWQrj71y^=uGyt8-Ent&yUcdwk8CXccY-4lU8+$$Zi`e; zyanJS3}wb?%;JKkVE!Sxg(uI*9*)&68(U;ij5>RLCe8WSy^oo@G}P?n#fpN*O3BQ; zcd*oTjE9b%j+<0NEuU$d2lww^yab+=|3QqP z!0plT%>xJ_gY=}L%pX##al!Ya0as4Okr*9fo^URZlZ7ZO{oc_i+LXVAv;hWSMv6`} zp^djP!X7LKCR}QI0i!ogWW*YflDB8y0VZ!?kg@l+Ne#;(Zle2a7-TJgX{#_*#u1E& z%0H3lqoSfpe;}<0Hh+d>y=n5G_3t9h#-IYbg1d;i^K0lcuRm|Z{8(yT0Bu{H5VD%V z2)gQq4d>X^IEl%%SVQXnat%kU>-Ar z#uh34*p4DCpcydwsSS>k-8ABN+R%w%^{G3*92ka^uJ((A6J2aD$dzGf&tY8ry z@GFzKGE#u70l!RH(VJSJNPCd#N__(xay7nB&OD#V$L zjLe@wEv7$>#b>eB-(z3e3uL!fkjVZ$SN4BCpw%UQVGX+Ao4H+B*RFqMB!;}%W^FT~8Tkpioz`)DNStTBt?2e)6>)?%F(4HmQSY1*Qh97Y4W%2ud zIVnWFxiX>|81AOwWml`LX7d=!H_s22u(z7`BqStKlSNaueeh`HzP?5AMFX~3H$dAr zBaZuKz~0myo-teJ@LRKnm}iLxTR^1w_wj8f7E!((ANTUMXjM4t zxT`5h3kgLRbENAiygFSMtRMNJXUziUo;pJoARH5JoiDE)1_2&qSH}oyZ57jIPkt8B z!KvS8-};tWN#Vu&w=djeHvLFEartTvtCe4g0;f!}=|ZLIESlNrcCWN;Ud|-}>$CBC*1*ZfM>kKn5 zf?f>U+pOj)8bU(%oN8Q8=#7m31~s(Yz457!1ew>eZ}0e0Y6#I>(-u_ip-(zdos4oA<2E>}wTY4NGla!eV^uoy7WC`g~6zk0;* zicUl$-5>LDak&`l+1n6J{TE2fch-VxiRGaJSA_2hSvm=mG#R}dgJU!($wKe{?RW80 z)RwUrND%}keoQVdF1M>9>t=q_u{>1}{}_rI2za-{|HXYs3I5GSgbEq{{i4$CUj~#j zyLCd%850})CmVv>uloo5n4bNU0advD<7t`tR~Wbh`s%?|FrB9)Ie-Rn(}Ny|^=VMv zGfZ`rpn>9mjfK7PC;p=N-`))BmN>_+DOe+j)8w6wZY=be#j~cAzZ90l=Cd14VPOLYE&A3o~KnWpPbB`ekNZWDyS0{6VEV>1Xs1$(~(C?6cRF3A>&WN=Cc937KTNd!BthH@y6(pmVQyN;BWEdYBn^7R+_ats*;f(tP(M?uhCQ z*=+Y>w9J**Z10PO!YEMBLi?mhS&jXc=iyApa5nQsbW9I=N*LrttHj-hLSDyAXFJ8RSI9G7(b?}nFi7n>M4B`qez#gt)Czvp)q9&P?}y5w^8<<1B{P{e z>Aw7uRCX6Thx!JNnWAw!J)!&L?VSOMzgXykXx5WSm4Q%HAnqifrq)Plohd%*1(Jyd@+=fItt=oiwZ4`Qx#iU z+R88=Tehmpm7iOt4nuF{rOevTSuH@NdcddlWalom-Jld@p3xyPjBj!^Dzao*-nWJ# zh$A1?w-6d1A-c?&YMDNs45po^qu?FXqOxrDXMDMFkma;p&RN@`NeuQWW@lAgV-%@Q zqs>UVF7nb0gXe3s24Cb@MsGjo2%ipI&qVAbm;JZEHt_EgtMN8(J<~Oyk6-2ZT}^y*VFP)*?sRbtFtlvheCC=00`w znL5n1QgQ9^f6JBLolUPr!UkrTA1&4@aD`TLSzpzhFgHJl%KZ zwH;BLwDgCoK*PL(@)|zqc}eCxT)EuOLb zcaQBdNw)0x_RyglrwgNi5IvQA)no0GQ?oi!ldfG2mNLY8R}=MZvN_!HGdR3P4>A8+ zxCz3h%A*pyUXbzV=X>5}n4Pq)7~e^yp#^`jM#VQU)0fY6KImI#`Pf8plW8MThz~!B z<5Zwb!<+Zm=uHI3U)VtYB8jcFIv-{A5I0@{HaPpzAH^ZqLWp;D40$p#tAWb4lD z1<|sQ4`9zSMXU3(r4U~LGcDVAxeNo<8=kAb$4DM0Z0M!T(Rzrp%Jg82*MQ*L58!?q zk*c`s#}v|~aoi>`{q=!}sv#ysCtW-@%^-K4I>ae%3pDP9)Khvt!rOcmxM{6zHd?I!sL4bX(2AS%u&%ki@Pu$NdQU(fQ{1USC)R zmEK{QiT`p@FbI&Bz~AMKARj`c<$-%^H+reqni*xYLM2=*8a>3s9e<2Yn&TqN)(*bDW|vU0j}*+qiajd%aItR-kc$W%qUrB?0%f zXhYk?cTyX@9a50N+y~lo?Heza!Zd?y)OlAt67?3w@e)QvZ=U%^G=I+$I2ygt zz(Eq^es{6QeztwTPfgT@(|KrRv2OAqckKIbH(XU|txsxQ^bjh{vkB1L;)zcokE zobx3*J?R0Q)}zU1-`p@!zP>nEt_=b+cjU|BL{GVe=YU{y)*I@UB_FwJ?hXZ!5cRHz#>LU)fspK;I6TRl zDI5>WZL_DWo$&Ar&t--<(GnTFJ7fFQt@o3IVi<8|aj_ed(}UI-wJ^ER7K$Gk&Bpur z-d{p%CvP3Aq(Qbb@PI49GGH*u;kMr}khepuRDz%4hD*)t79*DK3vKndtU1V*5G1%62i92n(FRh_NZb70(s-!v zAQ-K_SIQ4eQ=%<#|ZW@Fiw~9#^~IMZv?MDhC8?0KgByRuYUadcdxm@ z?~3uYt?&+$;DrA6@W8>1ng#{*hh`5V$R`YEhbA_9sE2;^jwyU|QgR)?{`XsNpMtRe zuV8+t?tdS_7ju>BJN^wMQh)vjXZ+99;6Hwz9o>J;@8)N&831jJq}XnyP)+X=xf-_P zqqp_+)OvZH4Gj&=)}N`UtM}>XC6bfRdHI}vO-gFC-zd{>Yak*@$^j%}0VwQPQ>Lb- zKvy!<(2uf$&08#CFk3!)MI=lf}skhsT?ksUjY1!L8cppt-qZ6s%UF#YiNK@S!B%2 z%&bi(YI`7~UEM7#0PT6y)sH%Z6Lr)0uP!dSIy>iT?W(h~sDWbgM_ei9NAu_0l+@G_ zncCI6ILx~47l%|}1!zV@L_8J4<)D8H$N@KZEwgTeGq{>y0xsi$>ksbmPxr&zNxN6^ zdF(YH5QwgBa=2&v)c)zt^vWZz0@%evRn*kR8{JUx8M0(t&cF}YeZZKwp3UY)c<-{P zaKXk;7>wVpoC6JNg9Y&UoC&9FwE6`7SWO021n^AR-69D$H#gJMtIjVkfgy*NhX>j^ zUI;xoIVp$|=micSS65f1+(hm9TxH?nH?`zGD+^BQIyyHS*(t*a(CpA@P~Ps*)ijF- z?R-Lsi&XqL-ZkBx{M7TB_cGMd!dLC-?+-o&uUa#Vh>XlkkJ)W3rQ_#k1?_1r2WTZd zu6Bg-)e7_S@*cZuPgg!PDs9u3OgLMOF@h1MDBaAGWy`;NO zg_75|iv3e~TLoq1Jz1x0rUX8)TZAX6Z2l}3G{O%a-*9{T%el!P4HNSR^?}{0JAI6l zzL8iDG4Y&*6L1M2BO?A{61?8`F7QRyshg0Fg{w5(i(*vVrNl-iSd|T6Z7v4-+p3}5 z$l1M0Q|j5!M_^4hY1USjvIyK_PCmFVR<1fbE{aS+2`O72Vl=e_W~*5AZvg&r=Bc;U zB=fm|l%dg28XNT50Pc913Jaw>lTh4`I8<(+5syWKb{QnM0r&U4LTl|FFaKIvVqiAi z0U%_EfSI#=wpQ8Yk|}bLr9u=9{{&^EfgPTGHmS<=@NId!@prh;sHi9~HGp3QEH%=; zSUpe4Ohr(}7@s-#)$+2JVuOPB{V!79l?sP+H3=r{gN{Y$TA*O-_k$I@`Oz#A%q4(DbFDxV8AgiB{Wi^l98tIVX0PU+gz_Z7 z`R1f$W&2_7vtaYfTeV`{e(SMn@TQfuL1l_1uC>go(pT1B+I`#GeNolb*|f(jb$~G_ z!w7&#d`2MD&COK~%}~kKRFE5;O8WYh%W|q+Z7fg!&7WjK(MV>zyfOl`t6N+gmMz;y zr+86X#{!Sy?$#Gmh>VQPN`h#PG`u5zwA#90q>C&ewTtb8f7j~meDZrkiFAXdXINMdLocmOU8gUGl>c4#c35kimC&Gc#j8> z@d;1~U%oA)rm5g_-hZZr0*o@vp2Ftlo6ODEgO6tw zdMpOD9DbrlpDY-5JVj;;O$K$B!y-qvb43d00E6B{O!uZk#@w#L3jjN&k@BNp!<-gG z8GJu8-8$GNqs{IDa>%3O4dot#QVp4Ay>#*7iZ_ai2ZP9-gU<YALJiaApZzh>WsM_5oNkx z+$$xmq%;hwj&!ZP(J6hvE(2Z-Lju}n`AC6sI^=YG2X+=cEA_UJkm%l-uGVXEmn@E? zmL>1|{8-3VJ=!qm01;FPWPaajuskvTw6sCnu4Q^?XrYq1^X;{Z6wB<)Wd#3={pxH; zuK*oKMwJmj+7_z5%NFi?7RI^0Q)+>%hhXmdjwZDCL>@p$_%Dg7@}}#wq9*KjHc8QEc9v??7o$u^WDhx2+lE~- zVJSjROjMKvsBDu*?8Q7R}t55tah*0hz?V_4st6~=XQ2RVpOKfL8~c}`zSV7lmuzCD06}m z98fIoHK>z6i|4;H))fZf!*g%X1BqNJWtB3=^4#X-Zaoq8*2Ulh1eD&sQ4)*Sjy>r_ zLZbjp$hO8I30aCv@#lDXInm3?M(Zt+oeB}hvw`aF2u;e5G_v%X8jZ4{vQsi8$EO_V zX_*eQ^ZIwshK? zGh8HQGvPe@HUG(9GhzLsPA!2cLc{Y0DOZfg4x70{9CWp z;kBuYWfK#K<>b9*fl+hWNDa7iTOb~o9!g5+C(N!!sNW@IWFRPYXdt|CTWo*48F$>n z2Luc=wGXZL7AgV`&K?PQWwBo>8XHq%oot?9dwo}m6e9#dUY2xhgjs4FyBR?5bA7R( zCa5z)#m^;ihMPwqboRnhqzrZ<)kPxca!Ol32K8cy&ty1Io<3a;!i`caaZ7AZ4;8rd z7Y*@uPN_bszw%hS#18C42;b~+J2c(%xH!yWK*n5nP-djdTEE+MzmWyK*$95+4o3X> zE49@fOgtW|{G9qxa8k4>;Bqx_HeyfvuY8#dmLdnc|8c zccig3g^aI3Xa*v!hK7c9BIpoUHG?>M1@ufzk>sxww8JKR@fuKhk==IR+_zSVtlmmx2l6G?wVlQ7xe-}{|2q&ogb=2Yo6`LF8)(Ol=hWZ{3L z4FWii4~g!bj;Cg;lJak{V$b?y=;fGyLwRZ-Fs@vxA z{xW#ooxG;%&Zaf_EW*=@>OHCAitBUDqyt1y=vFJxVr#XI%Aefc9=7z){@IoCT%zws z^v)x=XWC>z-k51ieZ8m!Lt6OZd}%*j^ZoiE|OlyvZ}VS!JBM?&I_wQn8^^lYIm$3X0?cm6@Q2u>W{>?Y0;Ezkb%J zMyi#d9_6?v$PO~)FO9Azo(fuYR>OhII5DU1If^x_H?R^i|No;4v!SDP+C%L<75Fdp z4P3`TA^w=h%Ke2V`twYGA<(oQ&Cz|P!id*;lqhL*yOW}Oi2pqS-ocl>QTPDle2m6M z?j!8lx>I{w$9Nw8ug2C9Z9aWwkd2Y9{uZd2%J;YtoQRHov$^uO2doKeiUZ!2JxOzpN5@&%78P5X=(R2=!?QM9UTRiR7tnuVB(GqK@uWrI3P zL@e^e9f+YRV};W-9n)R0bEJ>bd`{-YVg-w1JJRGGPQSXaYkosL-P0>5D!5R!eFhDF zZ1HJ3-(-l3*P@1bviaJT-}gC*^mR!IU@K8Qsk*zh9Q>8#G zsJm8K0*#Q6kgD$osvvbAm}szw^01{qzP%rd!heQ2mo#OU|4j!uoJEMEpwgDrzx3hp zT`O2m9H73Hq*Dj22~W}^jnNtvr{Spgw~@yyd*Bo##y6WZ1riON@Wt`!J8yKPJyIyx zw!9vpu*so@zC}vnnG8Q@n@s7gV%41I?B6ySNMOQtK{?4PP%KD%+Tnp0(8E~v68)MN zeaRn<_Q7u`5y`4WhpLagp=H?_v)2T=zqLuoyv3NnA)ERKQm9rF4WD)2B9RM!VJu}b zW~Pz=8sv%`^|qI1fhh_Pi}l;6`oJ>*-2m_^EX+OS#CY$cQn`V852I#6vuW-++=qVX zx;XwUc&GttM^B_+xmU-?yEt3~I5-hdvKvZev8XB5XjdReiu3SaQ$RrIQoLt4K$9IH zFonjh!1un|w0&eY7lhBZyTp%Ul>!;^2B~y5etN-a#(3RQ*&)WGCpc3j1=99C^(dyh z18?Vxu{aX2y7A=mNERS9{#G#v;h$AgFn0k}N)P0g$gD7rwd5P>cjK5&#}BFe|E3KH zVF%#pV{cIl+vtfI^a?mp>`B=Cv~Zd2WTJj&es$CIa*Cq=)ZmmD@^io7jx*ux3~wPe z*&%=3W(;sIQwM-KH8mbnuzZwNut1HOH@V<{({BOB&g#pQSfAX$^Tg_o8BYb7NtBb9 zQV#9iPtCuArf+)URtEXzV=quty~!o+JH-oO#NL*G9K^YSsMd^O zHy_>-qtf%+?CcyKfkZyWCmNl;0S1rD2wiV#U(?_HkXYOX`0&})yfEmnSw_WZZV{zH z{1}!HPEltjqVPGCj`!c8Tsl~z>kkLp8B~xmoiNM4h!~{gAw)CjU#MaT(8(YI(Qws0@Flt`o0ijtn&`*;e!{d z=!bdObn!TpWh5wcQsM1v^C-*Yx@i?$t^7?pA~FH(*bh~Ekh+sP5o%vQ9pBzJN_Xx! zFwn_x3Tq1`WEcb}GJNpp)3Iz{`VhJHADZQ6433NXL%*`N7|%_vaRX8j1yg%aW|;5~ zKrme1o>j7)3!$T}jPq=cNN)N9;Io-kzaUx5TvNV<-PGq$m&@0-#k!4DcOR`$jpsAZ z;~sUynbYp}Nyt?7#vnIQbm){DT|!J@KxFSbIwe5kbIk>LF@Vt*|9E+Eh~? z+S{{h{yRP4g{(Pl@L~xEz-CgF)LG+50Nt#-=onlP)2ffjy-CqyC zpAW}eC|^klLILck!xQqYp6ZPh9+yB|-K#U=B2Y|jj!H0VZG^zV87j!VrtrOjLoJnf zP3S1{4<%vjB=1(>eNR9F?ssYxJrRr`D*|3we@6+J{v`4#*_b6xDNW1!0~1+Y)1|dZ z_y*7L0g+!1-!{feF=Xluog>*#DdX4hJo@Etn>BiKU z(9>3NwtGINJ`}_Y6>7eRiu{w7&$@cc8$* zv1^=9+TydA-qK-9nm&DrzMT>pXd(wLm^R(**EsH<2PC$m#I9Z*A9F_dQbuz&auYu0 zXn#-WjA;ccCf+k8DRiGev~RKaA-)J~?H&?rHc^}!3YR55bS80}#1;KT)HIJ{g8p1o zIf&GNlDgz^pdKOeb5K;4k^R|c^%i^9QDUBgdwZr_j}cv;S5^2}eQCOoS7yA+0^my8 zm^^;0;B9ycf5=?JyVsm3Q}luS659rR24P);n-hYM*q_IOoh+c~X2z_2sAg|Iot3BO zt%>L5vEsn1FCq#eSKkZy7dLiCjRS(O;8tLG#8T=3?HFBtUjG1dSh585^c!qDi?>6d z6gJ7Bj5O&MgIO4OsXI5w);){C| z>s4*w1-*#{>MoYEr3}TX%h1TR(WMDtjxVXRo|qRrWgBZRX=yJ0!(R3#+G!{iol@0L z8v-#*Fp$L%arrp`t=$wq?g5P2mQkSP-NgH;_VcUzzXsdi3ZlOz zl`R=j8K>;MWv4Q-Wp6^r&fcf{b8^*nUBBmfUiWkVar^J|I-S1f_c*@CaeUtEGr2Il zq3fKWO^s&td{BWriD{KXm%h@mFkRlSoCXc8NxRSj2ZsVWyOIX8eIBHxjF<92h}j%+ zv@!4hB%sH#_8xksr+Mv#tI-+E)jEJb9v-nYqqYQC^jDR!TPrl06j*BB2wJ|+9vZFj zXPpTE>ZB-(^+P03-==MGePxI$-{c8{_!BEo|P` z#yw$c5QD1OdVjMuMVs~5bOc@soo~5qyYN*w++}$jFK%t?R2tpA|L(K66Iua{5v6HB zLbbSUph`K9&69%2V(hI&b3<gq1;i%BR@7P1aJxLvlGf>%C4c@Q?aekJwwzjLOX%q~i3=CWHBTkEcis<0yflAm`T;3g>m}wr%wC|0 zunM|GGA^MPM0BxG^ND%#cw!57V0(79Q?dkp~+%`%gb>ed9W&t<+G%YkCUl%qyFiW%pX@-XP(#3_VrbET@47d)dK7W z;4jEa0P_g#w4Uu&UQUkH%6JP@(oRmiwxi`x_>>_K-d0viAhWQvu&}qc2e1Xz>?K0d z$cR>_(rM9aZK?rq+iq3}5{B@s2Y;$1gPd#_G}Z@G4Z#4^k3r{`**3f;vyW(asEf}7 zy{)v2%19H$H=4e_OyiYKa8qkA&z_A07${W-7094m`9<~3U{f*looG%H z7J_laYX0^#Mf0)G=b_Tu3E zC=^tCxV^T<;9>mTeLSzrQ68XgVdtfk@Qz`YHX0h5=4PR}V6eV$*{4ujXK06#1n$%Q zchpL{ES}a0MoGRTTV&d%JOHUiija=>Ssqd?bZM6#KC-sX1#%GNRm?AA>>@&yOKxUE z9>}Z9Y$Vt^%n!raEV^Gm2q58|cRwwEy7LW=TNJQY@d*e%k-$-rZaTjfDde$j7jV~D7$t7m0r1LHQeBKDNcz-y0T_3J4I((|PS6$!?#vw?s-F4cW)4Go9o;Zm5> zO`tHguup8iRJXora46tdS2XH)u)Q1=A?A&Y6SHg)=t~L=3K}*lGOfhIYgBt;VT^@) z**IpxYK($?$M5QvbAt@?Jc71T$p!e7k|nT_IGEkGv*UzDFucrt<|I)XK$S&CZh$Xp zFbgpD;4BG(l&AElV&=VOQ9)1E_3LBw*c>Nh!ozPL%gU^Vf)29Yy=MvaO6dy0zyN`k zd3OpRVyK7FQcf;F2Gs?MFxB~@3G}N<$eibTDd+ZV7BmOo9+W4tirm6{Q1poUxf2uF zAyr_W{uOw(U9se+-g6DH6$-kn#2E{E?w2&b%~-=tSLUsn6S(?-hrFlz?abp%`EWbv zHdE4Oa|{31&49<>-_H+%`Dl1~w}8zGAFY3sG&mz^XXo!a4e>)wD7K3K7Jj5|m64fk zDl4~BY+k;t#z-*4DP8H6!tsDL3!?1It<= zhzkRj!YVQ9yS^WObkzzP+`w8H9pa0L6HW1qOo_OLWj!+^<6G#G!7Ah%RulNV?j64C z<|a7QK0DDd_=8X1nHQV)y{XzA6rE@7wAjzyoTQ0Em$VjT`rwWvGOM^TI<8PH_+xfa zH?*#q6&OD!aob{f;d`@d zQ5e+`F3^IN>ScJ3_X{00Xvxa7M$hQ|2SuX!8PdX z7`xUH&&jw#A`I&~FS(%KbufweMFA()f_K{B1MunaH$WD*X{^Q)?usSwmTmPgHT1hj0${0@ux)B zrG4+D3?efTc+@MB+gpqLH-c??QZZ$4;n|KMWe!}vgHusf`QgCEzj^;-*eRic2$K1m zP}${2@6|LZz%u8bhNHr^3VK8KBBoXCyn@p)$KJWV{ zKA$=mGffmM^yC3|pPrD4ONc7f)(7D2%n)b@RG{&9jnd+XVNK?GCltfCgtc# zEVRcO9@YgarTbr0N+5I~+cyRZ+Dz3ih3Sf?uv0A7G5Z$qbqeXC*7rZJD99AnEHra2*E~4 z2K#;Yy-MgFlg0@r1e0Qy()1Bl+^lL40sra0D6&$qC!?hMp?bdl4Q;4Gm`5}f8N2j@ z9fNhfdB01c)SjE+GCW=tUHh*eZ$F_VkK&kgHj`5`vNTlHs)g2CP?tC^E-o@DTT$55 z)6x;fO9$Vc`apJ=`WiGDMd}n6LS*rSZ!7Iw*-9zAd*KfWz8EM?C{l||*;qk%p73Hv z9Tj!OZ1=#h$tD0|9C?l7_-(~(jS0(md8y->F~UWM>y2xy*jVNx*aAwfDS%SF3xpWQ zG#t{@r8RK4c3Yb|>zM{*8WYppU!05JW4%L-=H})o<;~@hFd4V~MA;XcdKK#%qoWfm zv*}lR(rf38kJvw-#U^R-N-XZ$Pfm|oR%NLQx?N=XXAPXE{HZ$@CML!py1A#vq0TR~ zdxL>EIq+5bDC0GY;IOcKUtc-^W7+jUPWG&~en;ElMpWJ@+mf)bU{R56+GAZZ%LjB% z&hpmM5G%bgtRpe8SgNmb7_>C`#tQi!eSOd&ef`6%$l*(cF+-R_7?`fA&rxc5Bawg7 zEov&%Vxx1x9Gb79rzQqfMJqw$hRSwwC7B$ zgKflaTJN?IP^>o3uV&z|GBWxVu{F%yx^+?(l%7SE3~~k^KG2n{O8t2f;8m3SclL7c z%D-xj|0U;#HK<_49qERpLp9{g#ay&VGqP{F*%+j|Y92V?k-H`=cv2dnpwPDTws;~ooa6s3?KT^*b zWo9zS8aAM_&$z!&jx1)I1*6CeKe5X-OfxchE3P6N)0yw0*_o0?bQ7mnQpcYKR+%_q z>8c%Sim7?&#``ty;>@|k{N~c@*oq$IZwGQlHZNF@xTG8djz(VLqR7q*(scCXFVF&| z;``$%D_Wgxkkt0}-$p?Ja~B1mHEL*H-zT zAQx-`b(EBwM+BZz^mP^@TvEMHxzu=rEAd2nHL_NheU87I$e+k87RQ#Mu-27#iOu$XyM}!Hhk@FWSL6ZE} zgT|&~3bz&9?r0*bOQE0<+?Sed)BC2Hx)=yOD}(!9 z@zyHfl3q_&d%RD3<#N2t*$_d`NksZch*g3^`cF_;M#-vojh+o|*3jfH%=(+{iHdN) zc)7%CCM)U7T`q5-*X-KWA&i+()9WMas=j(%hr18|#X>cL z-fcge9fpG#gZ#PW;pJs{r@Gl6@jSs67Imf$U+eL8Nby0+++getufkuoOKsKCj{^5v6U&+>@uAe)!QNL2{LG2tbR$V)Lhv~t@{T9CH3WaKMiRUh5o_Et5Tyi$)N{W{&Tf=W{8 z9iyNeh=n^1+LCMbe7hC0E*a4G>5x2Q*O1|H=(ie2ObYhKMhwq-gq)B?^6y-kPpm1N z#Hj^M*5j^&F6{rLeQMM+43E!-)5t^*lAr`;+59%Tz1fCwptNT887P>HF!_m(5|~}o z<;y(G*X8^_Xdlk*u-;*}#ch~t+6AuUq4XOh*DKssX_N@&v&M7=#T{}^uUn6SJVA8mmxF@a@=^YTjCYxX$`X=#%4>J6X^qHbMLeZ` z*3RTED-++B=}!4*x?=(BqFKY!n_C?f{Yi5JTT!VWOFl3mdSdRm=RpPKXxv!e)&9tQ z%G!lF@wd?&_iUo2x?SWO%dl`JkGyx)_88U9J9l;E4N6vXny#XAxgUh!AAO4bGbdEO z0F-Pq!IjJHBk7r!mItq}`Vs!aDN`u_-#cag$sLV^5s$cKqgM6;Z6-p%Q{!qi5a57G zV=(57^$3@=@cT^Esq07#im49z`)THA)RFp%4V^fq9dDI*4b#anacnC0eZAN5@m}rk z?w?gYm%!!ZUVl(5w&#ePVrZq~ms%btEps`3mlHQ4-C!ckFq4ZI4A9z@*CJ~jFTiXo z{)-`Mu~kHTgRLv-{7-{-fbsdpY6xX$t9-CI%-WU1I&YqC^=e9vfcRaQ&*)0bou4w% zuLT8!0+HX8ZuK|PuZUe^s>sGp&Tk;Xb@qAllgN2mdg{nUYnr4)BKQW1`@RXLX+ z6@4lDLxdYtYR)_8R7UvcePs>lFmzA-Ip#N(#_OEAB4%RLxs?`nmg(=y^XpKj(~}Uu zID1^Y{GHcv_ni1K=X9gWg*WT>UF-d9%PtFSN{+{4?d@FHSS2mps+Vamavf55e@zlV z_!6E%!worJDQ_H9?dB0ZyvO{rF|l6`_ewBR)p3T)V3v)CrJ7NlZWTpREhbQh!$VGK z^TS<4X2#N(tA$+wS0fzK186r_mKjOVA2{&1zmyTSZ9twwLnB<86TP`aN zMZ+D3@m-*fp{!d(W9B1VXgpz^w5m|7)3%J#^UL6T;~)tvh|i+g&t6;Z2br7(Cy>m< zihT)C)%g-gaoLXZ(oAAmUn-?a8S7{eYogo7fJ8>^7oVUZ+1|q`4RRLNt5uDn`-GLU zhIaTpR9{i1pJU9s)iqz%4~FPD$sbDDPP};)uXo>&#amr%zr6aJp&hcuXSBL%sBFF1 zeghi%O^e<1(m=9`i`;DQt}A6Jd}o!Clf@@od()ld4Jf?~@$m2$GfAE?P(>AY--%cs z_)kg-Nm1aBrFz6thT0I9f<)`7y8ZpJs@Hyo{#og=GDd5GdBQrC!I|PO)+tz~P*x>D zLlGBc8%n0d9J$sx5Uzxmo?bERQnekJS})#l?}m=|7e+CfKzD|kB3Yw2f!IekZhibw zXeX

XN21dw(tR;oAB8b$&gJjT5A3-i$#kJ)cG~oq z#UwR%gwm(;>Ywi~p3^%NEez2Vybz2r{M|*8Bh}>VZNFl2&i{*Vky{lyB%kh38cMC1$gEjb_TrUW3PeJ(QuW9!N1Wp-ei6_I=7

  • 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 L%2Ii^9{BthnHGna literal 0 HcmV?d00001 diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/exe_results_actions.png b/sources/GhidraDocs/GhidraClass/BSim/images/exe_results_actions.png new file mode 100644 index 0000000000000000000000000000000000000000..2787644d578e852a0da89db29066c60d7650f29d GIT binary patch literal 58399 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 literal 0 HcmV?d00001 diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/overview_window.png b/sources/GhidraDocs/GhidraClass/BSim/images/overview_window.png new file mode 100644 index 0000000000000000000000000000000000000000..679fc6b0f716961b9de76a5ddd7d53c6663d3b6d GIT binary patch literal 43934 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 literal 0 HcmV?d00001 diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/script_manager.png b/sources/GhidraDocs/GhidraClass/BSim/images/script_manager.png new file mode 100644 index 0000000000000000000000000000000000000000..fac7a09989d440984a6e35ae0b2af63c562b4f7a GIT binary patch literal 118813 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℞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 k1FXa^#v}#IpYKG7?ZVBrqK(_&^@qy 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

    vYq@R_O>G8^8)fDFJ%E#$LmU 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 FCIDq2QD*=E literal 0 HcmV?d00001 diff --git a/sources/GhidraDocs/GhidraClass/BSim/images/unlock.gif b/sources/GhidraDocs/GhidraClass/BSim/images/unlock.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6733fe75ce844fedecd3980509511c6bf54510f GIT binary patch literal 900 zcmah|UuaTc6hEIjcatqP?-Xf+S=f-JvONU0SUJ?ZlUuBZ9@Zohi;!Mw5MK{c*P^XG zB@{hLldY&np`f?eR)pCIi5m4Xg01w?SeRO|&bfMPgP`Bb`Sbgo@18&0(C88GfoKceFcE4A2KFZc*I@-DEGugfm!&7gBc`c)G!z`3-faq)D5C+ums> z<=XKX`P%|Z^_<#fk%E&{ghv-*C&X#jhTiC3EZ?wSE#Vc?=9{S!VR3VNYO%4Qas-sFtr zvdSU|-Qk4PIk&_NW~ Refresh button. +Examine the Debug Console window for errors / warnings before spamming this button. +To toggle auto read, use the auto-read Auto-Read drop-down button from the local toolbar. + +### Address Tracking + +We have already demonstrated this, but there are some finer details. +Some of the tracking options depend on the Watches window, discussed later in this module. +On occasion, the location cannot be displayed in the listing, typically because it falls outside of the memory map. +If this happens, the address label at the top right of the listing will have red text. + +### Module / Region Indicator + +In the top left a label will display the name of the section containing the cursor. +If there is no containing section, it will fall back to the containing module and then to the containing region. +Rarely, this label will be empty. +This can happen when the cursor is outside any known region, which only happens if you configure Ghidra to ignore the memory map. + +### Go To + +The **Go To** action in the Dynamic Listing differs from the one in the Static Listing. +Like the static one, it accepts an address in hexadecimal, possibly prefixed with the address space and a colon. +However, it also accepts Sleigh expressions, allowing you to treat `RAX` as a pointer and go to that address, for example. +We cover Sleigh expressions later in this module. + +### Compare + +The Compare action in the Dynamic Listing also differs from the one in the Static Listing. +It allows the comparison of two machine state snapshots, covered in the [Navigation](A5-Navigation.md) module. + +### Exercise: Reverse Engineer the Board + +All of the features in the default CodeBrowser tool are also in the default Debugger tool, providing you Ghidra's full suite of static analysis tools during your dynamic sessions, albeit they are not as immediately accessible. +Your task is to reverse engineer the game board's layout in memory. +Because you are in a dynamic session, you have an example board to work with. +As you navigate the `.data` section of `termmines` in the Static Listing, the Dynamic Listing will follow along showing you the live values in memory. +You can also experiment by placing code units in the Dynamic Listing before committing to them in the Static Listing. + +#### Questions: + +1. How are the cells allocated? +1. How are the cells indexed? Row major, color major? 0-up, 1-up? +1. What is happening around the "border" of the board? Why might the programmer have chosen this design? + +## The Memory Viewer + +![The dynamic memory view of the stack after a call to rand](images/State_BytesStackAfterCallRand.png) + +Just as the Dynamic Listing is the analog of the Static Listing, the Memory viewer is the analog of the Bytes viewer. +To open it, use **Windows → Byte Viewer → Memory ...** in the menus. +Its default configuration should be Auto PC, the same as the Dynamic Listing's default. +It has all the same additional Debugger features as the Dynamic Listing. +Furthermore, bytes that have changed are displayed in red text. + +### Exercise: Display the Board in Hex + +This is a bit quick and dirty, but it works and can be useful. +Your task is to configure the Memory viewer so that (within the memory allocated to the board) the rows and columns of the Memory viewer correspond to the rows and columns of the game board. +**TIP**: Use the *Alignment Address* and *Bytes Per Line* settings. + +## Registers + +![The registers after a call to rand](images/State_RegistersAfterCallRand.png) + +The Registers window gives a view of all the registers on the target and their current values. +The register set can be very large, so there are a few ways to sift and sort. +As in most Ghidra tables, you can filter using the box below the registers table. +Additionally, you can use the column headers to sort. +The columns are: + +* The **Favorite** column indicates which registers are your favorite. + By default, this includes the instruction pointer and the stack pointer. + You can quickly choose your favorite(s) by toggling the check boxes in this column. + Because this column is sorted by default, your favorites are positioned at the top. +* The **Number** column gives the number assigned to the register by Ghidra's processor specification. + This is mostly just to make the default sorting deterministic. +* The **Name** column gives Ghidra's name for the register. + This usually matches the name given by the back-end debugger, but may not. + For example, on x86-64, what Ghidra calls `rflags` GDB calls `eflags`. +* The **Value** column gives the register's current value in hexadecimal. + Values in gray are stale. + Values in red have changed. + Right-clicking this column will present options to Go To the address, as if the register were a pointer. +* The **Type** column allows you to assign a type to, i.e., create a data unit on, the register. + This has more utility for float types than integers, but it may still help you record what you know about how a register is being used. +* The **Representation** column displays the register's value according to its assigned type, if applicable. + If the type is a pointer, then double-clicking this value will go to the address in the Dynamic Listing. + +If you would like to adjust the list of registers in the table, use the ![select registers](images/select-registers.png) Select Registers button in the local toolbar. +This will present all the registers in Ghidra's processor specification, including those which are just artifacts of Sleigh. +Typically, this is not necessary, since the table will include all registers recognized by both Ghidra and the back-end debugger. +Nevertheless, if you believe a register is missing, it is wise to check this selection. + +### Exercise: Reduce the Mines + +If you have not already reverse engineered the mine placement algorithm, do that now. +Think up a strategy you might employ, by patching a register, to reduce the number of mines placed on the board. +The strategy need not result in a permanent change. +It should only affect the round being set up. +For this exercise, you cannot patch memory, but you may place a breakpoint. +Verify your work by playing the round. + +## Watches + +![The watches window in a call to srand](images/State_WatchesInCallSRand.png) + +The Watches window gives the values of several user-specified Sleigh expressions. +This can provide an alternative to the Registers window when you are really only interested in a couple of registers. +It can also watch values in memory. +Furthermore, when a watch has a memory address, the expression will appear as an option in the **Location Tracking** menus of the Listing and Memory viewers. +Selecting that option will cause the window to follow that watch as its address changes. + +To add a watch, click the ![add](images/add.png) Add button. +A new entry will appear. +Double-click the left-most cell of the row to set or edit the Sleigh expression. +For starters, try something like `RDI`. +(Conventionally, this is the location for the first parameter on Linux x86-64 systems.) +The context menus for the Listing and Registers windows include a **Watch** action, which adds the current selection to the Watches window. + +The columns are: + +* The **Expression** column is the user-defined Sleigh expression. +* The **Address** column is the address of the resulting value, if applicable. + This may be in `register` space. + Double-clicking this cell will go to the address in the Dynamic Listing. +* The **Symbol** column gives the symbol in a mapped program database closest to or containing the address, if applicable. +* The **Value** column gives the "raw" value of the expression. + If the result is in memory, it displays a byte array; otherwise, it displays an integer. +* The **Type** and **Representation** columns work the same as in the Registers window, except they do *not* save the data unit to the database. + This has more uses than the Registers window. + For example, try `*:30 RDI` and set this to `TerminatedCString`. + Whenever `RDI` is a string pointer, this will display the string up to 30 characters. +* The **Error** column reports any errors in compiling or evaluating the expression. + +## Sleigh Expressions + +Watches and Go-To commands are expressed using Ghidra's *Sleigh* language. +More precisely, expressions are the sub-language of Sleigh for the right-hand side of assignment statements in semantic sections. +If you already know this language, then there is little more to learn. +Of note, you may use labels from mapped program databases in your expression. +For example, to see how far a return address is into `main`, you could use `*:8 RSP - main`. + +For the complete specification, see the Semantic Section in the [Sleigh documentation](../../../Ghidra/Features/Decompiler/src/main/doc/sleigh.xml). + +Sleigh is a bit unconventional in that its operators are typed rather than its variables. +All variables are fix-length bit vectors. +Their sizes are specified in bytes, but they have no other type information. + +### Variables and Constants + +Here are some examples of things you can reference by name: + +* **Register**: `RAX` +* **Label**: `main` +* **Constant**: `1234:8` or `0x42d:8` — the value 1234 encoded as an 8-byte integer + +Registers vary by processor, but any register known to Ghidra's specification is allowed. +(Due to limitations in Sleigh, you cannot refer to the `contextreg` or any of its sub-registers.) +A label may come from any Ghidra program database that is mapped to the current target. +Due to limitations in Sleigh, you cannot specify a label's namespace. +The compiler will search only by name and select arbitrarily from multiple matches. + +### Operators + +Here we will demonstrate each operator by example: + +* **Integer Addition**: `RAX + RCX` +* **Integer Subtraction**: `RAX - RCX` +* **Integer Negation**: `-RAX` +* **Integer Multiplication**: `RAX * RCX` +* **Unsigned Integer Division**: `RAX / RCX` +* **Unsigned Integer Remainder**: `RAX % RCX` +* **Signed Integer Division**: `RAX s/ RCX` +* **Signed Integer Remainder**: `RAX s% RCX` +* **Left Shift**: `RAX << RCX` +* **Unsigned Right Shift**: `RAX >> RCX` +* **Signed Right Shift** `RAX s>> RCX` +* **Integer Comparison**: `RAX == RCX` or `RAX != RCX` +* **Unsigned Integer Comparison**: `RAX < RCX` or `RAX > RCX` or `RAX <= RCX` or `RAX >= RCX` +* **Signed Integer Comparison**: `RAX s< RCX` etc. +* **Float Addition**: `MM0 f+ MM1` +* **Float Subtraction**: `MM0 f- MM1` +* **Float Negation**: `f-MM0` +* **Float Multiplication**: `MM0 f* MM1` +* **Float Division**: `MM0 f/ MM1` +* **Float Absolute Value**: `abs(MM0)` +* **Float Square Root**: `sqrt(MM0)` +* **Float Comparison**: `RAX f== RCX` or `RAX f< RCX` etc. +* **Bitwise And**: `RAX & RCX` +* **Bitwise Or**: `RAX | RCX` +* **Bitwise Xor**: `RAX ^ RCX` +* **Bitwise Not**: `~RAX` +* **Boolean And**: `RAX && RCX` +* **Boolean Or**: `RAX || RCX` +* **Boolean Xor**: `RAX ^^ RCX` +* **Boolean Not**: `!RAX` + +**NOTE**: If the result of your expression is in floating point, you will need to set the type of the watch accordingly. +The "raw" display will render the bit vector as an integer or byte array. +To read memory: + +* **Dereference**: `*:8 RSP` or `*[ram]:8 RSP` + +**NOTE**: The `[ram]` part is optional. +On x86, you will rarely if ever specify the space, since there is only one physical RAM space. +The `:8` part specifies the number of bytes to read from memory. +It is also optional, but only if the size can be inferred from the rest of the expression. +To manipulate variable size: + +* **Zero Extension**: `RAX + zext(EBX)` +* **Sign Extension**: `RAX + sext(EBX)` +* **Truncation**: `RAX:4` — Equivalent to `EAX` +* **Truncation**: `AL + RBX(4)` — AL added to the the 5th byte of RBX +* **Bit Extraction**: `RAX[7,8]` — Equivalent to `AL` + +**NOTE**: The second form of truncation drops the least-significant 4 bytes of RBX and takes as many of the remaining bytes (1 in this case) as necessary to match size with AL. + +**NOTE**: Need for these next miscellaneous operators in Watch expressions is rare: + +* **Unsigned Carry**: `carry(RAX,RBX)` +* **Signed Carry**: `scarry(RAX,RBX)` +* **Signed Borrow**: `sborrow(RAX,RBX)` +* **Float NaN**: `nan(MM0)` +* **Convert Integer to Float**: `MM0 + int2float(RAX)` — Context required to infer the float size +* **Convert Float to Integer**: `RAX + trunc(MM0)` — Context required to infer the integer size +* **Convert Float Size**: `MM0 + float2float(MM0_Da)` — Context required to infer the new float size +* **Float Round Ceiling**: `ceil(MM0)` +* **Float Round Floor**: `floor(MM0)` +* **Float Round Nearest**: `round(MM0)` + +### Exercise: Find and Modify the Board Dimensions + +Your task is to set up watches on the width and height of the game board, and then use those watches to change the size of the board. +This may involve some trial and error, and it may not work perfectly due to the way `ncurses` refreshes the screen. +For this exercise, patching memory is expected, and the change should last until the target is terminated. + +**TIP**: If the `termmines` image is subject to ASLR, and you want your watch expression to generalize over re-launches, try using `main` as an anchor for the image base. + +### Exercise: Watch the Cell to be Mined + +Your task is to watch the byte value of the cell that is about to have a mine placed in it. +You will probably want to set a breakpoint somewhere in the mine placement algorithm. +It is okay if the watch does not *always* display the correct byte. +However, it must be correct whenever the program counter is at your breakpoint. +Register allocations are fairly volatile, and as a result, watch expressions that refer to registers are only valid in a limited scope. +The rest of the time, even though the watch may evaluate successfully, its value may have no real meaning. +Check your work by observing the mine bit being ORed in as you step the target. + +**TIP**: Try creating watches for the row and column indices, first. +Then, perhaps referring to the Decompiler, formulate the expression that dereferences that cell in the board. + +## Variable Hovers + +You may have already used these if you completed the exercises in the [Breakpoints](A3-Breakpoints.md) module. +If you hover over a variable in any listing or the Decompiler, the Debugger will attempt to evaluate it and display information about it. +In some cases, evaluation may involve unwinding the stack. +Unwinding proceeds until the Debugger finds an invocation of the function containing or defining the variable. +If unwinding fails, the Debugger may disregard the stack. +In dynamic windows, the Debugger generally disregards the stack. +In static windows, the Debugger still uses dynamic information to unwind the stack and evaluate the variable. +A variable may be any of the following: + +* A register in the listing. + In this case, the hover will report the register's value in the function's frame. +* A local or parameter in the listing. + If the variable is allocated in a register, this behaves the same as hovering that register, except with additional information presented. + If the variable is allocated in stack space, this only succeeds if unwinding succeeds. +* A global variable in the listing. + Unwinding is unnecessary for these. +* A local or parameter in the Decompiler. + This behaves similarly to hovering a variable in the Static Listing. +* A global in the Decompiler. + This behaves similarly to hovering a global variable in the Static Listing. +* A field reference in the Decompiler. + A field reference is essentially a C expression in terms of other variables. + This will evaluate those variables and then evaluate the expression. + +Depending on the particular variable and other circumstances, the hover will contain some combination of these rows: + +* **Name**: The name of the variable +* **Type**: The type of the variable +* **Location**: The static location of the variable, e.g., `Stack[0x4]` +* **Status**: A progress indicator +* **Frame**: If evaluation required unwinding, a description of the frame used for context +* **Storage**: The dynamic, physical location of the variable, e.g., `7fffffffe618` +* **Bytes**: The raw bytes currently stored in the memory allocated to the variable +* **Integer**: The "raw" integer value of the variable, rendered with varied signedness and radix +* **Value**: The value of the variable, according to its type +* **Instruction**: If the variable points to code, the target instruction +* **Warnings**: Warnings emitted during evaluation +* **Error**: If the value could not be evaluated, an explanation or the exception + +The Name, Type, and Location entries are informational. +They tell you about the variable and its static definition. +The Status, Frame, and Storage entries are also informational, but tell you about the variable's dynamic evaluation. +The Bytes, Integer, Value, and Instruction entries tell you the dynamic value of the variable. +Finally, the Warnings and Error entries provide diagnostics. +If there are many warnings, then the value may not be accurate. diff --git a/sources/GhidraDocs/GhidraClass/Debugger/A5-Navigation.md b/sources/GhidraDocs/GhidraClass/Debugger/A5-Navigation.md new file mode 100644 index 0000000..23576d7 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/A5-Navigation.md @@ -0,0 +1,231 @@ +--- +status: collected +title: Navigation +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugger/A5-Navigation.md +--- + +# Navigation + +This module assumes you know how to launch `termmines` in Ghidra using GDB, and know where to find the basic Debugger GUI components. +It also assumes you are familiar with the concepts of breakpoints and machine state in Ghidra. +If not, please refer to the previous modules. + +This module will address the following features in more depth: + +* The Trace tabs — in the Dynamic Listing window +* The Threads window +* The Stack window +* The Time window + +## Coordinates + +The term *location* is already established in Ghidra to refer to the current program and current address. +There are more elements to a "location" in a dynamic session, so we add additional elements to form the concept of your current *coordinates*. +All of these elements can affect the information displayed in other windows, especially those dealing with machine state. + +* The current *trace*. + A trace database is where all of the Debugger windows (except Connections and Terminal) gather their information. + It is the analog of the program database, but for dynamic analysis. +* The current *thread*. + A thread is a unit of execution, either a processor core or a platform-defined virtual thread. + Each thread has its own register context. + In Ghidra, this means each has its own instance of the processor specification's "register" space. +* The current *frame*. + A frame is a call record on the stack. + For example, `main` may call `getc`, which may in turn call `read`. + If you wish to examine the state of `main`, you would navigate 2 frames up the stack. + Because functions often save registers to the stack, the back-end debugger may "unwind" the stack and present the restored registers. +* The current *time*. + In general, time refers to the current snapshot. + Whenever the target becomes suspended, Ghidra creates a snapshot in the current trace. + If you wish to examine the machine state at a previous time, you would navigate to an earlier snapshot. + "Time" may also include steps of emulation, but that is covered in the [Emulation](B2-Emulation.md) module. + +In general, there is a window dedicated to navigating each element of your current coordinates. +If you do not have an active session already, launch `termmines`. + +## Trace Tabs + +The Dynamic Listing window has a row of tabs at the very top. +This is a list of open traces, i.e., of targets you are debugging. +You can also open old traces to examine a target's machine state *post mortem*. +In general, you should only have one trace open at a time, but there are use cases where you might have multiple. +For example, you could debug both the client and server of a network application. +To switch to another trace, single-click its tab. + +When you switch traces, every Debugger window that depends on the current trace will update. +That's every window except Connections and Terminal. +(Each connection has its own Terminal windows.) +The Breakpoints window may change slightly, depending on its configuration, because it is designed to present all breakpoints in the session. + +## Threads + +![Threads window](images/Navigation_ThreadsInCallRand.png) + +The Threads window displays a list of all threads ever observed in the target. +This includes threads which have been terminated. +Unfortunately, `termmines` is a single-threaded application, so you will only see one row. +If there were more, you could switch to a different thread by double-clicking it in the table. +The columns are: + +* The **Name** column gives the name of the thread. + This may include the back-end debugger's thread id, the target platform's system thread id, and/or the back-end debugger's display text for the thread. +* The **PC** column gives the program counter of the thread. +* The **Function** column gives the function from a mapped program database containing the program counter. +* The **State** column gives the state of the thread. + This may be one of ALIVE, RUNNING, STOPPED, TERMINATED, or UNKNOWN. +* The **Plot** column plots the threads' life spans in a chart. + +**NOTE**: Most of the time, switching threads will also change what thread is being controlled by the Control actions in the global toolbar. +This may vary subtly, depending on the action and the target. +For example, the ![resume](images/resume.png) Resume button will usually allow all threads to execute; whereas the ![step into](images/stepinto.png) Step Into button will usually step only the current thread. +If the target's thread scheduler cannot schedule your current thread, the behavior is not clearly defined: +It may step a different thread, it may cause the target to block until the thread can be scheduled, or it may do something else. + +When you switch threads, everything that depends on the current thread may change, in particular the Stack window and any machine-state window that involves register values. +The Registers window will display the values for the new thread, the Watches window will re-evaluate all expressions, and the Dynamic Listing and Memory views may seek to different addresses, depending on their location tracking configurations. + +## Stack + +Ensure your breakpoint on `rand` is enabled, and resume until you hit it. + +![Stack window](images/Navigation_StackInCallRand.png) + +The stack window displays a list of all the frames for the current thread. +Each thread has its own execution stack, so the frame element is actually dependent on the thread element. +The call records are listed from innermost to outermost. +Here, `main` has called an unnamed function, which has in turn called `rand`. +The columns are: + +* The **Level** column gives the frame number. + This is the number of calls that must be unwound from the current machine state to reach the frame. +* The **PC** column gives the address of the next instruction in that frame. + The PC of frame 0 is the value of the PC register. + Then, the PC of frame 1 is the return address of frame 0, and so on. +* The **Function** column gives the name of the function containing the PC mapped to its static program database, if available. +* The **Module** column gives the name of the module containing the PC. + +Double-click the row with the unnamed function (frame 1) to switch to it. +When you switch frames, any machine-state window that involves register values may change. +**NOTE**: Some back-end debuggers do not recover register values when unwinding stack frames. +For those targets, some windows may display stale meaningless values in frames other than 0. + +### Exercise: Name the Function + +Your Dynamic and Static Listings should now be in the unknown function. +If you have not already done so, reverse engineer this function and give it a name. + +## Time + +Re-launch `termmines`, ensure both of your breakpoints at `srand` and `rand` are enabled, and resume until you hit `rand`, then step out. +Now, switch to the Time window. + +![Time window](images/Navigation_TimeAfterCallSRandCallRand.png) + +It displays a list of all the snapshots for the current trace. +In general, every pause generates a snapshot. +By default, the most recent snapshot is at the bottom. +The columns are: + +* The **Snap** column numbers each snapshot. + Other windows that indicate life spans refer to these numbers. +* The **Timestamp** column gives the time when the snapshot was created, i.e., the time when the event occurred. +* The **Event Thread** column indicates which thread caused the target to break. + This only applies to snapshots that were created because of an event, which is most. +* The **Schedule** column describes the snapshot in relation to another. + It typically only applies to emulator / scratch snapshots, which are covered later in this course. +* The **Description** column describes the event that generated the snapshot. + This can be edited in the table, or by pressing **`CTRL`-`SHIFT`-`N`** to mark interesting snapshots. + +Before we can navigate back in time, you must change the *Control Mode* to **Control Trace**. +Now, switch to the snapshot where you hit `srand` (snapshot 1 in our screenshot) by double-clicking it in the table. +This will cause all the machine-state windows to update including the Stack window. +If you try navigating around the Dynamic Listing, you will likely find stale areas indicated by a grey background. + +**NOTE**: The control-mode change is required to avoid confusion between recorded and live states. +When you switch back to **Control Target** (with or without edits), the Debugger will navigate forward to the latest snapshot and prohibit navigating to the past. + +### Sparse vs. Full Snapshots + +Regarding the stale areas: the Debugger cannot request the back-end debugger provide machine state from the past. +(Integration with timeless back-end debuggers is nascent.) +Remember, the trace is used as a cache, so it will only be populated with the pages and registers that you observed at the time. +Thus, most snapshots are *sparse* snapshots. +The most straightforward way to capture a *full* snapshot is the refresh **Read Memory** button with a broad selection in the Dynamic Listing. +We give the exact steps in the next heading. +To capture registers, ensure you navigate to each thread whose registers you want to capture. + +### Comparing Snapshots + +A common technique for finding the address of a variable is to take and compare snapshots. +Ideally, the snapshots are taken when only the variable you are trying to locate has changed. +Depending on the program, this is not always possible, but the technique can be repeated to rule out many false positives. +The actual variable should show up in the difference every time. + +For example, to find the variable that holds the number of mines, we can try to compare memory before and after parsing the command-line arguments. +Because parsing happens before waiting for user input, we will need to launch (not attach) the target. + +1. Launch `termmines -M 15` in the Debugger. + (See [Getting Started](A1-GettingStarted.md) to review launching with custom parameters.) +1. Ensure your breakpoint at `srand` is enabled. +1. Use **`CTRL`-`A`** to Select All the addresses. +1. Click the refresh Refresh button. + **NOTE**: It is normal for some errors to occur here. + We note a more surgical approach below. +1. Wait a moment for the capture to finish. +1. Optionally, press **`CTRL`-`SHIFT`-`N`** to rename the snapshot so you can easily identify it later, e.g., "Initial snapshot." + Alternatively, edit the snapshot's Description from the table in the Time window. +1. Press ![resume](images/resume.png) Resume, expecting it to break at `srand`. +1. Capture another full snapshot using Select All and Refresh. +1. Click the ![compare](images/table_relationship.png) Compare button in the Dynamic Listing. +1. In the dialog, select the first snapshot you took. + + ![The compare times dialog](images/Navigation_DialogCompareTimes.png) + +1. Click **OK**. + +The result is a side-by-side listing of the two snapshots with differences highlighted in orange. +Unlike the Static program comparison tool, this only highlights differences in *byte* values. +You can now use the Next and Previous Difference buttons in the Dynamic Listing to find the variable. + +![The listing with comparison](images/Navigation_CompareTimes.png) + +Notice that you see the command-line specified value 15 on the left, and the default value 10 on the right. +This confirms we have very likely found the variable. + +**NOTE**: Using Select All to create your snapshots can be a bit aggressive. +Instead, we might guess the variable is somewhere in the `.data` section and narrow our search. +For one, including so much memory increases the prevalence of false positives, not to mention the wasted time and disk space. +Second, many of the pages in the memory map are not actually committed, leading to tons of errors trying to capture them all. +Granted, there are use cases where a full snapshot is appropriate. +Some alternatives, which we will cover in the [Memory Map](A6-MemoryMap.md) module, allow you to zero in on the `.data` section: + +* Use the Memory Map window (borrowed from the CodeBrowser) to navigate to the `.data` section. + The Dynamic Listing will stay in sync and consequently capture the contents of the first page. + This specimen has a small enough `.data` section to fit in a single page, but that is generally not the case in practice. +* If there are more pages, use the Regions window. Click the **Select Rows** then the **Select Addresses** buttons to expand the selection to the whole region containing the cursor. + Then click **Read Memory** in the Dynamic Listing. + This will capture the full `.data` section, no matter how many pages. +* Alternatively, Use the Modules window to select `termmines` and load its sections. + (Not all debuggers support this.) + Click the **Show Sections Table** button in the local toolbar to enable the lower pane. + Use the Sections table to select the addresses in the `.data` section, then click **Read Memory** in the Dynamic Listing. + This will also capture the full `.data` section. + +### Exercise: Find the Time + +In `termmines`, unlike other Minesweeper clones, your score is not printed until you win. +Your goal is to achieve a remarkable score by patching a variable right before winning. +Considering it is a single-threaded application, take a moment to think about how your time might be measured. +**TIP**: Because you will need to play the game, you should enable **Inferior TTY** in the launcher. +Use the snapshot comparison method to locate the variable. +Then place an appropriate breakpoint, win the game, patch the variable, and score 0 seconds! + +If you chose a poor breakpoint or have no breakpoint at all, you should still score better than 3 seconds. +Once you know where the variable is, you can check its XRefs in the Static Listing and devise a better breakpoint. +You have completed this exercise when you can reliably score 0 seconds for games you win. + +**NOTE**: If you are following and/or adapting this course using a different specimen, the timing implementation and threading may be different, but the technique still works. diff --git a/sources/GhidraDocs/GhidraClass/Debugger/A6-MemoryMap.md b/sources/GhidraDocs/GhidraClass/Debugger/A6-MemoryMap.md new file mode 100644 index 0000000..f8f3e27 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/A6-MemoryMap.md @@ -0,0 +1,180 @@ +--- +status: collected +title: Memory Map +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugger/A6-MemoryMap.md +--- + +# Memory Map + +This modules assumes you know how to launch `termmines` in Ghidra using GDB, and know where to find the basic Debugger GUI components. +If not, please refer to the previous modules. + +This module will address the following features in more depth: + +* The Regions window +* The Modules window +* The Static Mappings window + +If you do not have an active session, please launch `termmines` in the Debugger. + +## Regions + +![Regions window after launch](images/MemoryMap_RegionsAfterLaunch.png) + +The Regions window displays a list of all the memory regions known to the back-end debugger. +In practice, not all targets will report this information. +The nearest analog from the CodeBrowser is the Memory Map window. +Unlike the Memory Map window, the Regions window includes all regions mapped to external modules, as well as regions allocated for stacks, heaps, or other system objects. +The columns are: + +* The **Name** column gives the name of the region. + For file-backed mappings, this should include the name of the file. + It may or may not include a section name. + Typically, the name will include the start address to avoid collisions. +* The **Start** column gives the minimum address of the region. +* The **End** column gives the maximum (inclusive) address of the region. +* The **Length** column gives the number of bytes in the region. +* The **Read**, **Write**, and **Execute** columns give the permissions of the region. + +Try using the filter and column headers to sift and sort for interesting regions. +Double-click the start or end address to navigate to them in the Dynamic Listing. +Select one or more regions, right-click, and choose **Select Addresses**. +That should select all the addresses in those regions in the Dynamic Listing. +Used with the **Read Memory** button in the Dynamic Listing, you can selectively capture memory into the current snapshot. + +## Modules + +![Modules window after launch](images/MemoryMap_ModulesAfterLaunch.png) + +The Modules window has two panes, though the second is disabled by default. +The top pane displays a list of all the *modules* known to the back-end debugger. +The bottom pane displays a list of all the *sections* known to the back-end debugger. +In practice, not all targets will report module information. +Fewer targets report section information, and those that do may only report them to Ghidra when specifically requested. +The nearest analog to the bottom panel from the CodeBrowser is (also) the Memory Map window. +The top panel has no real analog; however, the tabs above the Static Listing pane serve a similar purpose. + +For a target that reports section information, the bottom panel will display a lot of the same information as the Regions window. +The columns differ slightly, and the sections panel will *not* include stacks, heaps, etc. + +The module columns are: + +* The **Base** column gives the image base for the module. + This should be the minimum address of the module. +* The **Max** column gives the maximum address of the module. +* The **Name** column gives the (short) name of the module. +* The **Mapping** column gives the mapped Ghidra program database for the module. +* The **Length** column gives the distance between the base and max address (inclusive). + Note that not every address between base and max is necessarily mapped to the module. + ELF headers specify the load address of each section, so the memory footprint usually has many gaps. + +See the Help (press **`F1`** in the Modules panel) to learn more about the Sections table, if desired. +It can be enabled using the **Show Sections Table** button in the local toolbar. + +Double-click any address to navigate to it. +Make a selection of modules or sections, right-click, and choose **Select Addresses**. +Again, combined with the Dynamic Listing's **Read Memory** button, you can capture memory selectively. + +## Optional Exercise: Find the Time Surgically + +Repeat the "Find the Time" exercise from the previous module, but use the Modules and Regions windows to form a more surgical selection for capturing into the snapshots. + +## Static Mappings + +The Static Mappings window provides user access to the trace's static mapping table. +There are two ways to open the window: + +1. In the menu: **Window → Debugger → Static Mappings**. +1. From the Modules window, click Map Manually in the local toolbar. + +![Static mappings window after launch](images/MemoryMap_StaticMappingAfterLaunch.png) + +Each row in the table is a range of mapped addresses. +The columns are: + +* The **Dynamic Address** column gives the minimum dynamic address in the mapped range. +* The **Static Program** column gives the Ghidra URL of the static image. +* The **Static Address** column gives the minimum static address in the mapped range. +* The **Length** column gives the number of bytes in the range. +* The **Shift** column gives the difference in address offsets from static to dynamic. +* The **Lifespan** column gives the span of snapshots for which this mapped range applies. + +The Ghidra Debugger relies heavily on Module information to synchronize the listings and to correlate its static and dynamic knowledge. +Instead of using the module list directly for this correlation, it populates a *static mapping* table. +This permits other sources, including user overrides, to inform the correlation. +By default, whenever a new program is opened and/or imported, the Debugger will attempt to match it to a module in the trace and map it. +Furthermore, when you navigate to an address in a module that it is not yet mapped to a program, it will search your project for a match and open it automatically. +You may notice the two address columns, as well as the shift column. +This illustrates that the Debugger can recognize and cope with module relocation, especially from ASLR. + +There are many ways to manually override the mappings: + +* From the Modules window, select one or more modules, and choose from the **Map Module** actions. + Selecting a single module at a time, it is possible to surgically map each to a chosen program. +* From the Sections panel, select one or more sections, and choose from the **Map Section** actions. + This is certainly more tedious and atypical, but it allows the surgical mapping of each section to a chosen memory block from among your open programs. +* From the Regions window, select one or more regions, and choose from the **Map Region** actions. +* Click the **Map Identically** button in the Modules window toolbar. +* Use the **Add** and **Remove** buttons in the Static Mappings window toolbar. + +These methods are not described in detail here. +For more information, hover over the relevant actions and press **`F1`** for help. + +## Moving Knowledge from Dynamic to Static + +There are occasions when it is necessary or convenient to transfer data or markup from the dynamic session into a static program database. +For example, suppose during experimentation, you have placed a bunch of code units in the Dynamic Listing. +You might have done this because the memory is uninitialized in the Static Listing, and you preferred some trial and error in the Dynamic Listing, where the memory is populated. +In this case, you would want to copy those code units (though not necessarily the byte values) from the Dynamic Listing into the Static Listing. +After selecting the units to copy, you would use **Debugger → Copy Into Current Program** in the menus. + +In another example, you might not have an on-disk image for a module, but you would still like to perform static analysis on that module. +In this case, you would want to copy everything within that module from the dynamic session into a program database. +After selecting the addresses in that module, you would use **Debugger → Copy Into New Program**. + +For demonstration, we will walk through this second case, pretending we cannot load `libncurses` from disk: + +1. In the top pane of the Modules window, right-click `libncurses` and choose **Select Addresses**. + (Do not click **Import From File System**, since we are pretending you cannot.) +1. Change focus to the Dynamic Listing. +1. In the global menu, choose **Debugger → Copy Into New Program**. + + ![Copy dialog for ncurses](images/MemoryMap_CopyNcursesInto.png) + +1. Keep **Destination** set to "<New Program>." +1. Ensure **Read live target's memory** is checked. + This will spare you from having to create a full snapshot manually. +1. Do *not* check **Use overlays where blocks already exist**. + It should not have any effect for a new program, anyway. +1. It is probably best to include everything, though **Bytes** is the bare minimum. +1. The table displays the *copy plan*. + For a new program, this will copy with an identical mapping of addresses, which is probably the best plan, since the target system has already applied fixups. + Do not change any addresses, lest your corrupt references in the copy. +1. Click **Copy**. +1. When prompted, name the program `libncurses`. +1. You may need to click the `termmines` tab in the Static Listing to get the UI to completely update. +1. Click back over to `libncurses` and save the program. + If you are prompted to analyze, go ahead. + +Undoubtedly, we would like to map that new program into our dynamic session. + +1. Ensure that the new `libncurses` capture is still the current program. +1. In the top pane of the Modules window, right-click `libncurses` and choose **Map to libncurses**. +1. Check the proposed mapping and click **OK**. + +## Exercise: Export and Map `ncurses` + +Repeat this technique for the "system-supplied DSO" module. +In practice, there is no real reason to do this, but this particular module prevents you from using **Import From File System**. + +## Exercise: Cheat Like the Devs + +This concludes the portion on the basic features of the Ghidra Debugger. +Now, let's put your new knowledge to good use! + +The developers left a cheat code in `termmines`. +Your goal is to figure out the cheat code, determine what it does, and describe how it is implemented. +If you have already stumbled upon this cheat, you must still explain how it is implemented. diff --git a/sources/GhidraDocs/GhidraClass/Debugger/B1-RemoteTargets.md b/sources/GhidraDocs/GhidraClass/Debugger/B1-RemoteTargets.md new file mode 100644 index 0000000..3a59f5a --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/B1-RemoteTargets.md @@ -0,0 +1,226 @@ +--- +status: collected +title: Remote Targets +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugger/B1-RemoteTargets.md +--- + +# Remote Targets + +This is the first module of the Advanced part of this course. +It assumes you have completed the Beginner portion. +At the very least, you should complete [Getting Started](A1-GettingStarted.md) and [A Tour of the Debugger UI](A2-UITour.md) first. + +## Module Mapping Caveats + +Beware! +Many of the conveniences in Ghidra assume that the target is running from the same file system as Ghidra, which will not be the case when the target is remote. +Be sure your current project is populated only with programs imported from the target's file system. +Additionally, if prompted to import something new, be sure to redirect to the remote file system, because the dialog will default to the path on the local file system. + +## Variation in Configuration + +There are a number of configurations for remote debugging with many moving parts. +Some of those parts are contributed by Ghidra's Debugger, some are not. +Depending on your particular target and platform, there may be several options available to you. +Consider a remote Linux target in user space. +While this list is not exhaustive, some options are: + + * Use `gdbserver` over SSH + * Use Trace RMI over SSH + * Use `gdbserver` and connect to it manually + * Connect Trace RMI manually + +Generally, for each of these options it boils down to which components will be colocated with the target and which will be colocated with Ghidra. + +## Using `gdbserver` over SSH + +In this configuration, Ghidra and GDB will be located in the user's local environment, while `gdbserver` and the specimen will be located in the target environment. +We will connect the local `gdb` to the remote `gdbserver` by forwarding stdio over SSH. + +1. First, prepare the target, which for demonstration purposes has the IP address 10.0.0.1. + Generally, this just means booting it up and ensuring it has `gdbserver` installed. + **NOTE**: You do not need to run `gdbserver` or the target binary. + The launcher will do that for you. +1. From the launch menu, select **gdb + gdbserver via ssh**. + + ![Connect dialog for gdb + gdbserver via ssh](images/RemoteTargets_GdbPlusGdbserverViaSsh.png) + +1. Read the wall of text, at least the first time, and verify the remote system is prepared. +1. Fill out the options appropriately. + Notably, correct the location of the target image to point at its location on the *target* system. + Enter "user@10.0.0.1" for the **[User@]Host** option, substituting your username for the remote system. +1. Click **Launch**. + +At this point, most things will work the same as they would for a local target. + +## Using Trace RMI over SSH + +In this configuration, Ghidra will be located in the user'ls local environment, while `gdb` and the specimen will be located in the target environment. +Notice that we are *not* using `gdbserver`. +We will connect the local Ghidra to the remote `gdb` by forwarding Trace RMI over SSH. +See the help (press **`F1`** on the **gdb via ssh** menu item for advantages and disadvantages of using this vs. `gdbserver`.) + +1. First, prepare the target. + This is more involved than using `gdbserver`, since you will need to ensure `gdb` and the Trace RMI plugin for it are installed. + The packages, which should be included with Ghidra, are `ghidratrace` and `ghidragdb`, but you may need to build them first. + If you installed `gdb` and `python3` from your distribution's repositories, installation of the Python packages should be straightfoward. + Search the Ghidra installation for files ending in `.whl`. + If the `ghidratrace` and `ghidragdb` packages are there, you can skip this build step and just transfer them to the target. + On the local system: + + ```bash + python3 -m pip install build # unless you already have it + cd /path/to/ghidra/Ghidra/Debug/Debugger-rmi-trace/pypkg + python3 -m build + ``` + + This will output `.tar.gz` and `.whl` files under `pypkg/dist`. + Do the same for `Debugger-agent-gdb/pypkg`. + Transfer the resulting `.whl` files to the target, then on the target system: + + ```bash + python3 -m pip install /path/to/ghidratrace-[version].whl /path/to/ghidragdb-[version].whl + ``` + + If you are offline, the dependencies are included in the `pypkg/dist` directory for each module. + Transfer and install them, too. + You may try `python -m pip install --no-index -f /path/to/packages ghidragdb`, if all the packages and dependencies are in the one directory. + Chances are, GDB embeds the same Python, so they become importable from GDB. + Test using `gdb` on the target system: + + ```gdb + python import ghidragdb + ``` + + No news is good news! + You can quit GDB, since that was just for verifying the installation. + +1. From the launch menu, select **gdb via ssh**. + + ![Connect dialog for gdb via SSH](images/RemoteTargets_GdbViaSsh.png) + +1. Fill out the options appropriately. + Notably, correct the location of the target image to point at its location on the *target* system. + Enter "user@10.0.0.1" for the **[User@]Host** option, substituting your username for the remote system. +1. Click **Launch**. + +At this point, most things will work the same as they would for a local target. + +### Troubleshooting + +#### I can't find the Python packages to install + +You may need to build them using the instructions above. +The dependencies are included in the Ghidra installation, but perhaps something has gone missing. +Search for files ending in `.whl` or `.tar.gz`; they should be located in `pypkg/dist` in various modules. +If you are able to do local debugging with Ghidra and `gdb`, then the source is definitely present and functioning. +To (re-)build the packages from source: + +```bash +python3 -m pip install build +cd /path/to/ghidra/Ghidra/Debug/Debugger-rmi-trace/pypkg +python3 -m build +``` + +This should output a `.tar.gz` and a `.whl` file under `pypkg/dist`. +Send the `.whl` over to the target system and `pip install` it. +Do the same for Debugger-agent-gdb. +If that doesn't work, then in the worst case, copy the Python source over and add it to your `PYTHONPATH`. + +#### The `python import ghidragdb` command fails + +Double-check that you have installed all the required packages and their dependencies. +A common forgotten or incorrectly-versioned dependency is `protobuf`. +We developed using `protobuf==3.20.3`. +Its "sdist" package is distributed with Ghidra under `Debugger-rmi-trace/pypkg/dist` for your convenience. + +It is also possible that `gdb` has embedded a different version of the interpreter than the one that `python3` provides. +This can happen if you built GDB or Python yourself, or you installed them from a non-standard repository. +Check the actual path of the Python library used by `gdb`: + +```bash +ldd $(which gdb) +``` + +Or, inside `gdb`: + +```gdb +(gdb) python-interactive +>>> import sys +>>> sys.version +``` + +Suppose this identifies version 3.9. +Retry the installation commands using `python3.9 -m pip ...`. +If you have multiple copies of the same version in different locations, you may need to invoke `python3` using its complete path. + +In the worst case, copy the Python source over and add it to your `PYTHONPATH`. + +## Using `gdbserver` manually + +The configuration and result here are similar using `gdbserver` over SSH, but will be performed manually. + +1. First, prepare the target. + This time, you will need to start `gdbserver` on the remote system manually. + For demonstration, we will listen on 10.0.0.1 port 12345: + + ```bash + gdbserver 10.0.0.1:12345 termmines + ``` + +1. From the launch menu, select **remote gdb**. +1. Fill out the options appropriately. + Notably, enter "10.0.0.1" for the **Host** option, and "12345" for the **Port** option. +1. Click **Launch**. + +At this point, most things will work the same as they would for a local target. + +## Connecting Trace RMI manually + +The configuration and result here are similar to using Trace RMI over SSH, but will be performed manually. + +1. First, prepare the target. + Follow the same installation steps as above for Trace RMI over SSH, if you have not already. +1. In Ghidra's Connections window, click **Accept a single inbound TCP connection** in the local toolbar. + + ![TraceRMI Accept Dialog](images/RemoteTargets_AcceptTraceRmi.png) + +1. Set **Host/Address** to "10.0.0.1", so that we can connect to it over the network. + **NOTE**: You may leave the port as "0" or pick a specific port, assuming you have permission to use it. +1. Click **Listen**, and then take note of the acceptor's port number in the Connections window, e.g., "12345." +1. Now, on the remote system, start `gdb` and type: + + ```gdb + python import ghidragdb + file termmines + # set args, if you'd like + ghidra trace connect 10.0.0.1:12345 + ghidra trace start + ghidra trace sync-enable + starti + ``` + +At this point, most things will work the same as they would for a local target. +You may notice Ghidra has not given you a new terminal. +Just use the one you already have on the remote target. + +A notable advantage of this configuration is that you can enter whatever `gdb` commands you want to start your target. +Here we demonstrated the simplest case of a "native" target. +It is also possible to use this procedure to connect Ghidra into a running `gdb` session. + +## Rube Goldberg Configurations + +While you should always prefer the simpler configuration, it is possible to combine components to meet a variety of needs. +For example, to debug a native Android target from Windows, you could run Ghidra on Windows, connect it to GDB via SSH to a Linux virtual machine, e.g., WSL2, and then connect that to `gdbserver` running in an Android emulator. + +## Exercise: Debug your Friend's `termmines` + +If you are in a classroom setting, pair up. +Otherwise, play both roles, preferably using separate machines for Ghidra and the target. +Using one of the above procedures, debug `termmines`. +One of you should prepare the target environment. +The other should connect to it and launch the specimen. +Then trade roles, choose a different procedure, and do it again. diff --git a/sources/GhidraDocs/GhidraClass/Debugger/B2-Emulation.md b/sources/GhidraDocs/GhidraClass/Debugger/B2-Emulation.md new file mode 100644 index 0000000..24aa4e5 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/B2-Emulation.md @@ -0,0 +1,502 @@ +--- +status: collected +title: Emulation +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugger/B2-Emulation.md +--- + +# Emulation + +Emulation is a bit of a loaded term, unfortunately. +Most of the confusion deals with the scope of the emulated target. +Do you just need to step through a few instructions, or a whole function? +Do you need to include external modules? +Do you need to simulate system calls? +Do you need to simulate connected devices? +Most of Ghidra's GUI-accessible emulation features focus on the smaller scope, though it does provide programming interfaces for advanced users to extend that scope. +Those more advanced features are covered in [Modeling](B4-Modeling.md). + +This module assumes you have completed the Beginner portion of this course. + +## P-code Emulation and Caveats + +Ghidra's emulator uses the same p-code as is used by the decompiler. +P-code describes the semantics of each instruction by constructing a sequence of p-code operations. +The p-code specifications for most of Ghidra's languages were designed with decompilation, not necessarily emulation, in mind. +While in most cases, p-code for decompilation suffices for emulation, there are cases where design decisions were made, e.g., to keep decompiler output simple, that makes them less suitable for emulation. +This may manifest, e.g., in an excess of user-defined p-code ops, or *userops*. +The [Modeling](B4-Modeling.md) module discusses ways to implement or stub those userops in the emulator. +Some processor modules provide those stubs "out of the box." +If the emulator ever halts with an "unimplemented userop" message, then you have run into this problem. + +## Use Cases + +As already hinted at the start of this module, there are several use cases for emulation, and Ghidra tries to meet these cases by integrating emulation into the Debugger UI. +Some of the use cases accessible from the UI are: + +* Extrapolation and interpolation of a live target. +* Emulation of a program image. +* P-code semantics debugging. + +We will explore each case with a tutorial and exercise. + +## Extrapolation and Interpolation + +This is perhaps the easiest use case, assuming you already have started a live session. +*Extrapolation* is predicting execution of the target into the future, without allowing the actual target to execute. +Instead, we will allow an emulator to step forward, while reading its initial state from the live target. +This allows you, e.g., to experiment with various patches, or to force execution down a certain path. +If you devise a patch, you can then apply it the live target and allow it to execute for real. +*Interpolation* is similar, but from a snapshot that is in the past. +It can help answer the question, "How did I get here?" +It is more limited, because missing state for snapshots in the past cannot be recovered. + +In this tutorial, we will examine the command-line argument parser in `termmines`. + +1. Launch `termmines` using GDB in the Ghidra Debugger. +1. If you have not already, do a bit of static analysis to identify the argument parsing function. + It should be the first function called by `main`. +1. Use a breakpoint to interrupt the live target when it enters this function. +1. Change the **Control mode** drop-down to **Control Emulator**. +1. Click ![step into button](images/stepinto.png) **Step Into** to step the emulator forward. +1. Click ![skip over button](images/skipover.png) **Skip Over** and ![step back button](images/stepback.png) **Step Back** to experiment with different execution paths. + +About those two new actions: + +* ![skip over button](images/skipover.png) **Skip Over**: + Step the current thread by skipping one instruction. +* ![step back button](images/stepback.png) **Step Back**: + Step the current thread backward one instruction, or undo an emulated skip or patch. + +**Quick Exercise**: Try to get the program counter onto the call to `exit(-1)` using only those three step buttons. + +You should see things behave more or less the same as they would if it were the live target. +The main exception is the Terminal window. +It always displays the state of the live target, as it is unaware of the emulator. +You can make changes to the emulator's machine state, set breakpoints, etc., just as you would in **Control Target** mode. +**NOTE**: You may see Ghidra interact with the target, despite being in **Control Emulator** mode, because Ghidra lazily initializes the emulator's state. +If the emulated target reads a variable that Ghidra has not yet captured into the current snapshot, Ghidra will read that variable from the live target, capture it, and provide its value to the emulator. + +### Stepping Schedules + +If you had not noticed before, the subtitle of the Threads window gives the current snapshot number. +If you have stepped in the emulator, it will also contain the sequence of steps emulated. +Recall the *time* element of the Debugger's *coordinates*. +(See the [Navigation](A5-Navigation.md) module if you need a refresher.) +The time element, called the *schedule*, consists of both the current snapshot and the sequence of steps to emulate. +The subtitle displays that schedule. +If you have done any patching of the emulator's state, you may notice some more complicated "steps" in the schedule. +The syntax is: + +* *Schedule* → *Snapshot* \[ `:` \[ *Step* ( `;` *Step* ) \* \] \[ `.` *Step* ( `;` *Step* ) \* \] \] +* *Step* → [ `t` *Id* `-` ] ( *Tick* | *Skip* | *Patch* ) +* *Tick* → *Count* +* *Skip* → `s` *Count* +* *Patch* → `{` *SleighStmt* `}` + +In essence, the schedule is the starting snapshot, followed by zero or more machine-instruction steps followed by zero or more p-code-operation steps. +Each step is optionally preceded by a thread id. +If omitted, the thread id is the same as the previous step. +If the first step has no thread id, it applies to the snapshot's event thread. +A plain number indicates the number of instructions or operations to execute. +An `s` prefix indicates skip instead of execute. +Curly braces specify a patch using a single Sleigh statement. +Here are some examples: + +* `0` — The first snapshot in the trace. +* `3` — Snapshot number 3. +* `3:10` — Emulate 10 machine instructions on the event thread, starting at snapshot 3. +* `3:t1-10` — Same as above, but on the second thread rather than the event thread. +* `3:10;t1-10` — Start at snapshot 3. Step the event thread 10 instructions. Step the second thread 10 instructions. +* `3:10.4` — Start at snapshot 3. Step the event thread 10 instructions then 4 p-code ops. +* `3:{RAX=0x1234};10` — Start at snapshot 3. Override RAX with 0x1234, then step 10 instructions. + +The explication of schedules allows Ghidra to cache emulated machine states and manage its emulators internally. +You can have Ghidra recall or generate the machine state for any schedule by pressing **`CTRL`-`G`** or using **Debugger → Go To Time** in the menus. + +Assuming you got the program counter onto `exit(-1)` earlier: + +1. Write down the current schedule. +1. Change back to **Control Target** mode. + Ghidra will navigate back to the current snapshot, so PC will match the live target. +1. Change back (again) to **Control Emulator** mode. +1. Press **`CTRL`-`G`** and type or paste the schedule in, and click **OK**. + The program counter should be restored to `exit(-1)`. + +**NOTE**: The thread IDs used in schedules are internal to the current trace database. +Most likely, they *do not* correspond to the thread IDs assigned by the back-end debugger. + +### Exercise: Demonstrate the Cell Numbers + +The board setup routine in `termmines` first places mines randomly and then, for each empty cell, counts the number of neighboring cells with mines. +In this exercise, you will use extrapolation to experiment and devise a patch to demonstrate all possible counts of neighboring mines: + +1. Launch `termmines` using GDB with **Inferior TTY** enabled. +1. Use a breakpoint to trap it at the point where it has placed mines, but before it has counted the neighboring cells with mines. + (Use **`SHIFT`-`R`** in `termmines` to reset the game.) +1. Use the emulator to extrapolate forward and begin understanding how the algorithm works. +1. Move the mines by patching the board to demonstrate every number of neighboring mines. + That is, when the board is revealed at the end of the game, all the numbers 1 through 8 should appear somewhere. +1. Use extrapolation to debug and test your patch. +1. Once you have devised your patch, apply it to the live target. + (Copy-Paste is probably the easiest way to transfer the state from emulator to target.) + +## Emulating a Program Image + +This use case allows you to load "any" Ghidra program database into the emulator, without a back-end debugger, host environment, or other dependencies. +The result and efficacy of this method depends greatly on what is captured in the program database. +When Ghidra imports an ELF file, it simulates the OS's loader, but only to a degree: +It places each section at its load memory address, it applies relocation fixups, etc. +The resulting program database is suitable for emulating that image, but in relative isolation. +It is probably not possible to load a library module into that same database nor into the same emulator and expect proper linkage. +Ghidra's loaders often "fix up" references to external symbols by allocating a special `EXTERNAL` block, and placing the external symbols there. +There is (currently) no means to re-fix up. +If, however, you import a firmware image for an embedded device, or a memory dump of a process, then the image may already have all the code and linkage necessary. + +It is too tedious to categorize every possible situation and failure mode here. +When you encounter an error, you should diagnose it with particular attention to the contents of your program image, and how it expects to interact with its environment: the host system, connected hardware, etc. +The UI has some facilities to stub out dependencies, but if you find yourself creating and applying an extensive suite of stubs, you may want to consider [Modeling](B4-Modeling.md). +This allows you to code your stubs into a library, facilitating re-use and repeatability. + +Emulation need not start at the image's designated entry point. +In this tutorial, we will examine the command-line argument parsing routine. + +1. Ensure you have no active targets in the Debugger, but have `termmines` open in the Static listing. +1. Go to the entry of the command-line argument parsing function. +1. Right-click its first instruction and select **Emulate Program in New Trace**. + +This will map the program into a new trace. +Technically, it is not actually loaded into an emulator, yet, because Ghidra allocates and caches emulators as needed. +Instead, what you have is a single-snapshot trace without a live target. +The initial state is snapshot 0, and emulation is started by navigating to a schedule, just like in extrapolation. +You might be unnerved by the apparently empty and stale Dynamic listing: + +![Stale listing upon starting pure emulation](images/Emulation_LazyStaleListing.png) + +This is perhaps more a matter of preference, but by default, Ghidra will only populate the Dynamic listing with state initialized by the emulator itself. +When the emulator reads, it will "read through" uninitialized state by reading the mapped program image instead. +This spares the loader from having to copy a potentially large program image into the emulator. +In general, you should refer to the Static listing when following the program counter. +If you see contents in the Dynamic listing following the program counter, then you are probably dealing with self-modifying code. + +**NOTE**: If you prefer to see the Dynamic listing initialized with the program image, you may select **Load Emulator from Program** from the **Auto-Read** drop-down button in the Dynamic Listing. +The loading is still done lazily as each page is viewed in the listing pane. +You will want to change this back when debugging a live target! + +Because we can easily step back and forth as well as navigate to arbitrary points in time, emulation should feel relatively free of risk; however, the point about stubbing dependencies will become apparent. +If you feel the need to start over, there are two methods: +First, you can end the emulation session and restart it. +To end the session, close the "Emulate termmines" tab in the Dynamic Listing window. +You can then restart by right-clicking the first instruction as before. +Second, you can use **`CTRL`-`G`** to go to snapshot 0. +This method is not as clean as the first, because the trace will retain its scratch snapshots. + +Press ![resume button](images/resume.png) **Resume** to let the emulator run until it crashes. +It should crash pretty quickly and without much ceremony: + +![Listing after crashing](images/Emulation_ListingAfterResume.png) + +In this case, the clearest indication that something has gone wrong is in the top-right of the Dynamic Listing. +Recall that the location label is displayed in red when the program counter points outside of mapped memory. +Presumably, the crash was caused by the instruction to be executed next. +To get details about the error, press ![step into button](images/stepinto.png) **Step Into**. +This should display an error dialog with a full trace of the crash. +In this case, it should be an instruction decode error. +When the emulator reads uninitialized memory, it will get stale 0s; however, when the emulator tries to *execute* uninitialized memory, it will crash. +Most likely, the target called an external function, causing the program counter to land in the fake `EXTERNAL` block. + +To diagnose the crash, press ![step back button](images/stepback.png) **Step Back**. +After a couple steps back, you should be able to confirm our hypothesis: we got here through a call to the external function `printf`. +You can continue stepping back until you find the decision point that took us down this path. +You should notice it was because `param_1` was 0. +The decompiler can help you recognize that at a glance, but you will still want to use the disassembly to get at precisely the deciding instruction. +The `JZ` (or other conditional jump) is too late; you need to step back to the `TEST EDI,EDI` (or similar) instruction. +(This may, ironically, be the first instruction of the function.) +In the System V AMD64 ABI (Linux x86-64 calling conventions) `RDI` is used to pass the first parameter. +You can hover your mouse over `param_1` in the Decompiler, and it will tell you the location is `EDI:4`, and that its current value is a stale 0. + +### Initializing Other State + +We had just started executing the target function arbitrarily. +Ghidra takes care of a minimal bit of initialization of the trace to start emulation. +Namely, it maps the image to its preferred base. +It allocates space for the main thread's stack and initializes the stack pointer. +Finally, it initializes the program counter. + +It is still up to you to initialize any other state, especially the function's parameters. +Clearly, we will need to initialize `param_1`. +We may need to do a little static analysis around the call to this function to understand what those parameters are, but you could probably make an educated guess: +`param_1` is `argc` and `param_2` is `argv`. +We might as well initialize both. +Luckily, we have plenty of memory, and given the small scope of emulation, we can probably place the strings for `argv` wherever we would like. + +You may prefer to apply patches to the trace database or to the emulator. +The advantage to patching in the emulator is that once you have completed your experiments, you can readily see all of the steps that got you to the current machine state, including all patches. +The disadvantage is that if you have extensive patches, they will pollute the stepping schedule, and things can get unwieldy. + +Alternatively, you can perform the patches in the trace. +When you launched the emulated target, all Ghidra really did was initialize a trace database. +The advantage to patching the trace is that once you have completed your experiments, you will have your initial state captured in a trace snapshot. +The disadvantage is that you will need to remember to invalidate the emulator cache any time you change the initial state. +For this tutorial, we will perform the patches in the emulator. + +**NOTE**: If you wish to try patching the trace, then change to **Control Trace** mode and use the **Navigate backward one snapshot** control action that appears, so that you are patching the initial state, and not a scratch snapshot. +Scratch snapshots are ephemeral snapshots in the trace used to display emulated state. +Changes to these snapshots will affect the display, but will not affect subsequent emulation. +If your current schedule includes any steps, then **Control Trace** is patching a scratch snapshot. + +Now, we will manually "allocate" memory for `argv`. +Luckily, Ghidra allocated 16K of stack space for us! +The target function should not need a full 16K, so we will allocate the lowest addresses of the stack region for our command-line arguments. +If you prefer, you may use the **Add Region** action in the Regions window to manually fabricate a heap region, instead. +In the Regions window, filter for "stack" and take note of the start address, e.g., `00001000`. +We will use the Watches window to perform our patching, though we will also use the Dynamic Listing to double check. +Add the following watches: + +* `RSP` — to confirm the stack pointer is far from `argv`. +* `RDI` — the location of `param_1`, i.e., `argc`. +* `RSI` — the location of `param_2`, i.e., `argv`. + +To start, we will just try to return successfully from the parser. +From the behavior we have observed, it requires at least `argv[0]` to be present. +Conventionally, this is the name of the binary as it was invoked from the shell, i.e., `termmines`. +There are few reasons a UNIX program might want to examine this "argument." +First, if the binary actually implements many commands, like `busybox` does, then that binary needs to know the actual command. +Second, if the binary needs to print usage information, it may like to echo back the actual invocation. +It is possible we may only need to initialize `argc`, since the parser may not actually *use* the value of `argv[0]`. + +Use the Watches window to set `RDI` to 1, then click ![resume button](images/resume.png) **Resume**. +Like before, the emulator will crash, but this time you should see "pc = 00000000" in red. +This probably indicates success. +In the Threads window, you should see a schedule similar to `0:t0-{RDI=0x1);t0-16`. +This tells us we first patched RDI, then emulated 16 machine instructions before crashing. +When the parser function returned, it probably read a stale 0 as the return address, so we would expect a decode error at `00000000`. +Step backward once to confirm this hypothesis. + +### Stubbing External Calls + +For this tutorial, we will set the skill level to Advanced by patching in actual command-line arguments. +This continues our lesson in state initialization, but we may also need to stub some external calls, e.g., to `strnlen` and `strcmp`. +We will need to pass in `termmines -s Advanced`, which is three arguments. +Use **`CTRL`-`G`** to go back to snapshot 0, and add the following watches: + +* `*:8 (RSI + 0)` — the address of the first argument, i.e., `argv[0]`. +* `*:30 (*:8 (RSI + 0))` with type `TerminatedCString` — at most 30 characters of the first argument. +* `*:8 (RSI + 8)` — `argv[1]` +* `*:30 (*:8 (RSI + 8))` with type `TerminatedCString` — contents of `argv[1]` +* `*:8 (RSI + 16)` — `argv[2]` +* `*:30 (*:8 (RSI + 16))` with type `TerminatedCString` — contents of `argv[2]` + +![Watches for patching command-line arguments](images/Emulation_WatchesForCmdline.png) + +This will generate an extensive list of patch steps, so you may prefer to patch the trace in this case. +Set `RDI` to 3. +Notice that `argv[0]` is supposedly allocated at `00000000` according to the Address column for the watch on `*:8 (RSI + 0)`. +That was determined by the value of `RSI`, which is essentially telling us we need to allocate `argv`, an array of pointers. +We can confirm `RSP` is at the upper end of the stack region, so we allocate `argv` at `00001000`. +To do that, set the value of `RSI` to `0x1000`. +You should see the Address column update for some other watches. +You can double-click any of those addresses to go there in the Dynamic Listing. + +**NOTE**: You *do not have* to allocate things in a listed region, but if you want to see those things in the Dynamic Listing, it is easiest if you allocate them in a listed region. + +Now, we need to allocate space for each argument's string. +To ensure we do not collide with the space we have already allocated for `argv`, we should place a data unit in the Dynamic listing. +Double-click the Address `00001000` in the Watches window to go to that address in the Dynamic Listing. +Press **`P`** then **`[`** (left square bracket) to place a 3-pointer array at that address. +We can now see the next available byte is at `00001018`. +**NOTE**: You might set the Dynamic Listing to **Do Not Track**, otherwise it may seek back to the PC every time you patch. + +Now that we know where to put `argv[0]`, we need to patch it to `0x0001018`. +This should be the watch on `*:8 (RSI + 0)`. +When you modify the Value column, you can type either bytes (in little-endian order for x86) or the integer value `0x1018`. +That should cause the watch on `*:30 (*:8 (RSI + 0))` to get the address `00001018`. +Using the Repr column, set that watch's value to `"termmines"`. +(The quotes are required.) +Place a string in the Dynamic Listing using the **`'`** (apostrophe) key. +This shows us the next available address is `00001022`, so repeat the process to allocate `argv[1]` and set it to `"-s"`. +Then finally, allocate `argv[2]` and set it to `"Advanced"`. +When you have finished, the Watches pane should look something like this: + +![Watches for patching command-line arguments after setting](images/Emulation_WatchesForCmdlineSet.png) + +The Dynamic Listing should look something like this: + +![Listing after setting command-line arguments](images/Emulation_ListingForCmdlineSet.png) + +**NOTE**: The placement of data units is not necessary for the emulator to operate; it only cares about the bytes. +However, it is a useful aide in devising, understanding, and diagnosing machine state. + +Now, click ![resume button](images/resume.png) **Resume**, and see where the emulator crashes next. +Depending on your compilation of `termmines`, it may crash after returning, or it may crash trying to call `strnlen` or `strcmp`. +If the program counter is `00000000`, then it returned successfully. +This is unfortunate, because you no longer have motivation to stub external calls. + +If the program counter is not `00000000`, then step backward until you get to the `CALL`. +There are at least three techniques for overcoming this. + +1. You can skip the `CALL` and patch `RAX` accordingly. +1. You can override the `CALL` instruction using a Sleigh breakpoint. +1. You can override the call target using a Sleigh breakpoint. + +#### Skip Technique + +The skip technique is simplest, but will need to be performed *every time* that call is encountered. +Press ![skip over button](images/skipover.png) **Skip Over**, then use the Registers or Watches pane to patch `RAX`. +Then press ![resume button](images/resume.png) **Resume**. + +#### `CALL` Override Technique + +Overriding the `CALL` is also fairly simple. +While this will handle every encounter, it will not handle other calls to the same external function. + +1. Press **`K`** in the listing to place a breakpoint on the `CALL` instruction. +1. Now, in the Breakpoints panel, right-click the new breakpoint and select **Set Injection (Emulator)**. +1. This is the fun part: you must now implement the function in Sleigh, or at least stub it well enough for this particular call. + +Supposing this is a call to `strnlen`, you could implement it as: + +```sleigh {.numberLines} +RAX = 0; + +if (*:1 (RDI+RAX) == 0 || RAX >= RSI) goto ; +RAX = RAX + 1; +goto ; + +emu_skip_decoded(); +``` + +While Sleigh has fairly nice C-like expressions, it unfortunately does not have C-like control structures. +We are essentially writing a for loop. +The System V AMD64 ABI specifies RAX is for the return value, so we can just use it directly as the counter. +RDI points to the string to measure, and RSI gives the maximum length. +We initialize RAX to 0, and then check if the current character is NULL, or the count has exceeded the maximum length. +If so, we are done; if not, we increment RAX and repeat. +Finally, because we are *replacing* the semantics of the `CALL` instruction, we tell the emulator to skip the current instruction. + +For the complete specification of Sleigh, see the Semantic Section in the [Sleigh documentation](../../../Ghidra/Features/Decompiler/src/main/doc/sleigh.xml). +The emulator adds a few userops: + +* `emu_skip_decoded()`: Skip the current instruction. +* `emu_exec_decoded()`: Execute the current instruction. +* `emu_swi()`: Interrupt, as in a breakpoint. + +Some control flow is required in the Sleigh injection, otherwise, the emulator may never advance past the current instruction. +An explicit call to `emu_exec_decoded()` allows you to insert logic before and/or after the original instruction; however, if the original instruction branches, then the logic you placed *after* will not be reached. +An explicit call to `emu_skip_decoded()` allows you to omit the original instruction altogether. +It immediately falls through to the next instruction. +The `emu_swi()` userop allows you to maintain breakpoint behavior, perhaps to debug your injection. + +After you have written your Sleigh code: + +1. Click **OK** on the Set Injection dialog. +1. In the menus, select **Debugger → Configure Emulator → Invalidate Emulator Cache**. +1. Click ![resume button](images/resume.png) **Resume**. + +Stubbing any remaining external calls is left as an exercise. +You are successful when the emulator crashes with `pc = 00000000`. + +Clear or disable your breakpoint and invalidate the emulator cache again before proceeding to the next technique. + +#### Target Override Technique + +The target override technique is most thorough, but also the most involved. +It will handle all calls to the external function, e.g., `strnlen`, no matter the call site. +If the call goes through a program linkage table (PLT), then you are in luck, because the call target will be visible in the Dynamic Listing. +The PLT entry usually contains a single `JMP` instruction to the actual `strnlen`. +For real target processes, the `JMP` instruction will transfer control to a lazy linker the first time `strnlen` is called from `termmines`. +The linker then finds `strnlen` and patches the table. +In contrast, the Ghidra loader immediately patches the table to point to a fake `::strnlen` symbol. +The `EXTERNAL` block is not visible in the Dynamic Listing, so we will override the `JMP` in the PLT. + +The Sleigh code is nearly identical, but we must code an x86 `RET` into it. +Because we allow the `CALL` to execute normally, we must restore the stack. +Furthermore, we must return control back to the caller, just like a real x86 subroutine would. +We also no longer need `emu_skip_decoded()`, because the `RET` will provide the necessary control transfer. + +```sleigh {.numberLines} +RAX = 0; + +if (*:1 (RDI+RAX) == 0 || RAX >= RSI) goto ; +RAX = RAX + 1; +goto ; + +RIP = *:8 RSP; +RSP = RSP + 8; +return [RIP]; +``` + +Notice that we cannot just write `RET`, but instead must write the Sleigh code to mimic a `RET`. +As with the `CALL` override technique, you must now invalidate the emulator cache and resume. +Stubbing any remaining external functions is left as an exercise. +You are successful when the emulator crashes with `pc = 00000000`. + +### Wrapping Up + +As you can see, depending on the scope of emulation, and the particulars of the target function, emulating a program image can be quite involved. +Whatever technique you choose, once you have successfully returned from the command-line argument parser, you should check for the expected effects. + +In the Static Listing, navigate to the variable that stores the board's dimensions. +(Finding that variable is a task in the Beginner portion, but it can be found pretty easily with some manual static analysis.) +In the Dynamic Listing, you should notice that the values have changed to reflect the Advanced skill level. + +### Optional Exercise: Patch the Placement Algorithm + +In this exercise, you will use emulation to devise an assembly patch to `termmines` to change the mine placement algorithm. +Instead of random placement, please have them placed left to right, top to bottom. +We recommend you devise your patch using the Assembler (**Patch Instruction** action) in the Static Listing, then test and debug your patch using the Emulator. +Perhaps patch the Dynamic Listing to try quick tweaks before committing them to the Static Listing. +Once you have it, export the patched binary and run it outside of Ghidra. + +## Debugging P-code Semantics + +The last use case for emulation we will cover in this course is debugging p-code semantics. +This use case is a bit niche, so we will not cover it too deeply. +It is useful for debugging processor modules. +It is also useful in system modeling, since a lot of that is accomplished using Sleigh p-code. +Perhaps the most useful case related to this module is to debug Sleigh injections. + +Ghidra has a dedicated panel for stepping the emulator one p-code operation at a time. +This panel is not included in the default Debugger tool, so it must be configured: + +1. If you have not already, open the Debugger tool. +1. In the menus, select **File → Configure**. +1. Click the **Configure All Plugins** button in the top right of the dialog. +1. Activate the `DebuggerPcodeStepperPlugin` +1. Click **OK** +1. Click **Close** + +The stepper should appear stacked over the Threads panel in the bottom right. +Yours will probably still be empty, but here is what it looks like populated: + +![P-code stepper](images/Emulation_PcodeStepper.png) + +To populate it, you will need a session, either emulated or connected to a back-end debugger. +Use the buttons in the local toolbar to step p-code operations. +The first p-code op of any instruction is to decode the instruction. +Once decoded, the p-code listing (left panel) will populate with the ops of the decoded instruction. +If the current instruction is overridden by a Sleigh breakpoint, the listing will populate with the injected ops instead. +You can then step forward and backward within those. +As you step, the other windows that display machine state will update. + +In addition to registers and memory, p-code has *unique* variables. +These are temporary variables used only within an instruction's implementation. +They are displayed in the right panel. +The table of variables works similarly to the Registers pane. +The columns are: + +* The **Unique** column gives the variable's name and size in bytes. +* The **Bytes** column gives the variable's value in bytes. +* The **Value** column gives the variable's value as an integer, an interpretation of the bytes in the machine's byte order. +* The **Type** column allows you to assign a type. This is ephemeral. +* The **Repr** column gives the variable's value according to the assigned type. + +As you step, you may notice the schedule changes. +It is displayed in the stepper's subtitle as well as the Threads panel's subtitle. +P-code stepping is denoted by the portion of the schedule following the dot. +**NOTE**: You cannot mix instruction steps with p-code op steps. +The instruction steps always precede the p-code ops. +If you click **Step Into** from the global toolbar in the middle of an instruction, the trailing p-code op steps will be removed and replaced with a single instruction step. +In most cases, this intuitively "finishes" the partial instruction. diff --git a/sources/GhidraDocs/GhidraClass/Debugger/B3-Scripting.md b/sources/GhidraDocs/GhidraClass/Debugger/B3-Scripting.md new file mode 100644 index 0000000..f93277e --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/B3-Scripting.md @@ -0,0 +1,378 @@ +--- +status: collected +title: Debugger Scripting +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugger/B3-Scripting.md +--- + +# Debugger Scripting + +This module assumes you have completed the Beginner portion of this course, as well as the Scripting module of the Intermediate course. + +As with Ghidra Scripting, the primary use case we consider in this module is automation. +It also permits some one-off analysis of a live target or interacting with the dynamic target. +There are also some extension points useful for [Modeling](B4-Modeling.md) that are easily accessed in scripts for prototyping. + +The script development environment is set up exactly the same as it is for the rest of Ghidra. + +## The Debugger Scripting API + +To create a Debugger script, do as you normally would then append `implements FlatDebuggerAPI` to the script's class declaration, e.g.: + +```java {.numberLines} +import ghidra.app.script.GhidraScript; +import ghidra.debug.flatapi.FlatDebuggerAPI; + +public class DemoDebuggerScript extends GhidraScript implements FlatDebuggerAPI { + @Override + protected void run() throws Exception { + } +} +``` + +**NOTE**: The scripting API has been refactored a little since the transition from Recorder-based to TraceRmi-based targets. +Parts of the API that are back-end agnostic are accessible from the `FlatDebuggerAPI` interface. +Parts of the API that require a specific back end are in `FlatDebuggerRmiAPI` and `FlatDebuggerRecorderAPI`, the latter of which is deprecated. +If a script written for version 11.0.2 or prior is not compiling, it can most likely be patched up by changing `implements FlatDebuggerAPI` to `implements FlatDebuggerRecorderAPI`, but we recommend porting it to use `implements FlatDebuggerRmiAPI`. + +Technically, the Debugger's "deep" API is accessible to scripts; however, the flat API is preferred for scripting. +Also, the flat API is usually more stable than the deep API. +However, because the dynamic analysis flat API is newer, it may not be as stable as the static analysis flat API. +It is also worth noting that the `FlatDebuggerAPI` interface *adds* the flat API to your script. +The static analysis flat API is still available, and it will manipulate the static portions of the Debugger tool, just as they would in the CodeBrowser tool. +In this tutorial, we will explore reading machine state, setting breakpoints, waiting for conditions, and controlling the target. + +## Dumping the Game Board + +We will write a script that assumes the current session is for `termmines` and dumps the game board to the console, allowing you to cheat. +You can label your variables however you would like but, for this tutorial, we will assume you have labeled them `width`, `height`, and `cells`. +If you have not already located and labeled these variables, do so now. + +### Checking the Target + +First, we will do some validation. +Check that we have an active session (trace): + +```java {.numberLines} +Trace trace = getCurrentTrace(); +if (trace == null) { + throw new AssertionError("There is no active session"); +} +``` + +Now, check that the current program is `termmines`: + +```java {.numberLines} +if (!"termmines".equals(currentProgram.getName())) { + throw new AssertionError("The current program must be termmines"); +} +``` + +### Checking the Module Map + +Now, check that `termmines` is actually part of the current trace. +There is not a great way to do this directly in the flat API, but we are going to need to map some symbols from the `termmines` module, anyway. +In this step, we will both verify that the user has placed the required labels, as well as verify that those symbols can be mapped to the target: + +```java {.numberLines} +List widthSyms = getSymbols("width", null); +if (widthSyms.isEmpty()) { + throw new AssertionError("Symbol 'width' is required"); +} +List heightSyms = getSymbols("height", null); +if (heightSyms.isEmpty()) { + throw new AssertionError("Symbol 'height' is required"); +} +List cellsSyms = getSymbols("cells", null); +if (cellsSyms.isEmpty()) { + throw new AssertionError("Symbol 'cells' is required"); +} + +Address widthDyn = translateStaticToDynamic(widthSyms.get(0).getAddress()); +if (widthDyn == null) { + throw new AssertionError("Symbol 'width' is not mapped to target"); +} +Address heightDyn = translateStaticToDynamic(heightSyms.get(0).getAddress()); +if (heightDyn == null) { + throw new AssertionError("Symbol 'height' is not mapped to target"); +} +Address cellsDyn = translateStaticToDynamic(cellsSyms.get(0).getAddress()); +if (cellsDyn == null) { + throw new AssertionError("Symbol 'cells' is not mapped to target"); +} +``` + +The `getSymbols()` method is part of the static flat API, so it returns symbols from the current static listing. +The `translateStaticToDynamic()` is part of the dynamic flat API. +This allows us to locate that symbol in the dynamic context. + +### Reading the Data + +Now, we want to read the dimensions and the whole board from the target. +You should know from earlier exercises that the board is allocated 32 cells by 32 cells, so we will want to read at least 1024 bytes. +Note that this will implicitly capture the board to the trace: + +```java {.numberLines} +byte[] widthDat = readMemory(widthDyn, 4, monitor); +byte[] heightDat = readMemory(heightDyn, 4, monitor); +byte[] cellsData = readMemory(cellsDyn, 1024, monitor); +``` + +### Dumping the Board + +Beyond this, everything is pretty standard Java / Ghidra scripting. +We will need to do some quick conversion of the bytes to integers, and then we can iterate over the cells and print the mines' locations: + +```java {.numberLines} +int width = ByteBuffer.wrap(widthDat).order(ByteOrder.LITTLE_ENDIAN).getInt(); +int height = ByteBuffer.wrap(heightDat).order(ByteOrder.LITTLE_ENDIAN).getInt(); +for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + if ((cellsData[(y + 1) * 32 + x + 1] & 0x80) == 0x80) { + println("Mine at (%d,%d)".formatted(x, y)); + } + } +} +``` + +### Test the Script + +To test, launch `termmines` in Ghidra using GDB. +You will need to allow it to set up the first game board before running the script. +The simplest way to do that is to resume and then interrupt the target while it waits for input. +Now, run the script and examine its output. +Resume and play the game. +Once you win, check that the script output describes the actual board. + +### Exercise: Remove the Mines + +Write a script that will remove the mines from the board. +**NOTE**: The `writeMemory()` and related methods are all subject to the current **Control Mode**. +If the mode is read-only, the script cannot modify the target's machine state using those methods. + +## Waiting on / Reacting to Events + +Most of the Debugger is implemented using asynchronous event-driven programming. +This will become apparent if you browse any deeper beyond the flat API. +Check the return value carefully. +A method that might intuitively return `void` may actually return `CompletableFuture`. +Java's completable futures allow you to register callbacks and/or chain additional futures onto them. + +However, Ghidra's scripting system provides a dedicated thread for each execution of a script, so it is acceptable to use the `.get()` methods instead, essentially converting to a synchronous style. +Most of the methods in the flat API will do this for you. +See also the flat API's `waitOn()` method. +The most common two methods to use when waiting for a condition is `waitForBreak()` and `flushAsyncPipelines()`. +The first simply waits for the target to enter the STOPPED state. +Once that happens, the framework and UI will get to work interrogating the back-end debugger to update the various displays. +Unfortunately, if a script does not wait for this update to complete, it may be subject to race conditions. +Thus, the second method politely waits for everything else to finish. +Sadly, it may slow your script down. + +The general template for waiting on a condition is a bit klunky, but conceptually straightforward: + +1. Set up your instrumentation, e.g., breakpoints. +1. Get the target running, and then wait for it to break. +1. Flush the pipelines. +1. Check if the expected conditions are met, esp., that the program counter is where you expect. +1. If the conditions are not met, then let the target run again and repeat. +1. Once the conditions are met, perform the desired actions. +1. Optionally remove your instrumentation and/or let the target run. + +### Exercise: Always Win in 0 Seconds + +**NOTE**: The solution to this exercise is given as a tutorial below, but give it an honest try before peeking. +If you are not already familiar with Eclipse's searching and discovery features, try pressing **`CTRL`-`O`** twice in the editor for your script. +You should now be able to type patterns, optionally with wildcards, to help you find applicable methods. + +Your task is to write a script that will wait for the player to win then patch the machine state, so that the game always prints a score of 0 seconds. +Some gotchas to consider up front: + +* You may want to verify and/or correct the target's execution state. + See `getExecutionState()` and `interrupt()`. + You will not likely be able to place or toggle breakpoints while the target is running. +* Methods like `writeMemory()` are subject to the current **Control Mode**. + You may want to check and/or correct this at the top of your script. +* If you require the user to mark code locations with a label, note that those labels will likely end up in the containing function's namespace. + You will need to provide that namespace to `getSymbols()`. +* If you need to set breakpoints, you should try to toggle an existing breakpoint at that location before adding a new one. + Otherwise, you may generate a pile of breakpoints and/or needlessly increment GDB's breakpoint numbers. + +You are successful when you can attach to a running `termmines` and execute your script. +Then, assuming you win the game, the game should award you a score of 0 seconds. +It is okay if you have to re-execute your script after each win. + +### Solution: Always Win in 0 Seconds + +As in the previous script, we will do some verifications at the top of the script. +Your level of pedantry may vary. + +```java {.numberLines} +Trace trace = getCurrentTrace(); +if (trace == null) { + throw new AssertionError("There is no active session"); +} + +if (!"termmines".equals(currentProgram.getName())) { + throw new AssertionError("The current program must be termmines"); +} + +if (getExecutionState(trace).isRunning()) { + monitor.setMessage("Interrupting target and waiting for STOPPED"); + interrupt(); + waitForBreak(3, TimeUnit.SECONDS); +} +flushAsyncPipelines(trace); + +if (!getControlService().getCurrentMode(trace).canEdit(getCurrentDebuggerCoordinates())) { + throw new AssertionError("Current control mode is read-only"); +} +``` + +The first two blocks check that there is an active target with `termmines` as the current program. +As before, the association of the current program to the current target will be implicitly verified when we map symbols. +The second block will interrupt the target if it is running. +We then allow everything to sync up before checking the control mode. +We could instead change the control mode to **Control Target** (with edits), but I prefer to keep the user aware that the script needs to modify target machine state. + +Next, we retrieve and map our symbols. +This works pretty much the same as in the previous script, but with attention to the containing function namespace. +The way `termmines` computes the score is to record the start time of the game. +Then, when the player wins, it subtracts the recorded time from the current time. +This script requires the user to label the start time variable `timer`, and to label the instruction that computes the score `reset_timer`. +The function that prints the score must be named `print_win`. + +```java {.numberLines} +List timerSyms = getSymbols("timer", null); +if (timerSyms.isEmpty()) { + throw new AssertionError("Symbol 'timer' is required"); +} +List winFuncs = getGlobalFunctions("print_win"); +if (winFuncs.isEmpty()) { + throw new AssertionError("Function 'print_win' is required"); +} +List resetSyms = getSymbols("reset_timer", winFuncs.get(0)); +if (resetSyms.isEmpty()) { + throw new AssertionError("Symbol 'reset_timer' is required"); +} + +Address timerDyn = translateStaticToDynamic(timerSyms.get(0).getAddress()); +if (timerDyn == null) { + throw new AssertionError("Symbol 'timer' is not mapped to target"); +} +Address resetDyn = translateStaticToDynamic(resetSyms.get(0).getAddress()); +if (resetDyn == null) { + throw new AssertionError("Symbol 'reset_timer' is not mapped to target"); +} +``` + +#### Toggling and Setting Breakpoints + +The first actual operation we perform on the debug session is to toggle or place a breakpoint on the `reset_timer` label. +The API prefers to specify breakpoints in the static context, but you can do either. +To establish that context, you must use a `ProgramLocation`. +For static context, use the current (static) program as the program. +For dynamic context, use the current (dynamic) trace view as the program — see `getCurrentView()`. + +To avoid creating a pile of breakpoints, we will first attempt to enable an existing breakpoint at the desired location. +Technically, the existing breakpoints may not be EXECUTE breakpoints, but we will blindly assume they are. +Again, your level of pedantry may vary. +The `breakpointsEnable` method will return the existing breakpoints, so we can check that and create a new breakpoint, if necessary: + +```java {.numberLines} +ProgramLocation breakLoc = + new ProgramLocation(currentProgram, resetSyms.get(0).getAddress()); +Set breaks = breakpointsEnable(breakLoc); +if (breaks == null || breaks.isEmpty()) { + breakpointSetSoftwareExecute(breakLoc, "reset timer"); +} +``` + +#### Waiting to Hit the Breakpoint + +This next loop is quite extensive, but it follows the template given earlier for waiting on conditions. +It is an indefinite loop, so we should check the monitor for cancellation somewhat frequently. +This implies we should use relatively short timeouts in our API calls. +In our case, we just want to confirm that the cause of breaking was hitting our breakpoint. +We do not need to be precise in this check; it suffices to check the program counter: + +```java {.numberLines} +while (true) { + monitor.checkCancelled(); + + TargetExecutionState execState = getExecutionState(trace); + switch (execState) { + case STOPPED: + resume(); + break; + case TERMINATED: + case INACTIVE: + throw new AssertionError("Target terminated"); + case ALIVE: + println( + "I don't know whether or not the target is running. Please make it RUNNING."); + break; + case RUNNING: + /** + * Probably timed out waiting for break. That's fine. Give the player time to + * win. + */ + break; + default: + throw new AssertionError("Unrecognized state: " + execState); + } + try { + monitor.setMessage("Waiting for player to win"); + waitForBreak(1, TimeUnit.SECONDS); + } + catch (TimeoutException e) { + // Give the player time to win. + continue; + } + flushAsyncPipelines(trace); + Address pc = getProgramCounter(); + println("STOPPED at pc = " + pc); + if (resetDyn.equals(pc)) { + break; + } +} +``` + +The "center" of this loop is a call to `waitForBreak()` on line 27. +This is the simplest primitive for waiting on the target to meet any condition. +Because we expect the user to take more than a second to win the game, we should expect a timeout exception and just keep waiting. +Using a timeout of 1 second ensures we can terminate promptly should the user cancel the script. + +Before waiting, we need to make sure the target is running. +Because we could repeat the loop while the target is already running, we should only call `resume()` if the target is stopped. +There are utility methods on `TargetExecutionState` like `isRunning()`, which you might prefer to use. +Here, we exhaustively handle every kind of state using a switch statement, which does make the code a bit verbose. + +When the target does break, we first allow the UI to finish interrogating the target. +We can then reliably retrieve and check the program counter. +If the PC matches the dynamic location of `reset_timer`, then the player has won, and we need to reset the start time. + +#### Patching the Start Time + +When the player has won, this particular compilation of `termmines` first calls `time` to get the current time and moves it into `ECX`. +It then subtracts, using a memory operand, the recorded start time. +There are certainly other strategies, but this script expects the user to label that `SUB` instruction `reset_timer`. +We would like the result of that computation to be 0, so we will simply copy the value of `ECX` over the recorded start time: + +```java {.numberLines} +int time = readRegister("ECX").getUnsignedValue().intValue(); +if (!writeMemory(timerDyn, + ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putInt(time).array())) { + throw new AssertionError("Could not write over timer. Does control mode allow edits?"); +} + +resume(); +``` + +The final `resume()` simply allows the target to finish printing the score, which ought to be 0 now! + +## Learning More + +For another demonstration of the flat API, see [DemoDebuggerScript](../../../Ghidra/Debug/Debugger/ghidra_scripts/DemoDebuggerScript.java), or just ask Eclipse for all the implementations of `FlatDebuggerAPI`. +If you want a list of methods with explanations, you should refer to the documentation in the `FlatDebuggerAPI` interface. diff --git a/sources/GhidraDocs/GhidraClass/Debugger/B4-Modeling.md b/sources/GhidraDocs/GhidraClass/Debugger/B4-Modeling.md new file mode 100644 index 0000000..3160e16 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/B4-Modeling.md @@ -0,0 +1,1028 @@ +--- +status: collected +title: P-code Modeling +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugger/B4-Modeling.md +--- + +# P-code Modeling + +This module assumes you have completed the [Emulation](B2-Emulation.md) and [Scripting](B3-Scripting.md) portions of this course. +It also assumes you have fairly deep knowledge of Ghidra's low p-code. + +Modeling is another one of those loaded terms. +Here we are going to focus on its use in what we will call *augmented emulation*. +This is used for things like dynamic taint analysis and concolic execution. +The idea is to leverage the emulator for concrete execution while augmenting it with some auxiliary model, e.g., taint labels or symbolic expressions. +Ghidra's abstract emulator implementations facilitate the composition of independent models so, if careful attention is given to your implementation, the auxiliary model can be re-used for other cases, perhaps even in static analysis. + +This module will address the following aspects of modeling: + +* Environment, i.e., p-code userops and stubbing. +* Arithmetic operations. +* Storage, addressing, and memory operations. +* Use in dynamic analysis. +* Use in static analysis. +* Integration with the GUI. + +Modeling is definitely a development task. +There is generally a specific interface for each aspect, and Ghidra may provide abstract implementations of them, which you may choose to use or ignore. +If you do not already have a development environment set up, you will need to do that now. +Either use the GhidraDev plugin for Eclipse and associate it with an installation of Ghidra, or clone the `ghidra` source repository and prepare it for development in Eclipse. +When prototyping, you may find it easiest to develop a script, which is what this tutorial will do. + +## Modeling the Environment + +There are different pieces to the environment. +This covers the implementation of p-code userops, which generally covers everything not modeled by p-code. +For example, the x86-64 `SYSCALL` instruction just invokes the `syscall()` userop, which provides a hook for implementing them. +Modeling system calls is such a common case that Ghidra provides a special programming interface for it. +Stubbing external functions is covered, in part, by the [Emulation](B2-Emulation.md) module. +By providing common stubs in a userop library, the user can stub the external function by placing a Sleigh breakpoint that invokes the appropriate userop. + +### Modeling by Java Callbacks + +A userop library is created by implementing the `PcodeUseropLibrary` interface, most likely by extending `AnnotatedPcodeUseropLibrary`. +For example, to provide a stub for `strlen`: + +```java {.numberLines} +public static class JavaStdLibPcodeUseropLibrary extends AnnotatedPcodeUseropLibrary { + private final AddressSpace space; + private final Register regRSP; + private final Register regRAX; + private final Register regRDI; + private final Register regRSI; + + public JavaStdLibPcodeUseropLibrary(SleighLanguage language) { + space = language.getDefaultSpace(); + regRSP = language.getRegister("RSP"); + regRAX = language.getRegister("RAX"); + regRDI = language.getRegister("RDI"); + regRSI = language.getRegister("RSI"); + } + + @PcodeUserop + public void __x86_64_RET( + @OpExecutor PcodeExecutor executor, + @OpState PcodeExecutorState state) { + PcodeArithmetic arithmetic = state.getArithmetic(); + T tRSP = state.getVar(regRSP, Reason.EXECUTE_READ); + long lRSP = arithmetic.toLong(tRSP, Purpose.OTHER); + T tReturn = state.getVar(space, lRSP, 8, true, Reason.EXECUTE_READ); + long lReturn = arithmetic.toLong(tReturn, Purpose.BRANCH); + state.setVar(regRSP, arithmetic.fromConst(lRSP + 8, 8)); + ((PcodeThreadExecutor) executor).getThread() + .overrideCounter(space.getAddress(lReturn)); + } + + @PcodeUserop + public void __libc_strlen(@OpState PcodeExecutorState state) { + PcodeArithmetic arithmetic = state.getArithmetic(); + T tStr = state.getVar(regRDI, Reason.EXECUTE_READ); + long lStr = arithmetic.toLong(tStr, Purpose.OTHER); + T tMaxlen = state.getVar(regRSI, Reason.EXECUTE_READ); + long lMaxlen = arithmetic.toLong(tMaxlen, Purpose.OTHER); + + for (int i = 0; i < lMaxlen; i++) { + T tChar = state.getVar(space, lStr + i, 1, false, Reason.EXECUTE_READ); + if (arithmetic.toLong(tChar, Purpose.OTHER) == 0) { + state.setVar(regRAX, arithmetic.fromConst(Integer.toUnsignedLong(i), 8)); + break; + } + } + } +} +``` + +Here, we implement the stub using Java callbacks. +This is more useful when modeling things outside of Ghidra's definition of machine state, e.g., to simulate kernel objects in an underlying operating system. +Nevertheless, it can be used to model simple state changes as well. +A user would place a breakpoint at either the call site or the call target, have it invoke `__libc_strlen()`, and then invoke either `emu_skip_decoded()` or `__x86_64_RET()` depending on where the breakpoint was placed. + +### Modeling by Sleigh Semantics + +The advantage to Java callbacks is that things are relatively intuitive to do, but the temptation, which we intentionally demonstrated above, is to make everything concrete. +You may notice the library uses a type parameter `T`, which specifies the type of all variables in the emulator's state. +Leaving it as `T` indicates the library is compatible with any type. +For a concrete emulator, `T := byte[]`, and so there is no loss in making things concrete, and then converting back to `T` using the `arithmetic` object. +However, if the emulator has been augmented, as we will discuss below, the model may become confused, because values computed by a careless userop will appear to the model a literal constant. +To avoid this, you should keep everything a T and use the `arithmetic` object to perform any arithmetic operations. +Alternatively, you can implement the userop using pre-compiled Sleigh code: + +```java {.numberLines} +public static class SleighStdLibPcodeUseropLibrary extends AnnotatedPcodeUseropLibrary { + private static final String SRC_RET = """ + RIP = *:8 RSP; + RSP = RSP + 8; + return [RIP]; + """; + private static final String SRC_STRLEN = """ + __result = 0; + + if (*:1 (str+__result) == 0 || __result >= maxlen) goto ; + __result = __result + 1; + goto ; + + """; + private final Register regRAX; + private final Register regRDI; + private final Register regRSI; + private final Varnode vnRAX; + private final Varnode vnRDI; + private final Varnode vnRSI; + + private PcodeProgram progRet; + private PcodeProgram progStrlen; + + public SleighStdLibPcodeUseropLibrary(SleighLanguage language) { + regRAX = language.getRegister("RAX"); + regRDI = language.getRegister("RDI"); + regRSI = language.getRegister("RSI"); + vnRAX = new Varnode(regRAX.getAddress(), regRAX.getMinimumByteSize()); + vnRDI = new Varnode(regRDI.getAddress(), regRDI.getMinimumByteSize()); + vnRSI = new Varnode(regRSI.getAddress(), regRSI.getMinimumByteSize()); + } + + @PcodeUserop + public void __x86_64_RET(@OpExecutor PcodeExecutor executor, + @OpLibrary PcodeUseropLibrary library) { + if (progRet == null) { + progRet = SleighProgramCompiler.compileUserop(executor.getLanguage(), + "__x86_64_RET", List.of(), SRC_RET, PcodeUseropLibrary.nil(), List.of()); + } + progRet.execute(executor, library); + } + + @PcodeUserop + public void __libc_strlen(@OpExecutor PcodeExecutor executor, + @OpLibrary PcodeUseropLibrary library) { + if (progStrlen == null) { + progStrlen = SleighProgramCompiler.compileUserop(executor.getLanguage(), + "__libc_strlen", List.of("__result", "str", "maxlen"), + SRC_STRLEN, PcodeUseropLibrary.nil(), List.of(vnRAX, vnRDI, vnRSI)); + } + progStrlen.execute(executor, library); + } +} +``` + +At construction, we capture the varnodes we need to use. +We could just use them directly in the source, but this demonstrates the ability to alias them, which makes the Sleigh source more re-usable across target architectures. +We then lazily compile each userop upon its first invocation. +These are technically still Java callbacks, but our implementation delegates to the executor, giving it the compiled p-code program. + +The advantage here is that the p-code will use the underlying arithmetic appropriately. +However, for some models, that may actually not be desired. +Some symbolic models might just like to see an abstract call to `strlen()`. + +### Modeling by Structured Sleigh + +The disadvantage to pre-compiled p-code is all the boilerplate and manual handling of Sleigh compilation. +Additionally, when stubbing C functions, you have to be mindful of the types, and things may get complicated enough that you pine for more C-like control structures. +The same library can be implemented using an incubating feature we call *Structured Sleigh*: + +```java {.numberLines} +public static class StructuredStdLibPcodeUseropLibrary + extends AnnotatedPcodeUseropLibrary { + public StructuredStdLibPcodeUseropLibrary(CompilerSpec cs) { + new MyStructuredPart(cs).generate(ops); + } + + public static class MyStructuredPart extends StructuredSleigh { + protected MyStructuredPart(CompilerSpec cs) { + super(cs); + } + + @StructuredUserop + public void __x86_64_RET() { + Var RSP = lang("RSP", type("void **")); + Var RIP = lang("RIP", type("void *")); + RIP.set(RSP.deref()); + RSP.addiTo(8); + _return(RIP); + } + + @StructuredUserop + public void __libc_strlen() { + Var result = lang("RAX", type("long")); + Var str = lang("RDI", type("char *")); + Var maxlen = lang("RSI", type("long")); + + _for(result.set(0), result.ltiu(maxlen).andb(str.index(result).deref().eq(0)), + result.inc(), () -> { + }); + } + } +} +``` + +This is about as succinct as we can get specifying p-code behaviors in Java. +While these may appear like callbacks into Java methods that use a special API for state manipulation, that is not entirely accurate. +The Java method is invoked once as a way to "transpile" the Structured Sleigh into standard Sleigh semantic code. +That code is then compiled to p-code, which will be executed whenever the userop is called. +In a sense, Structured Sleigh is a DSL hosted in Java.... + +Unfortunately, we cannot overload operators in Java, so we are stuck using method invocations. +Another disadvantage is the dependence on a compiler spec for type resolution. +Structured Sleigh is not the best suited for all circumstances, e.g., the implementation of `__x86_64_RET` is odd to express. +Arguably, there is no real need to ascribe high-level types to `RSP` and `RIP` when expressing low-level operations. +Luckily, these implementation techniques can be mixed. +A single library can implement the `RET` using pre-compiled Sleigh, but `strlen` using Structured Sleigh. + +### Modeling System Calls + +We will not cover this in depth, but here are some good examples: + +* [DemoSyscallLibrary](../../../Ghidra/Features/SystemEmulation/ghidra_scripts/DemoSyscallLibrary.java) +* [EmuLinuxAmd64SyscallUseropLibrary](../../../Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/linux/EmuLinuxAmd64SyscallUseropLibrary.java) +* [EmuLinuxX86SyscallUseropLibrary](../../../Ghidra/Features/SystemEmulation/src/main/java/ghidra/pcode/emu/linux/EmuLinuxX86SyscallUseropLibrary.java) + +More can be obtained by finding all implementations of `EmuSyscallLibrary` in your IDE. +The Linux system call libraries are incomplete. +They only provide a few simple file operations, but it is sufficient to demonstrate the simulation of an underlying operating system. +They can also be extended and/or composed to provide additional system calls. + +### Using Custom Userop Libraries + +The use of a custom library in a stand-alone emulation script is pretty straightforward: + +```java {.numberLines} +public class CustomLibraryScript extends GhidraScript { + @Override + protected void run() throws Exception { + PcodeEmulator emu = new PcodeEmulator(currentProgram.getLanguage()) { + @Override + protected PcodeUseropLibrary createUseropLibrary() { + return super.createUseropLibrary() + .compose(new ModelingScript.StructuredStdLibPcodeUseropLibrary<>( + currentProgram.getCompilerSpec())); + } + }; + emu.inject(currentAddress, """ + __libc_strlen(); + __X86_64_RET(); + """); + // TODO: Initialize the emulator's memory from the current program + PcodeThread thread = emu.newThread(); + // TODO: Initialize the thread's registers + + while (true) { + monitor.checkCancelled(); + thread.stepInstruction(100); + } + } +} +``` + +The key is to override `createUseropLibrary()` in an anonymous extension of the `PcodeEmulator`. +It is polite to compose your library with the one already provided by the super class, lest you remove userops and cause unexpected crashes later. +For the sake of demonstration, we have included an injection that uses the custom library, and we have included a monitored loop to execute a single thread indefinitely. +The initialization of the machine and its one thread is left to the script writer. +The emulation *is not* implicitly associated with the program! +You must copy the program image into its state, and you should choose a different location for the injection. +Refer to the example scripts in Ghidra's `SystemEmulation` module. + +If you would like to (temporarily) override the GUI with a custom userop library, you can by setting the GUI's emulator factory: + +```java {.numberLines} +public class InstallCustomLibraryScript extends GhidraScript implements FlatDebuggerAPI { + public static class CustomBytesDebuggerPcodeEmulator extends BytesDebuggerPcodeEmulator { + private CustomBytesDebuggerPcodeEmulator(PcodeDebuggerAccess access) { + super(access); + } + + @Override + protected PcodeUseropLibrary createUseropLibrary() { + return super.createUseropLibrary() + .compose(new ModelingScript.SleighStdLibPcodeUseropLibrary<>( + (SleighLanguage) access.getLanguage())); + } + } + + public static class CustomBytesDebuggerPcodeEmulatorFactory + extends BytesDebuggerPcodeEmulatorFactory { + @Override + public DebuggerPcodeMachine create(PcodeDebuggerAccess access) { + return new CustomBytesDebuggerPcodeEmulator(access); + } + } + + @Override + protected void run() throws Exception { + getEmulationService().setEmulatorFactory(new CustomBytesDebuggerPcodeEmulatorFactory()); + } +} +``` + +This will make your custom userops available in Sleigh injections. +**NOTE**: There is currently no way to introduce custom userops to Watches or the Go To dialog. + +## Modeling Arithmetic Operations + +The remaining sections deal in modeling things other than concrete emulation. +In most dynamic analysis cases, we will *augment* a concrete emulator with some other abstract execution model, e.g., for dynamic taint analysis or concolic emulation. +Ghidra's emulation framework favors the composition of execution models. +This allows you to focus on the abstract execution model and later compose it with the concrete model to form the full augmented model. +This also facilitates the creation of re-usable components, but that still requires some forethought. + +Modeling the arithmetic is fairly straightforward. +For demonstration we will develop a model for building up symbolic expressions. +The idea is that after doing some number of steps of emulation, the user can examine not only the concrete value of a variable, but the expression that generated it in terms of the variables at the start of the stepping schedule. +We *will not* attempt to simplify or otherwise analyze these expressions. +For that, you would want to use a proper SMT, which is beyond the scope of this tutorial. + +### The Model + +We will represent constants as literals, and then build up expression trees as each operation is applied. +The number of operators can get extensive, and your particular use case / target may not require all of them. +That said, if you intend for your model to be adopted broadly, you should strive for as complete an implementation as reasonably possible. +At the very least, strive to provide extension points where you predict the need to alter or add features. +In this tutorial, we will elide all but what is necessary to illustrate the implementation. + +If it is not already provided to you by your dependencies, you will need to devise the actual model. +These need not extend from nor implement any Ghidra-specific interface, but they can. + +```java {.numberLines} +public class ModelingScript extends GhidraScript { + interface Expr { + } + + interface UnExpr extends Expr { + Expr u(); + } + + interface BinExpr extends Expr { + Expr l(); + + Expr r(); + } + + record LitExpr(BigInteger val, int size) implements Expr { + } + + record VarExpr(Varnode vn) implements Expr { + public VarExpr(AddressSpace space, long offset, int size) { + this(space.getAddress(offset), size); + } + + public VarExpr(Address address, int size) { + this(new Varnode(address, size)); + } + } + + record InvExpr(Expr u) implements UnExpr { + } + + record AddExpr(Expr l, Expr r) implements BinExpr { + } + + record SubExpr(Expr l, Expr r) implements BinExpr { + } + + @Override + protected void run() throws Exception { + // TODO Auto-generated method stub + + } +} +``` + +It should be fairly apparent how you could add more expression types to complete the model. +There is some odd nuance in the naming of p-code operations, so do read the documentation carefully. +If you are not entirely certain what an operation does, take a look at [OpBehaviorFactory](../../../Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcode/opbehavior/OpBehaviorFactory.java). +You can also examine the concrete implementation on byte arrays [BytesPcodeArithmetic](../../../Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/exec/BytesPcodeArithmetic.java). + +### Mapping the Model + +Now, to map the model to p-code, we implement the `PcodeArithmetic` interface. +In many cases, the implementation can be an enumeration: one for big endian and one for little endian. +Rarely, it can be a singleton. +Conventionally, you should also include static methods for retrieving an instance by endianness or processor language: + +```java {.numberLines} +public enum ExprPcodeArithmetic implements PcodeArithmetic { + BE(Endian.BIG), LE(Endian.LITTLE); + + public static ExprPcodeArithmetic forEndian(Endian endian) { + return endian.isBigEndian() ? BE : LE; + } + + public static ExprPcodeArithmetic forLanguage(Language language) { + return language.isBigEndian() ? BE : LE; + } + + private final Endian endian; + + private ExprPcodeArithmetic(Endian endian) { + this.endian = endian; + } + + @Override + public Endian getEndian() { + return endian; + } + + @Override + public Expr unaryOp(int opcode, int sizeout, int sizein1, Expr in1) { + return switch (opcode) { + case PcodeOp.INT_NEGATE -> new InvExpr(in1); + default -> throw new UnsupportedOperationException(PcodeOp.getMnemonic(opcode)); + }; + } + + @Override + public Expr binaryOp(int opcode, int sizeout, int sizein1, Expr in1, int sizein2, + Expr in2) { + return switch (opcode) { + case PcodeOp.INT_ADD -> new AddExpr(in1, in2); + case PcodeOp.INT_SUB -> new SubExpr(in1, in2); + default -> throw new UnsupportedOperationException(PcodeOp.getMnemonic(opcode)); + }; + } + + @Override + public Expr modBeforeStore(int sizeout, int sizeinAddress, Expr inAddress, int sizeinValue, + Expr inValue) { + return inValue; + } + + @Override + public Expr modAfterLoad(int sizeout, int sizeinAddress, Expr inAddress, int sizeinValue, + Expr inValue) { + return inValue; + } + + @Override + public Expr fromConst(byte[] value) { + if (endian.isBigEndian()) { + return new LitExpr(new BigInteger(1, value), value.length); + } + byte[] reversed = Arrays.copyOf(value, value.length); + ArrayUtils.reverse(reversed); + return new LitExpr(new BigInteger(1, reversed), reversed.length); + } + + @Override + public Expr fromConst(BigInteger value, int size, boolean isContextreg) { + return new LitExpr(value, size); + } + + @Override + public Expr fromConst(long value, int size) { + return fromConst(BigInteger.valueOf(value), size); + } + + @Override + public byte[] toConcrete(Expr value, Purpose purpose) { + throw new UnsupportedOperationException(); + } + + @Override + public long sizeOf(Expr value) { + throw new UnsupportedOperationException(); + } +} +``` + +We have implemented two arithmetic models: one for big-endian languages and one for little-endian. +The endianness comes into play when we encode constant values passed to `fromConst()`. +We must convert the `byte[]` value to a big integer accordingly. +The choice of `BigInteger` is merely a matter of preference; you could easily just have `LitExpr` encapsulate the `byte[]` and worry about how to interpret them later. +We also override all implementations of `fromConst()` to avoid the back-and-forth conversion between `BigInteger` and `byte[]`. + +The implementations of `unaryOp()` and `binaryOp()` are straightforward. +Just switch on the opcode and construct the appropriate expression. +This is a place where you might want to provide extensibility. + +**NOTE**: If you would like to capture location information, i.e., what instruction performed this operation, then you can override the default `unaryOp()` and `binaryOp()` methods, which receive the actual `PcodeOp` object. +You can get both the opcode and the sequence number (address, index) from that `PcodeOp`. +The ones with signatures taking the integer opcode can just throw an `AssertionError`. + +The implementations of `modBeforeStore()` and `modAfterLoad()` are stubs. +They provide an opportunity to capture dereferencing information. +We do not need that information, so we just return the value. +The `mod` methods tread a bit into storage and addressing, which we cover more thoroughly later, but they model memory operations to the extent they do not actually require a storage mechanism. +For example, were this a dynamic taint analyzer, we could use `modAfterLoad()` to record that a value was retrieved via a tainted address. +The `inValue` parameter gives the `Expr` actually retrieved from the emulator's storage, and `inAddress` gives the address (really just the `Expr` piece) used to retrieve it. +Conversely, in `modBeforeStore()`, `inValue` gives the value about to be stored, and `inAddress` gives the address used to store it. + +We implement neither `toConcrete()` nor `sizeOf()`. +Since we will be augmenting a concrete emulator, these methods will be provided by the concrete piece. +If this model is ever to be used in static analysis, then it may be worthwhile to implement these methods, so the model may be used independently of the concrete emulator. +In that case, the methods should attempt to do as documented but may throw an exception upon failure. + +## Modeling Storage, Addressing, and Memory Operations + +The emulator's storage model is a `PcodeExecutorState`. +Since we desire an augmented emulator, we will need to provide it a `PcodeExecutorState>`. +This tells Java the state is capable of working with pairs of concrete state and the abstract model state. +Addresses in that state are also pairs. +For augmented emulation, the storage model often borrows the concrete addressing model; thus, we will use only the `byte[]` element for our addressing. + +The composition of states with the same addressing model is common enough that Ghidra provides abstract components to facilitate it. +The relevant interface is `PcodeExecutorStatePiece`, which is the one we actually implement, by extending from `AbstractLongOffsetPcodeExecutorStatePiece`. + +**NOTE**: If you do not desire a concrete address model, then you should implement `PcodeExecutorState` directly. +A "state" is also a "state piece" whose address model is the same as its value model, so states can still be composed. +On one hand, the abstractly-addressed state provides a component that is readily used in both static and dynamic analysis; whereas, the concretely-addressed piece is suited only for dynamic analysis. +On the other hand, you may have some difficulty correlating concrete and abstract pieces during dynamic analysis when aliasing and indirection is involved. + +Now for the code. +Be mindful of all the adjectives. +If you are not already familiar with Java naming conventions for "enterprise applications" or our particular implementation of them, you are about to see it on full display. + +```java {.numberLines} +public static class ExprSpace { + protected final NavigableMap map; + protected final AddressSpace space; + + protected ExprSpace(AddressSpace space, NavigableMap map) { + this.space = space; + this.map = map; + } + + public ExprSpace(AddressSpace space) { + this(space, new TreeMap<>()); + } + + public void clear() { + map.clear(); + } + + public void set(long offset, Expr val) { + // TODO: Handle overlaps / offcut gets and sets + map.put(offset, val); + } + + protected Expr whenNull(long offset, int size) { + return new VarExpr(space, offset, size); + } + + public Expr get(long offset, int size) { + // TODO: Handle overlaps / offcut gets and sets + Expr expr = map.get(offset); + return expr != null ? expr : whenNull(offset, size); + } +} + +public static abstract class AbstractExprPcodeExecutorStatePiece extends + AbstractLongOffsetPcodeExecutorStatePiece { + + protected final AbstractSpaceMap spaceMap = newSpaceMap(); + + public AbstractExprPcodeExecutorStatePiece(Language language) { + super(language, BytesPcodeArithmetic.forLanguage(language), + ExprPcodeArithmetic.forLanguage(language)); + } + + protected abstract AbstractSpaceMap newSpaceMap(); + + @Override + public MemBuffer getConcreteBuffer(Address address, Purpose purpose) { + throw new UnsupportedOperationException(); + } + + @Override + public void clear() { + for (S space : spaceMap.values()) { + space.clear(); + } + } + + @Override + protected S getForSpace(AddressSpace space, boolean toWrite) { + return spaceMap.getForSpace(space, toWrite); + } + + @Override + protected void setInSpace(ExprSpace space, long offset, int size, Expr val) { + space.set(offset, val); + } + + @Override + protected Expr getFromSpace(S space, long offset, int size, Reason reason) { + return space.get(offset, size); + } + + @Override + protected Map getRegisterValuesFromSpace(S s, List registers) { + throw new UnsupportedOperationException(); + } +} + +public static class ExprPcodeExecutorStatePiece + extends AbstractExprPcodeExecutorStatePiece { + public ExprPcodeExecutorStatePiece(Language language) { + super(language); + } + + @Override + protected AbstractSpaceMap newSpaceMap() { + return new SimpleSpaceMap() { + @Override + protected ExprSpace newSpace(AddressSpace space) { + return new ExprSpace(space); + } + }; + } +} + +public static class BytesExprPcodeExecutorState extends PairedPcodeExecutorState { + public BytesExprPcodeExecutorState(PcodeExecutorStatePiece concrete) { + super(new PairedPcodeExecutorStatePiece<>(concrete, + new ExprPcodeExecutorStatePiece(concrete.getLanguage()))); + } +} +``` + +The abstract class implements a strategy where a dedicated object handles each address space. +Each object typically maintains of map of offsets (type `long`) to the model type, i.e., `Expr`. +We provide that object type `ExprSpace`, which is where we implement most of our actual storage. + +**WARNING**: For the sake of simplicity in demonstration, we have neglected many details. +Notably, we have neglected the possibility that writes overlap or that reads are offcut from the variables actually stored there. +This may not seem like a huge problem, but it is actually quite common, esp., since x86 registers are structured. +A write to `RAX` followed by a read from `EAX` will immediately demonstrate this issue. +Nevertheless, we leave those details as an exercise. +We factor `whenNull` so that it can be overridden later. + +The remaining parts are mostly boilerplate. +We implement the "state piece" interface by creating another abstract class. +An abstract class is not absolutely necessary, but it will be useful when we integrate the model with traces and the Debugger GUI later. +We are given the language and applicable arithmetics, which we just pass to the super constructor. +We need not implement a concrete buffer. +This would only be required if we needed to decode instructions from the abstract storage model. +For dynamic analysis, we would bind concrete buffers from the concrete piece, not the abstract. +For static analysis, you would need to decide whether to just use the statically disassembled instructions or to try decoding from the abstract model. +The `clear()` method is implemented by clearing the map of address spaces. +Note that the abstract implementation does not provide that map for us, so we must provide it and the logic to clear it. +The next three methods are for getting spaces from that map and then setting and getting values in them. +The last method `getRegisterValuesFromSpace()` is more for user inspection, so it need not be implemented, at least not yet. + +Finally, we complete the implementation of the state piece with `ExprPcodeExecutorStatePiece`, which provides the actual map and an `ExprSpace` factory method `newSpace()`. +The implementation of `ExprPcodeExecutorState` is simple. +It takes the concrete piece and pairs it with a new piece for our model. + +## Model-Specific Userops + +We do not cover this deeply, but there are two examples in Ghidra: + +* [TaintPcodeUseropLibrary](../../../Ghidra/Debug/TaintAnalysis/src/main/java/ghidra/pcode/emu/taint/TaintPcodeUseropLibrary.java) +* [TaintFileReadsLinuxAmd64SyscallLibrary](../../../Ghidra/Debug/TaintAnalysis/src/main/java/ghidra/pcode/emu/taint/lib/TaintFileReadsLinuxAmd64SyscallLibrary.java) + +The first provides a means of marking variables with taint. +Unlike our `Expr` model, which automatically generates a `VarExpr` whenever a variable is read for the first time, the taint analyzer assumes no state is tainted. +You may notice the library does not use a generic `T`, but instead requires `T=Pair`. +This will ensure the library is only used with a taint-augmented emulator. + +The second demonstrates the ability to extend Ghidra's system call libraries, not only with additional calls, but also with additional models. + +## Constructing the Augmented Emulator + +Ghidra supports the construction of augmented emulators through the `AuxEmulatorPartsFactory` interface. +These are typically singletons. + +```java {.numberLines} +public enum BytesExprEmulatorPartsFactory implements AuxEmulatorPartsFactory { + INSTANCE; + + @Override + public PcodeArithmetic getArithmetic(Language language) { + return ExprPcodeArithmetic.forLanguage(language); + } + + @Override + public PcodeUseropLibrary> createSharedUseropLibrary( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropStub( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropLibrary( + AuxPcodeEmulator emulator, PcodeThread> thread) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeExecutorState> createSharedState( + AuxPcodeEmulator emulator, BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } + + @Override + public PcodeExecutorState> createLocalState( + AuxPcodeEmulator emulator, PcodeThread> thread, + BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } +} + +public class BytesExprPcodeEmulator extends AuxPcodeEmulator { + public BytesExprPcodeEmulator(Language language) { + super(language); + } + + @Override + protected AuxEmulatorPartsFactory getPartsFactory() { + return BytesExprEmulatorPartsFactory.INSTANCE; + } +} +``` + +Lots of boilerplate. +Essentially, all the parts factory does is give us a flat interface for providing all the parts necessary to construct our augmented emulator: the model arithmetic, userop libraries for the machine and threads, state for the machine and threads. +For the arithmetic, we trivially provide the arithmetic for the given language. +For the userop libraries, we just provide the empty library. +If you had custom libraries and/or model-specific libraries, you would compose them here. +Finally, for the states, we just take the provided concrete state and construct our augmented state. + +## Use in Dynamic Analysis + +What we have constructed so far is suitable for constructing and using our augmented emulator in a script. +Using it is about as straightforward as the plain concrete emulator. +The exception may be when accessing its state, you will need to be cognizant of the pairing. + +```java {.numberLines} +public class ModelingScript extends GhidraScript { + + // ... + + @Override + protected void run() throws Exception { + BytesExprPcodeEmulator emu = new BytesExprPcodeEmulator(currentProgram.getLanguage()); + // TODO: Initialize the machine + PcodeExecutorState> state = emu.getSharedState(); + state.setVar(currentAddress, 4, true, + Pair.of(new byte[] { 1, 2, 3, 4 }, new VarExpr(currentAddress, 4))); + PcodeThread> thread = emu.newThread(); + // TODO: Initialize the thread + while (true) { + monitor.checkCancelled(); + thread.stepInstruction(100); + } + } +} +``` + +**NOTE**: When accessed as a paired state, all sets will affect both pieces. +If you use the arithmetic to generate them, remember that it will use `fromConst` on both sub-arithmetics to generate the pair, so you may be setting the right side to a `LitExpr`. +To modify just one side of the pair, cast the state to `PairedPcodeExecutorState`, and then use `getLeft()`, and `getRight()` to retrieve the separate pieces. + +## Use in Static Analysis + +We do not go into depth here, especially since this is not formalized. +There are many foundational utilities not factored out yet. +Nevertheless, for an example where the `PcodeArithmetic` and `PcodeExecutorState` interfaces are used in static analysis, see the Debugger's stack unwinder. +While unwinding a full stack technically qualifies as dynamic analysis, the analysis of each individual function to recover stack frame information is purely static. +See [UnwindAnalysis](../../../Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/UnwindAnalysis.java) and its sibling files. + +## GUI Integration + +This part is rather tedious. +It is mostly boilerplate, and the only real functionality we need to provide is a means of serializing `Expr` to the trace database. +Ideally, this serialization is also human readable, since that will make it straightforward to display in the UI. +Typically, there are two more stages of integration. +First is integration with traces, which involves the aforementioned serialization. +Second is integration with targets, which often does not apply to abstract models, but could. +Each stage involves an extension to the lower stage's state. +Java does not allow multiple inheritance, so we will have to be clever in our factoring, but we generally cannot escape the boilerplate. + +```java {.numberLines} +public static class ExprTraceSpace extends ExprSpace { + protected final PcodeTracePropertyAccess property; + + public ExprTraceSpace(AddressSpace space, PcodeTracePropertyAccess property) { + super(space); + this.property = property; + } + + @Override + protected Expr whenNull(long offset, int size) { + String string = property.get(space.getAddress(offset)); + return deserialize(string); + } + + public void writeDown(PcodeTracePropertyAccess into) { + if (space.isUniqueSpace()) { + return; + } + + for (Entry entry : map.entrySet()) { + // TODO: Ignore and/or clear non-entries + into.put(space.getAddress(entry.getKey()), serialize(entry.getValue())); + } + } + + protected String serialize(Expr expr) { + return Unfinished.TODO(); + } + + protected Expr deserialize(String string) { + return Unfinished.TODO(); + } +} + +public static class ExprTracePcodeExecutorStatePiece + extends AbstractExprPcodeExecutorStatePiece + implements TracePcodeExecutorStatePiece { + public static final String NAME = "Expr"; + + protected final PcodeTraceDataAccess data; + protected final PcodeTracePropertyAccess property; + + public ExprTracePcodeExecutorStatePiece(PcodeTraceDataAccess data) { + super(data.getLanguage()); + this.data = data; + this.property = data.getPropertyAccess(NAME, String.class); + } + + @Override + public PcodeTraceDataAccess getData() { + return data; + } + + @Override + protected AbstractSpaceMap newSpaceMap() { + return new CacheingSpaceMap, ExprTraceSpace>() { + @Override + protected PcodeTracePropertyAccess getBacking(AddressSpace space) { + return property; + } + + @Override + protected ExprTraceSpace newSpace(AddressSpace space, + PcodeTracePropertyAccess backing) { + return new ExprTraceSpace(space, property); + } + }; + } + + @Override + public ExprTracePcodeExecutorStatePiece fork() { + throw new UnsupportedOperationException(); + } + + @Override + public void writeDown(PcodeTraceDataAccess into) { + PcodeTracePropertyAccess property = into.getPropertyAccess(NAME, String.class); + for (ExprTraceSpace space : spaceMap.values()) { + space.writeDown(property); + } + } +} + +public static class ExprTracePcodeExecutorState + extends PairedTracePcodeExecutorState { + public ExprTracePcodeExecutorState(TracePcodeExecutorStatePiece concrete) { + super(new PairedTracePcodeExecutorStatePiece<>(concrete, + new ExprTracePcodeExecutorStatePiece(concrete.getData()))); + } +} +``` + +Because we do not need any additional logic for target integration, we do not need to extend the state pieces any further. +The concrete pieces that we augment will contain all the target integration needed. +We have left the serialization as an exercise, though. +Last, we implement the full parts factory and use it to construct and install a full `Expr`-augmented emulator factory: + +```java {.numberLines} +public enum BytesExprDebuggerEmulatorPartsFactory + implements AuxDebuggerEmulatorPartsFactory { + INSTANCE; + + @Override + public PcodeArithmetic getArithmetic(Language language) { + return ExprPcodeArithmetic.forLanguage(language); + } + + @Override + public PcodeUseropLibrary> createSharedUseropLibrary( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropStub( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropLibrary( + AuxPcodeEmulator emulator, PcodeThread> thread) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeExecutorState> createSharedState( + AuxPcodeEmulator emulator, BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } + + @Override + public PcodeExecutorState> createLocalState( + AuxPcodeEmulator emulator, PcodeThread> thread, + BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createTraceSharedState( + AuxTracePcodeEmulator emulator, + BytesTracePcodeExecutorStatePiece concrete) { + return new ExprTracePcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createTraceLocalState( + AuxTracePcodeEmulator emulator, + PcodeThread> thread, + BytesTracePcodeExecutorStatePiece concrete) { + return new ExprTracePcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createDebuggerSharedState( + AuxDebuggerPcodeEmulator emulator, + RWTargetMemoryPcodeExecutorStatePiece concrete) { + return new ExprTracePcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createDebuggerLocalState( + AuxDebuggerPcodeEmulator emulator, + PcodeThread> thread, + RWTargetRegistersPcodeExecutorStatePiece concrete) { + return new ExprTracePcodeExecutorState(concrete); + } +} + +public static class BytesExprDebuggerPcodeEmulator extends AuxDebuggerPcodeEmulator { + public BytesExprDebuggerPcodeEmulator(PcodeDebuggerAccess access) { + super(access); + } + + @Override + protected AuxDebuggerEmulatorPartsFactory getPartsFactory() { + return BytesExprDebuggerEmulatorPartsFactory.INSTANCE; + } +} + +public static class BytesExprDebuggerPcodeEmulatorFactory + extends AbstractDebuggerPcodeEmulatorFactory { + + @Override + public String getTitle() { + return "Expr"; + } + + @Override + public DebuggerPcodeMachine create(PcodeDebuggerAccess access) { + return new BytesExprDebuggerPcodeEmulator(access); + } +} +``` + +The factory can then be installed using a script. +The script will set your factory as the current emulator factory for the whole tool; however, your script-based factory will not be listed in the menus. +Also, if you change your emulator, you must re-run the script to install those modifications. +You might also want to invalidate the emulation cache. + +```java {.numberLines} +public class InstallExprEmulatorScript extends GhidraScript implements FlatDebuggerAPI { + @Override + protected void run() throws Exception { + getEmulationService() + .setEmulatorFactory(new ModelingScript.BytesExprDebuggerPcodeEmulatorFactory()); + } +} +``` + +Alternatively, and this is recommended once your emulator is "production ready," you should create a proper Module project using the GhidraDev plugin for Eclipse. +You will need to break all the nested classes from your script out into separate files. +So long as your factory class is public, named with the suffix `DebuggerPcodeEmulatorFactory`, implements the interface, and included in Ghidra's classpath, Ghidra should find and list it in the **Debugger → Configure Emulator** menu. + +### Displaying and Manipulating Abstract State + +Once you have an emulator factory, the bulk of the work is done. +However, at this point, users can only interact with the abstract portion of the emulator's state through scripts, or by invoking custom userops in patch steps from the **Go To Time** dialog. +To display the abstract state in the UI, you need to develop two additional components: one for display in the Dynamic Listing (for memory state) and one for display in the Registers window (for register state). +(Display of custom state in the Watches or P-code Stepper panes is not supported.) +Unlike an emulator factory, these components cannot be installed via a script. +They must be provided as classes in a proper Ghidra Module. + +Since string-based serialization may be a common case, we may eventually provide abstract implementations to make that case easy. +For now, we refer you to the implementations for the Taint-augmented emulator: + +* For memory state: [TaintFieldFactory](../../../Ghidra/Debug/TaintAnalysis/src/main/java/ghidra/taint/gui/field/TaintFieldFactory.java) +* For regsiter state: [TaintDebuggerRegisterColumnFactory](../../../Ghidra/Debug/TaintAnalysis/src/main/java/ghidra/taint/gui/field/TaintDebuggerRegisterColumnFactory.java) + +Anything more than that would require completely custom providers, plugins, etc. \ No newline at end of file diff --git a/sources/GhidraDocs/GhidraClass/Debugger/README.md b/sources/GhidraDocs/GhidraClass/Debugger/README.md new file mode 100644 index 0000000..a8a1613 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/README.md @@ -0,0 +1,33 @@ +--- +status: collected +title: Debugger Ghidra Class +author: Ghidra Developers Team +collector: Hornos3 +collected_date: 20240826 +link: https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugger/README.md +--- + +# Debugger Ghidra Class + +This is the courseware for the Debugger training class. +It is meant to be viewed directly in GitHub or GitLab but can also be rendered for offline viewing in a classroom. +The courseware was developed with Linux user-space targets in mind, but many of the concepts and information apply to the other platforms. +There are differences in getting started, some subtleties in target behavior, and of course different instruction set architectures, but for the most part, the user interface is the same across the platforms. + +## Table of Contents + +### Beginner Material + +1. [Getting Started](A1-GettingStarted.md) +1. [A Tour of the UI](A2-UITour.md) +1. [Breakpoints](A3-Breakpoints.md) +1. [Machine State: Memory, Registers, and Variables](A4-MachineState.md) +1. [Navigation](A5-Navigation.md) +1. [Memory Map](A6-MemoryMap.md) + +### Advanced Material + +1. [Remote Targets](B1-RemoteTargets.md) +1. [Emulation](B2-Emulation.md) +1. [Scripting](B3-Scripting.md) +1. [Modeling](B4-Modeling.md) diff --git a/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/CustomLibraryScript.java b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/CustomLibraryScript.java new file mode 100644 index 0000000..0f14fa3 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/CustomLibraryScript.java @@ -0,0 +1,48 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import ghidra.app.script.GhidraScript; +import ghidra.pcode.emu.PcodeEmulator; +import ghidra.pcode.emu.PcodeThread; +import ghidra.pcode.exec.PcodeUseropLibrary; + +public class CustomLibraryScript extends GhidraScript { + @Override + protected void run() throws Exception { + PcodeEmulator emu = new PcodeEmulator(currentProgram.getLanguage()) { + @Override + protected PcodeUseropLibrary createUseropLibrary() { + return super.createUseropLibrary() + .compose(new ModelingScript.StructuredStdLibPcodeUseropLibrary<>( + currentProgram.getCompilerSpec())); + } + }; + emu.inject(currentAddress, """ + __libc_strlen(); + __X86_64_RET(); + """); + + // TODO: Initialize the emulator's memory from the current program + + PcodeThread thread = emu.newThread(); + + // TODO: Initialize the thread's registers + + while (true) { + monitor.checkCanceled(); + thread.stepInstruction(100); + } + } +} diff --git a/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/DumpBoardScript.java b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/DumpBoardScript.java new file mode 100644 index 0000000..9f65387 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/DumpBoardScript.java @@ -0,0 +1,85 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.List; + +import ghidra.app.script.GhidraScript; +import ghidra.debug.flatapi.FlatDebuggerAPI; +import ghidra.program.model.address.Address; +import ghidra.program.model.symbol.Symbol; +import ghidra.trace.model.Trace; + +public class DumpBoardScript extends GhidraScript implements FlatDebuggerAPI { + @Override + protected void run() throws Exception { + // -------------------------------- + Trace trace = getCurrentTrace(); + if (trace == null) { + throw new AssertionError("There is no active session"); + } + + // -------------------------------- + if (!"termmines".equals(currentProgram.getName())) { + throw new AssertionError("The current program must be termmines"); + } + + // -------------------------------- + List widthSyms = getSymbols("width", null); + if (widthSyms.isEmpty()) { + throw new AssertionError("Symbol 'width' is required"); + } + List heightSyms = getSymbols("height", null); + if (heightSyms.isEmpty()) { + throw new AssertionError("Symbol 'height' is required"); + } + List cellsSyms = getSymbols("cells", null); + if (cellsSyms.isEmpty()) { + throw new AssertionError("Symbol 'cells' is required"); + } + + Address widthDyn = translateStaticToDynamic(widthSyms.get(0).getAddress()); + if (widthDyn == null) { + throw new AssertionError("Symbol 'width' is not mapped to target"); + } + Address heightDyn = translateStaticToDynamic(heightSyms.get(0).getAddress()); + if (heightDyn == null) { + throw new AssertionError("Symbol 'height' is not mapped to target"); + } + Address cellsDyn = translateStaticToDynamic(cellsSyms.get(0).getAddress()); + if (cellsDyn == null) { + throw new AssertionError("Symbol 'cells' is not mapped to target"); + } + + // -------------------------------- + byte[] widthDat = readMemory(widthDyn, 4, monitor); + byte[] heightDat = readMemory(heightDyn, 4, monitor); + byte[] cellsData = readMemory(cellsDyn, 1024, monitor); + + // -------------------------------- + int width = ByteBuffer.wrap(widthDat).order(ByteOrder.LITTLE_ENDIAN).getInt(); + int height = ByteBuffer.wrap(heightDat).order(ByteOrder.LITTLE_ENDIAN).getInt(); + println("Width: " + width); + println("Height: " + height); + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + if ((cellsData[(y + 1) * 32 + x + 1] & 0x80) == 0x80) { + println("Mine at (%d,%d)".formatted(x, y)); + } + } + } + } +} diff --git a/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallCustomLibraryScript.java b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallCustomLibraryScript.java new file mode 100644 index 0000000..8039dc6 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallCustomLibraryScript.java @@ -0,0 +1,50 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import ghidra.app.plugin.core.debug.service.emulation.*; +import ghidra.app.plugin.processors.sleigh.SleighLanguage; +import ghidra.app.script.GhidraScript; +import ghidra.debug.api.emulation.DebuggerPcodeMachine; +import ghidra.debug.api.emulation.PcodeDebuggerAccess; +import ghidra.debug.flatapi.FlatDebuggerAPI; +import ghidra.pcode.exec.PcodeUseropLibrary; + +public class InstallCustomLibraryScript extends GhidraScript implements FlatDebuggerAPI { + public static class CustomBytesDebuggerPcodeEmulator extends BytesDebuggerPcodeEmulator { + private CustomBytesDebuggerPcodeEmulator(PcodeDebuggerAccess access) { + super(access); + } + + @Override + protected PcodeUseropLibrary createUseropLibrary() { + return super.createUseropLibrary() + .compose(new ModelingScript.SleighStdLibPcodeUseropLibrary<>( + (SleighLanguage) access.getLanguage())); + } + } + + public static class CustomBytesDebuggerPcodeEmulatorFactory + extends BytesDebuggerPcodeEmulatorFactory { + @Override + public DebuggerPcodeMachine create(PcodeDebuggerAccess access) { + return new CustomBytesDebuggerPcodeEmulator(access); + } + } + + @Override + protected void run() throws Exception { + getEmulationService().setEmulatorFactory(new CustomBytesDebuggerPcodeEmulatorFactory()); + } +} diff --git a/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallExprEmulatorScript.java b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallExprEmulatorScript.java new file mode 100644 index 0000000..c1dde68 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/InstallExprEmulatorScript.java @@ -0,0 +1,25 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import ghidra.app.script.GhidraScript; +import ghidra.debug.flatapi.FlatDebuggerAPI; + +public class InstallExprEmulatorScript extends GhidraScript implements FlatDebuggerAPI { + @Override + protected void run() throws Exception { + getEmulationService() + .setEmulatorFactory(new ModelingScript.BytesExprDebuggerPcodeEmulatorFactory()); + } +} diff --git a/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ModelingScript.java b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ModelingScript.java new file mode 100644 index 0000000..f2ef831 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ModelingScript.java @@ -0,0 +1,682 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.math.BigInteger; +import java.util.*; +import java.util.Map.Entry; + +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.tuple.Pair; + +import ghidra.app.plugin.core.debug.service.emulation.*; +import ghidra.app.plugin.processors.sleigh.SleighLanguage; +import ghidra.app.script.GhidraScript; +import ghidra.debug.api.emulation.DebuggerPcodeMachine; +import ghidra.debug.api.emulation.PcodeDebuggerAccess; +import ghidra.lifecycle.Unfinished; +import ghidra.pcode.emu.DefaultPcodeThread.PcodeThreadExecutor; +import ghidra.pcode.emu.PcodeThread; +import ghidra.pcode.emu.auxiliary.AuxEmulatorPartsFactory; +import ghidra.pcode.emu.auxiliary.AuxPcodeEmulator; +import ghidra.pcode.exec.*; +import ghidra.pcode.exec.PcodeArithmetic.Purpose; +import ghidra.pcode.exec.PcodeExecutorStatePiece.Reason; +import ghidra.pcode.exec.debug.auxiliary.AuxDebuggerEmulatorPartsFactory; +import ghidra.pcode.exec.debug.auxiliary.AuxDebuggerPcodeEmulator; +import ghidra.pcode.exec.trace.*; +import ghidra.pcode.exec.trace.auxiliary.AuxTracePcodeEmulator; +import ghidra.pcode.exec.trace.data.PcodeTraceDataAccess; +import ghidra.pcode.exec.trace.data.PcodeTracePropertyAccess; +import ghidra.pcode.struct.StructuredSleigh; +import ghidra.program.model.address.Address; +import ghidra.program.model.address.AddressSpace; +import ghidra.program.model.lang.*; +import ghidra.program.model.mem.MemBuffer; +import ghidra.program.model.pcode.PcodeOp; +import ghidra.program.model.pcode.Varnode; + +public class ModelingScript extends GhidraScript { + + // ---------------------- + + public static class JavaStdLibPcodeUseropLibrary extends AnnotatedPcodeUseropLibrary { + private final AddressSpace space; + private final Register regRSP; + private final Register regRAX; + private final Register regRDI; + private final Register regRSI; + + public JavaStdLibPcodeUseropLibrary(SleighLanguage language) { + space = language.getDefaultSpace(); + regRSP = language.getRegister("RSP"); + regRAX = language.getRegister("RAX"); + regRDI = language.getRegister("RDI"); + regRSI = language.getRegister("RSI"); + } + + @PcodeUserop + public void __x86_64_RET( + @OpExecutor PcodeExecutor executor, + @OpState PcodeExecutorState state) { + PcodeArithmetic arithmetic = state.getArithmetic(); + T tRSP = state.getVar(regRSP, Reason.EXECUTE_READ); + long lRSP = arithmetic.toLong(tRSP, Purpose.OTHER); + T tReturn = state.getVar(space, lRSP, 8, true, Reason.EXECUTE_READ); + long lReturn = arithmetic.toLong(tReturn, Purpose.BRANCH); + state.setVar(regRSP, arithmetic.fromConst(lRSP + 8, 8)); + ((PcodeThreadExecutor) executor).getThread() + .overrideCounter(space.getAddress(lReturn)); + } + + @PcodeUserop + public void __libc_strlen(@OpState PcodeExecutorState state) { + PcodeArithmetic arithmetic = state.getArithmetic(); + T tStr = state.getVar(regRDI, Reason.EXECUTE_READ); + long lStr = arithmetic.toLong(tStr, Purpose.OTHER); + T tMaxlen = state.getVar(regRSI, Reason.EXECUTE_READ); + long lMaxlen = arithmetic.toLong(tMaxlen, Purpose.OTHER); + + for (int i = 0; i < lMaxlen; i++) { + T tChar = state.getVar(space, lStr + i, 1, false, Reason.EXECUTE_READ); + if (arithmetic.toLong(tChar, Purpose.OTHER) == 0) { + state.setVar(regRAX, arithmetic.fromConst(Integer.toUnsignedLong(i), 8)); + break; + } + } + } + } + + // ---------------------- + + public static class SleighStdLibPcodeUseropLibrary extends AnnotatedPcodeUseropLibrary { + private static final String SRC_RET = """ + RIP = *:8 RSP; + RSP = RSP + 8; + return [RIP]; + """; + private static final String SRC_STRLEN = """ + __result = 0; + + if (*:1 (str+__result) == 0 || __result >= maxlen) goto ; + __result = __result + 1; + goto ; + + """; + private final Register regRAX; + private final Register regRDI; + private final Register regRSI; + private final Varnode vnRAX; + private final Varnode vnRDI; + private final Varnode vnRSI; + + private PcodeProgram progRet; + private PcodeProgram progStrlen; + + public SleighStdLibPcodeUseropLibrary(SleighLanguage language) { + regRAX = language.getRegister("RAX"); + regRDI = language.getRegister("RDI"); + regRSI = language.getRegister("RSI"); + vnRAX = new Varnode(regRAX.getAddress(), regRAX.getMinimumByteSize()); + vnRDI = new Varnode(regRDI.getAddress(), regRDI.getMinimumByteSize()); + vnRSI = new Varnode(regRSI.getAddress(), regRSI.getMinimumByteSize()); + } + + @PcodeUserop + public void __x86_64_RET(@OpExecutor PcodeExecutor executor, + @OpLibrary PcodeUseropLibrary library) { + if (progRet == null) { + progRet = SleighProgramCompiler.compileUserop(executor.getLanguage(), + "__x86_64_RET", List.of(), SRC_RET, PcodeUseropLibrary.nil(), List.of()); + } + progRet.execute(executor, library); + } + + @PcodeUserop + public void __libc_strlen(@OpExecutor PcodeExecutor executor, + @OpLibrary PcodeUseropLibrary library) { + if (progStrlen == null) { + progStrlen = SleighProgramCompiler.compileUserop(executor.getLanguage(), + "__libc_strlen", List.of("__result", "str", "maxlen"), + SRC_STRLEN, PcodeUseropLibrary.nil(), List.of(vnRAX, vnRDI, vnRSI)); + } + progStrlen.execute(executor, library); + } + } + + // ---------------------- + + public static class StructuredStdLibPcodeUseropLibrary + extends AnnotatedPcodeUseropLibrary { + public StructuredStdLibPcodeUseropLibrary(CompilerSpec cs) { + new MyStructuredPart(cs).generate(ops); + } + + public static class MyStructuredPart extends StructuredSleigh { + protected MyStructuredPart(CompilerSpec cs) { + super(cs); + } + + @StructuredUserop + public void __x86_64_RET() { + Var RSP = lang("RSP", type("void **")); + Var RIP = lang("RIP", type("void *")); + RIP.set(RSP.deref()); + RSP.addiTo(8); + _return(RIP); + } + + @StructuredUserop + public void __libc_strlen() { + Var result = lang("RAX", type("long")); + Var str = lang("RDI", type("char *")); + Var maxlen = lang("RSI", type("long")); + + _for(result.set(0), result.ltiu(maxlen).andb(str.index(result).deref().eq(0)), + result.inc(), () -> { + }); + } + } + } + + // ---------------------- + + interface Expr { + } + + interface UnExpr extends Expr { + Expr u(); + } + + interface BinExpr extends Expr { + Expr l(); + + Expr r(); + } + + record LitExpr(BigInteger val, int size) implements Expr { + } + + record VarExpr(Varnode vn) implements Expr { + public VarExpr(AddressSpace space, long offset, int size) { + this(space.getAddress(offset), size); + } + + public VarExpr(Address address, int size) { + this(new Varnode(address, size)); + } + } + + record InvExpr(Expr u) implements UnExpr { + } + + record AddExpr(Expr l, Expr r) implements BinExpr { + } + + record SubExpr(Expr l, Expr r) implements BinExpr { + } + + // ---------------------- + + public enum ExprPcodeArithmetic implements PcodeArithmetic { + BE(Endian.BIG), LE(Endian.LITTLE); + + public static ExprPcodeArithmetic forEndian(Endian endian) { + return endian.isBigEndian() ? BE : LE; + } + + public static ExprPcodeArithmetic forLanguage(Language language) { + return language.isBigEndian() ? BE : LE; + } + + private final Endian endian; + + private ExprPcodeArithmetic(Endian endian) { + this.endian = endian; + } + + @Override + public Endian getEndian() { + return endian; + } + + @Override + public Expr unaryOp(int opcode, int sizeout, int sizein1, Expr in1) { + return switch (opcode) { + case PcodeOp.INT_NEGATE -> new InvExpr(in1); + default -> throw new UnsupportedOperationException(PcodeOp.getMnemonic(opcode)); + }; + } + + @Override + public Expr binaryOp(int opcode, int sizeout, int sizein1, Expr in1, int sizein2, + Expr in2) { + return switch (opcode) { + case PcodeOp.INT_ADD -> new AddExpr(in1, in2); + case PcodeOp.INT_SUB -> new SubExpr(in1, in2); + default -> throw new UnsupportedOperationException(PcodeOp.getMnemonic(opcode)); + }; + } + + @Override + public Expr modBeforeStore(int sizeout, int sizeinAddress, Expr inAddress, int sizeinValue, + Expr inValue) { + return inValue; + } + + @Override + public Expr modAfterLoad(int sizeout, int sizeinAddress, Expr inAddress, int sizeinValue, + Expr inValue) { + return inValue; + } + + @Override + public Expr fromConst(byte[] value) { + if (endian.isBigEndian()) { + return new LitExpr(new BigInteger(1, value), value.length); + } + byte[] reversed = Arrays.copyOf(value, value.length); + ArrayUtils.reverse(reversed); + return new LitExpr(new BigInteger(1, reversed), reversed.length); + } + + @Override + public Expr fromConst(BigInteger value, int size, boolean isContextreg) { + return new LitExpr(value, size); + } + + @Override + public Expr fromConst(long value, int size) { + return fromConst(BigInteger.valueOf(value), size); + } + + @Override + public byte[] toConcrete(Expr value, Purpose purpose) { + throw new UnsupportedOperationException(); + } + + @Override + public long sizeOf(Expr value) { + throw new UnsupportedOperationException(); + } + } + + // ---------------------- + + public static class ExprSpace { + protected final NavigableMap map; + protected final AddressSpace space; + + protected ExprSpace(AddressSpace space, NavigableMap map) { + this.space = space; + this.map = map; + } + + public ExprSpace(AddressSpace space) { + this(space, new TreeMap<>()); + } + + public void clear() { + map.clear(); + } + + public void set(long offset, Expr val) { + // TODO: Handle overlaps / offcut gets and sets + map.put(offset, val); + } + + public Expr get(long offset, int size) { + // TODO: Handle overlaps / offcut gets and sets + Expr expr = map.get(offset); + return expr != null ? expr : whenNull(offset, size); + } + + protected Expr whenNull(long offset, int size) { + return new VarExpr(space, offset, size); + } + } + + public static abstract class AbstractBytesExprPcodeExecutorStatePiece + extends + AbstractLongOffsetPcodeExecutorStatePiece { + + protected final AbstractSpaceMap spaceMap = newSpaceMap(); + + public AbstractBytesExprPcodeExecutorStatePiece(Language language) { + super(language, BytesPcodeArithmetic.forLanguage(language), + ExprPcodeArithmetic.forLanguage(language)); + } + + protected abstract AbstractSpaceMap newSpaceMap(); + + @Override + public MemBuffer getConcreteBuffer(Address address, Purpose purpose) { + throw new UnsupportedOperationException(); + } + + @Override + public void clear() { + for (S space : spaceMap.values()) { + space.clear(); + } + } + + @Override + protected S getForSpace(AddressSpace space, boolean toWrite) { + return spaceMap.getForSpace(space, toWrite); + } + + @Override + protected void setInSpace(ExprSpace space, long offset, int size, Expr val) { + space.set(offset, val); + } + + @Override + protected Expr getFromSpace(S space, long offset, int size, Reason reason) { + return space.get(offset, size); + } + + @Override + protected Map getRegisterValuesFromSpace(S s, List registers) { + throw new UnsupportedOperationException(); + } + } + + public static class ExprPcodeExecutorStatePiece + extends AbstractBytesExprPcodeExecutorStatePiece { + public ExprPcodeExecutorStatePiece(Language language) { + super(language); + } + + @Override + protected AbstractSpaceMap newSpaceMap() { + return new SimpleSpaceMap() { + @Override + protected ExprSpace newSpace(AddressSpace space) { + return new ExprSpace(space); + } + }; + } + } + + public static class BytesExprPcodeExecutorState extends PairedPcodeExecutorState { + public BytesExprPcodeExecutorState(PcodeExecutorStatePiece concrete) { + super(new PairedPcodeExecutorStatePiece<>(concrete, + new ExprPcodeExecutorStatePiece(concrete.getLanguage()))); + } + } + + // ---------------------- + + public enum BytesExprEmulatorPartsFactory implements AuxEmulatorPartsFactory { + INSTANCE; + + @Override + public PcodeArithmetic getArithmetic(Language language) { + return ExprPcodeArithmetic.forLanguage(language); + } + + @Override + public PcodeUseropLibrary> createSharedUseropLibrary( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropStub( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropLibrary( + AuxPcodeEmulator emulator, PcodeThread> thread) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeExecutorState> createSharedState( + AuxPcodeEmulator emulator, BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } + + @Override + public PcodeExecutorState> createLocalState( + AuxPcodeEmulator emulator, PcodeThread> thread, + BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } + } + + public class BytesExprPcodeEmulator extends AuxPcodeEmulator { + public BytesExprPcodeEmulator(Language language) { + super(language); + } + + @Override + protected AuxEmulatorPartsFactory getPartsFactory() { + return BytesExprEmulatorPartsFactory.INSTANCE; + } + } + + // ---------------------- + + public static class ExprTraceSpace extends ExprSpace { + protected final PcodeTracePropertyAccess property; + + public ExprTraceSpace(AddressSpace space, PcodeTracePropertyAccess property) { + super(space); + this.property = property; + } + + @Override + protected Expr whenNull(long offset, int size) { + String string = property.get(space.getAddress(offset)); + return deserialize(string); + } + + public void writeDown(PcodeTracePropertyAccess into) { + if (space.isUniqueSpace()) { + return; + } + + for (Entry entry : map.entrySet()) { + // TODO: Ignore and/or clear non-entries + into.put(space.getAddress(entry.getKey()), serialize(entry.getValue())); + } + } + + protected String serialize(Expr expr) { + return Unfinished.TODO(); + } + + protected Expr deserialize(String string) { + return Unfinished.TODO(); + } + } + + public static class BytesExprTracePcodeExecutorStatePiece + extends AbstractBytesExprPcodeExecutorStatePiece + implements TracePcodeExecutorStatePiece { + public static final String NAME = "Taint"; + + protected final PcodeTraceDataAccess data; + protected final PcodeTracePropertyAccess property; + + public BytesExprTracePcodeExecutorStatePiece(PcodeTraceDataAccess data) { + super(data.getLanguage()); + this.data = data; + this.property = data.getPropertyAccess(NAME, String.class); + } + + @Override + public PcodeTraceDataAccess getData() { + return data; + } + + @Override + protected AbstractSpaceMap newSpaceMap() { + return new CacheingSpaceMap, ExprTraceSpace>() { + @Override + protected PcodeTracePropertyAccess getBacking(AddressSpace space) { + return property; + } + + @Override + protected ExprTraceSpace newSpace(AddressSpace space, + PcodeTracePropertyAccess backing) { + return new ExprTraceSpace(space, property); + } + }; + } + + @Override + public BytesExprTracePcodeExecutorStatePiece fork() { + throw new UnsupportedOperationException(); + } + + @Override + public void writeDown(PcodeTraceDataAccess into) { + PcodeTracePropertyAccess property = into.getPropertyAccess(NAME, String.class); + for (ExprTraceSpace space : spaceMap.values()) { + space.writeDown(property); + } + } + } + + public static class BytesExprTracePcodeExecutorState + extends PairedTracePcodeExecutorState { + + public BytesExprTracePcodeExecutorState( + TracePcodeExecutorStatePiece concrete) { + super(new PairedTracePcodeExecutorStatePiece<>(concrete, + new BytesExprTracePcodeExecutorStatePiece(concrete.getData()))); + } + } + + enum BytesExprDebuggerEmulatorPartsFactory implements AuxDebuggerEmulatorPartsFactory { + INSTANCE; + + @Override + public PcodeArithmetic getArithmetic(Language language) { + return ExprPcodeArithmetic.forLanguage(language); + } + + @Override + public PcodeUseropLibrary> createSharedUseropLibrary( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropStub( + AuxPcodeEmulator emulator) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeUseropLibrary> createLocalUseropLibrary( + AuxPcodeEmulator emulator, + PcodeThread> thread) { + return PcodeUseropLibrary.nil(); + } + + @Override + public PcodeExecutorState> createSharedState( + AuxPcodeEmulator emulator, + BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } + + @Override + public PcodeExecutorState> createLocalState( + AuxPcodeEmulator emulator, + PcodeThread> thread, + BytesPcodeExecutorStatePiece concrete) { + return new BytesExprPcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createTraceSharedState( + AuxTracePcodeEmulator emulator, + BytesTracePcodeExecutorStatePiece concrete) { + return new BytesExprTracePcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createTraceLocalState( + AuxTracePcodeEmulator emulator, + PcodeThread> thread, + BytesTracePcodeExecutorStatePiece concrete) { + return new BytesExprTracePcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createDebuggerSharedState( + AuxDebuggerPcodeEmulator emulator, + RWTargetMemoryPcodeExecutorStatePiece concrete) { + return new BytesExprTracePcodeExecutorState(concrete); + } + + @Override + public TracePcodeExecutorState> createDebuggerLocalState( + AuxDebuggerPcodeEmulator emulator, + PcodeThread> thread, + RWTargetRegistersPcodeExecutorStatePiece concrete) { + return new BytesExprTracePcodeExecutorState(concrete); + } + } + + public static class BytesExprDebuggerPcodeEmulator extends AuxDebuggerPcodeEmulator { + public BytesExprDebuggerPcodeEmulator(PcodeDebuggerAccess access) { + super(access); + } + + @Override + protected AuxDebuggerEmulatorPartsFactory getPartsFactory() { + return BytesExprDebuggerEmulatorPartsFactory.INSTANCE; + } + } + + public static class BytesExprDebuggerPcodeEmulatorFactory + extends AbstractDebuggerPcodeEmulatorFactory { + + @Override + public String getTitle() { + return "Expr"; + } + + @Override + public DebuggerPcodeMachine create(PcodeDebuggerAccess access) { + return new BytesExprDebuggerPcodeEmulator(access); + } + } + + // ---------------------- + + @Override + protected void run() throws Exception { + BytesExprPcodeEmulator emu = new BytesExprPcodeEmulator(currentProgram.getLanguage()); + // TODO: Initialize the machine + PcodeExecutorState> state = emu.getSharedState(); + state.setVar(currentAddress, 4, true, + Pair.of(new byte[] { 1, 2, 3, 4 }, new VarExpr(currentAddress, 4))); + PcodeThread> thread = emu.newThread(); + // TODO: Initialize the thread + while (true) { + monitor.checkCancelled(); + thread.stepInstruction(100); + } + } +} diff --git a/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ZeroTimerScript.java b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ZeroTimerScript.java new file mode 100644 index 0000000..a208618 --- /dev/null +++ b/sources/GhidraDocs/GhidraClass/Debugger/ghidra_scripts/ZeroTimerScript.java @@ -0,0 +1,138 @@ +/* ### + * IP: GHIDRA + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import ghidra.app.script.GhidraScript; +import ghidra.dbg.target.TargetExecutionStateful.TargetExecutionState; +import ghidra.debug.api.breakpoint.LogicalBreakpoint; +import ghidra.debug.flatapi.FlatDebuggerAPI; +import ghidra.program.model.address.Address; +import ghidra.program.model.listing.Function; +import ghidra.program.model.symbol.Symbol; +import ghidra.program.util.ProgramLocation; +import ghidra.trace.model.Trace; + +public class ZeroTimerScript extends GhidraScript implements FlatDebuggerAPI { + @Override + protected void run() throws Exception { + // -------------------------------- + Trace trace = getCurrentTrace(); + if (trace == null) { + throw new AssertionError("There is no active session"); + } + + if (!"termmines".equals(currentProgram.getName())) { + throw new AssertionError("The current program must be termmines"); + } + + if (getExecutionState(trace).isRunning()) { + monitor.setMessage("Interrupting target and waiting for STOPPED"); + interrupt(); + waitForBreak(3, TimeUnit.SECONDS); + } + flushAsyncPipelines(trace); + + if (!getControlService().getCurrentMode(trace).canEdit(getCurrentDebuggerCoordinates())) { + throw new AssertionError("Current control mode is read-only"); + } + + // -------------------------------- + List timerSyms = getSymbols("timer", null); + if (timerSyms.isEmpty()) { + throw new AssertionError("Symbol 'timer' is required"); + } + List winFuncs = getGlobalFunctions("print_win"); + if (winFuncs.isEmpty()) { + throw new AssertionError("Function 'print_win' is required"); + } + List resetSyms = getSymbols("reset_timer", winFuncs.get(0)); + if (resetSyms.isEmpty()) { + throw new AssertionError("Symbol 'reset_timer' is required"); + } + + Address timerDyn = translateStaticToDynamic(timerSyms.get(0).getAddress()); + if (timerDyn == null) { + throw new AssertionError("Symbol 'timer' is not mapped to target"); + } + Address resetDyn = translateStaticToDynamic(resetSyms.get(0).getAddress()); + if (resetDyn == null) { + throw new AssertionError("Symbol 'reset_timer' is not mapped to target"); + } + + // -------------------------------- + ProgramLocation breakLoc = + new ProgramLocation(currentProgram, resetSyms.get(0).getAddress()); + Set breaks = breakpointsEnable(breakLoc); + if (breaks == null || breaks.isEmpty()) { + breakpointSetSoftwareExecute(breakLoc, "reset timer"); + } + + // -------------------------------- + while (true) { + monitor.checkCanceled(); + + TargetExecutionState execState = getExecutionState(trace); + switch (execState) { + case STOPPED: + resume(); + break; + case TERMINATED: + case INACTIVE: + throw new AssertionError("Target terminated"); + case ALIVE: + println( + "I don't know whether or not the target is running. Please make it RUNNING."); + break; + case RUNNING: + /** + * Probably timed out waiting for break. That's fine. Give the player time to + * win. + */ + break; + default: + throw new AssertionError("Unrecognized state: " + execState); + } + try { + monitor.setMessage("Waiting for player to win"); + waitForBreak(1, TimeUnit.SECONDS); + } + catch (TimeoutException e) { + // Give the player time to win. + continue; + } + flushAsyncPipelines(trace); + Address pc = getProgramCounter(); + println("STOPPED at pc = " + pc); + if (resetDyn.equals(pc)) { + break; + } + } + + // -------------------------------- + int time = readRegister("ECX").getUnsignedValue().intValue(); + if (!writeMemory(timerDyn, + ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putInt(time).array())) { + throw new AssertionError("Could not write over timer. Does control mode allow edits?"); + } + + resume(); + } +} diff --git a/sources/GhidraDocs/GhidraClass/Debugger/images/Breakpoints_EmptyAfterLaunch.png b/sources/GhidraDocs/GhidraClass/Debugger/images/Breakpoints_EmptyAfterLaunch.png new file mode 100644 index 0000000000000000000000000000000000000000..0bda62bfb5cbeb7fca8dfcd148af463b66ad5755 GIT binary patch literal 14679 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 !R4l{0phw#nlqTJxQ4`rSK2+My}?lNyFV$u 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