You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BBIS takes advantage of a fundamental feature present in x8086 assembly, which allows for flexible operand encoding in various instructions. This feature grants the ability to choose between operands sourced from registers or memory, depending on the content of the ModRM (Mod R/M) byte.
One notable aspect of this feature is exemplified in instructions like "xor" that involve register-to-register or register-to-memory operations. In such cases, the encoding of the instruction can be achieved through multiple methods. Regardless of the chosen encoding, the instruction effectively performs the xor operation.
To illustrate, let's consider the "xor eax, eax" instruction. This particular instruction can be encoded as "31 C0" or "33 C0," showcasing the versatility in selecting the encoding method when both operands are registers.
By capitalizing on this flexibility, BBIS is able to strategically select the appropriate encoding based on the binary input of the data to hide, for each instruction supporting this feature. This allows for precise and efficient manipulation of data within executables while preserving the intended functionality of the program.
Proficiency in understanding the diverse encoding methods and their implications is crucial for effectively utilizing this feature within BBIS. So anyone who can contribute to this project is welcome or even if you just have an idea still feel free to discuss everything here.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
BBIS takes advantage of a fundamental feature present in x8086 assembly, which allows for flexible operand encoding in various instructions. This feature grants the ability to choose between operands sourced from registers or memory, depending on the content of the ModRM (Mod R/M) byte.
One notable aspect of this feature is exemplified in instructions like "xor" that involve register-to-register or register-to-memory operations. In such cases, the encoding of the instruction can be achieved through multiple methods. Regardless of the chosen encoding, the instruction effectively performs the xor operation.
To illustrate, let's consider the "xor eax, eax" instruction. This particular instruction can be encoded as "31 C0" or "33 C0," showcasing the versatility in selecting the encoding method when both operands are registers.
By capitalizing on this flexibility, BBIS is able to strategically select the appropriate encoding based on the binary input of the data to hide, for each instruction supporting this feature. This allows for precise and efficient manipulation of data within executables while preserving the intended functionality of the program.
Proficiency in understanding the diverse encoding methods and their implications is crucial for effectively utilizing this feature within BBIS. So anyone who can contribute to this project is welcome or even if you just have an idea still feel free to discuss everything here.
Beta Was this translation helpful? Give feedback.
All reactions