Add HookAnalyzer Logic#20
Conversation
|
Can you elaborate on what this does? |
|
OK let me explain the rest flags. Dry Run Mode
|
|
Can you elaborate on what this does? |
|
OK let me explain the rest flags. Dry Run Mode
|
Context
See Phobos PR #2201
NOTE
all the flags are temporarily stored in the SyringeDebugger class, and maybe we need to move it to another subclass.
HookAnalyzer class is moved from SyringeIH here as it was except a few translations.
HookAnalyzer::ReportNDJSON is not yet implemented until we import a JSON library,and I place the function here just as Kerbiter's wish.
some of the flags are set to default because the coupled components are not here in SyringeEx, so now every hook are set to be shown in the hook analysis.
New & Enhanced Logic :
Components (1) :
HookAnalyzer
New Flags (8) :
Launch Arguments (8) :
--dryrun : run syringe without launching game.
--generate-inj : generate INJ files and place them in .\INJ folder
--report-log : generate a HookAnalysis.log, as it functions in SyringeIH but in English
--no-by-address : Disable the "By Address" part in HookAnalysis.log.
--no-by-library : Disable the "By Library" part in HookAnalysis.log.
--report-json : generate a HookAnalysis.json TODO
--detect-conflict : Detect hook conflict and output to Syringe.log, as it functions in SyringeIH but in English
--show-hook-conflict-popup : Show a popup when --detect-conflict is enabled and a conflict is detected.
In the dry run mode all other 7 flags are available.