Hi All ,
We already knew before that its like an if statements checking for flags or bytes , we haven`t any thing new after this .
noping the if statement will not work as this will brick the routine and may also brick the whole setup modules , we should modify the byte or flag to make the condition true to show the menus and options .
its programmed like this :-
if statement ------ language ----- menu offset in string table ----- default setting ------
the code doing this is not found in the routines in the start of the file , it found far away after the strings table , its inside the menus itself not something in the code which initialize the whole menus .
you should knew these facts :-
1) the codes and routines in the end of the setup module ( like dll entry point and others ) are responsible for showing or hiding TABS NOT MENUS AND OPTIONS .
thats why when i have modified the code , i could hide the advanced menu ..... and could show it in another UEFI bios where the advanced tab was hidden .
this is easy in assembly and could be noticed clearly .
2) the module is divided into sections :
a: the code and routines in the end of the file which is responsible for strings and TABS initialization and calling the menus routines ..... etc .this section can show the tabs ( if its hidden ) but can`t do anything with options or menus inside tabs .
b: the strings itself in the start of the file .
c: after this , we should find the strings table which works as a pointer to the strings , every 2 bytes refer to the address of a specified string .
d: after this we should find the bytes of the menus it self , inside this you can find bytes which are calling addresses in the strings table , when its called , it calls the required string ............... and we find the if statement responsible for hiding options or menus , also the bytes ( or flags ) responsible for indicating what language is this string and some other bytes which i don`t knew about yet .
so , for Marstone , we already knew about these information and i expected some interesting news from you
just kidding , i knew about NDA for all great companies and expected that your friend tell you this , we just need phoenix to release an emulator for UEFI , just like the PBE for normal phoenix BIOS ............. we can knew where menus are but we can`t knew what condition it checks to make the menu hidden , thats why i asked for emulator not the source code as i knew its impossible to get source code