V01T
13.12.2009, 17:27
Имеется вот такой кусочек программы ... создаётся CreateProcess и после выполнения FSTP QWORD PTR SS:[ESP]
ST7 заполняется нужным значением ... вопрос как его от туда достать (Delphi или C++)
0040C766 |. 52 |PUSH EDX ; /<%5.1f>
0040C767 |. DFAC24 8801000>|FILD QWORD PTR SS:[ESP+188] ; |
0040C76E |. DF2D D8854600 |FILD QWORD PTR DS:[4685D8] ; |
0040C774 |. DEF9 |FDIVP ST(1),ST ; |
0040C776 |. D80D B4024600 |FMUL DWORD PTR DS:[4602B4] ; |
0040C77C |. DD1C24 |FSTP QWORD PTR SS:[ESP] ; |
0040C77F |. 68 3EFB4500 |PUSH precomp.0045FB3E ; |format = "%5.1f%%"
0040C784 |. E8 57550200 |CALL <JMP.&msvcrt.printf> ; \printf
И да ... CALL <JMP.&msvcrt.printf> выполнять не принципиально так как окно не создаётся а лишь висит как фоновый процесс и отображать данные не нужно так как их нужно взять от туда и использовать их (данные) в своих целях
Понимаю что надо делать инжект своей процедуры ... но вопрос что и как сделать
ST7 заполняется нужным значением ... вопрос как его от туда достать (Delphi или C++)
0040C766 |. 52 |PUSH EDX ; /<%5.1f>
0040C767 |. DFAC24 8801000>|FILD QWORD PTR SS:[ESP+188] ; |
0040C76E |. DF2D D8854600 |FILD QWORD PTR DS:[4685D8] ; |
0040C774 |. DEF9 |FDIVP ST(1),ST ; |
0040C776 |. D80D B4024600 |FMUL DWORD PTR DS:[4602B4] ; |
0040C77C |. DD1C24 |FSTP QWORD PTR SS:[ESP] ; |
0040C77F |. 68 3EFB4500 |PUSH precomp.0045FB3E ; |format = "%5.1f%%"
0040C784 |. E8 57550200 |CALL <JMP.&msvcrt.printf> ; \printf
И да ... CALL <JMP.&msvcrt.printf> выполнять не принципиально так как окно не создаётся а лишь висит как фоновый процесс и отображать данные не нужно так как их нужно взять от туда и использовать их (данные) в своих целях
Понимаю что надо делать инжект своей процедуры ... но вопрос что и как сделать