I'm studying a reverse engineering course and here is an example about obfuscation indirect addresses:
The course says:
- The original code moves the content of the CH register to DL and the output will be 'I'.
- In the obfuscated code, the "BL" value, which is "70", will be moved to DL by the "MOV DL, BL" instruction.
- However, since "ADD CS:[SI], AH" is used, the contents of AH will be added to "BL". Therefore, BL value will be 72.
- Since the instruction will make a jump to the following 2 instructions, the CH contents will be moved to DL and the output will be 'I' in place of 'H'.
I don't understand points 3 and 4. Will the last byte at the L1 line be incremented by 2? What really happens?