diff options
Diffstat (limited to 'results/scraper/fex/2841')
| -rw-r--r-- | results/scraper/fex/2841 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/results/scraper/fex/2841 b/results/scraper/fex/2841 new file mode 100644 index 000000000..f4dd50228 --- /dev/null +++ b/results/scraper/fex/2841 @@ -0,0 +1,20 @@ +Denuvo needs inline self-modifying code support +Currently it crashes because of an invalid instruction. +The instruction stream (From Hatsune Miku Project DIVA Mega Mix+) starts as follows. +```asm +1569854b0 812d000000001896… sub dword [rel data_1569854ba], 0x1b519618 {0xa20f9090} // Modifies the next instruction +1569854ba a826 test al, 0x26 // Instruction modified +1569854bc 61 ?? +``` + +The initial sub instruction in this block is modifying the code just after the instruction. Which turns it in to: +```asm +0x00000000 1 90 nop +0x00000001 1 90 nop +0x00000002 2 0fa2 cpuid +0x00000004 10 8105f2ffffff1896511b add dword [rip - 0xe], 0x1b519618 +0x0000000e 1 c3 ret +``` + +The final add there modifying the code back to what it was before. +FEX need to have a generic (and fast) solution towards detecting something like this if we want any Denuvo Anti-Tamper games to work. \ No newline at end of file |