對RtlCompareMemory的第四次調用,其返回值是在條件成立情況下(實際上比較的是MD4值)匹配的位元組數,它應該是16(十六進位形式為0x10)。根據目前掌握的情況,我天真地以為完全可以創建一個"通用後門",方法是對於所有來自LSASS內部的、比較長度為16位元組的RtlCompareMemory調用,一律讓其返回0x10。這就意味著可以使用任意密碼了,對吧?為此,我對frida-trace處理程序進行了相應的更新,主要在retval.replace(0x10)上面,這表示在onLeave方法中匹配了16個位元組並通過了測試!