<mrfearless> well the info pointer of CBMENUENTRY points to the PLUG_CB_MENUENTRY structure, which has the hEntry field
<mrfearless> you would only be able to check the hEntry against menu items you yourself added for your plugin
<mrexodia> Should not be possible (re @EvilSapphire: In CB_MENUENTRY callback function can we ever get an hEntry value from x32dbg that was not registered while registering the menus with _plugin_menuaddentry?)
<mrexodia> Personally I use an enum
<mrfearless> same - altho in asm its just static vars: ; Plugin Menu IDs MENU_OPTIONS EQU 1 MENU_CHECKNOW EQU 2 MENU_CHECKNOW_SILENT EQU 3 MENU_CHECKONSTARTUP EQU 4 MENU_CHECKONIDLE EQU 5 MENU_REMINDDOWNLOADED EQU 6 MENU_ABOUT EQU 7
<mrexodia> Yeah it’s your own enum that you get back
<mrexodia> Internally there is another id but it’s not exposed iirc
<EvilSapphire> In scyllahide the CB_MENUENTRY function checks for the passed hEntry via a switch case and there's cases for the registered entries, but also a default case where the actual hookdll injection happens
<mrexodia> I don’t think it’s called
<EvilSapphire> What do you mean?
<EvilSapphire> It definitely registers a menu
<EvilSapphire> With menu entries for about, injection etc
<EvilSapphire> With the entry ids that are checked with a switch case on the callback CB_MENUENTRY registered function
<EvilSapphire> From what you guys say I'm doubtful execution would even reach the default case (re @EvilSapphire: In scyllahide the CB_MENUENTRY function checks for the passed hEntry via a switch case and there's cases for the registered entries, but also a default case where the actual hookdll injection happens)
<EvilSapphire> Registering the menus with the MENU_* entries:
<mrexodia> Yeah that’s what I meant (re @EvilSapphire: From what you guys say I'm doubtful execution would even reach the default case)
<mrexodia> The MENU_XXX will be in the hEntry
<mrexodia> But there’s no default case iirc
<mrfearless> maybe if hEntry is 0?
<mrfearless> but seems unlikely
<EvilSapphire> When will hEntry be zero?
<mrfearless> not sure, just throwing out an idea
<mrexodia> If your MENU_xxx == 0 (re @EvilSapphire: When will hEntry be zero?)
<mrfearless> yeh true
<EvilSapphire> Yeah but these 3 are the entries registered by scyllahide:
<mrexodia> No, those are the callbacks
<EvilSapphire> And this callback switch case handles each of the registered entries:
<EvilSapphire> Oh sorry
<EvilSapphire> Wrong screenshot
<mrexodia> This is very weird
<EvilSapphire> These are the registered entries
<mrexodia> So default
<mrexodia> Is the profile menus
<EvilSapphire> Oh crap
<EvilSapphire> Yes yes
<EvilSapphire> So scyllahide supports profiles too? The hell that means
<EvilSapphire> As if the plugin wasn't complicated enough
<EvilSapphire> Thanks Duncan!
<mrexodia> There are much simpler plugins ^^ (re @EvilSapphire: As if the plugin wasn't complicated enough)
<EvilSapphire> For anti anti debug?
<EvilSapphire> Better than scyllahide?
<mrfearless> so instead of an if/else or a switch/case specifying the menu profile option its just assuming the last option
<mrfearless> or default option
<EvilSapphire> Yeah they just take care of the profiles. No idea what that means though
<EvilSapphire> Why the actual injection would happen in these so called profiles is beyond ne
<mrexodia> Different settings for different protections