logging - How to log all API calls in Windows the same way Wine does in Linux? -
im debugging windows application in linux using wine (eudora), using winedebugger=+relay
create (rather massive) log of api calls. i've spotted problem is, want run same application in native windows (well, virtualbox), see how behaves , compare differences (if any).
i know there several windows tools can trace api calls, need 1 can generate same kind of log wine does, can use same workflow:
configure logger/tracer exclude given list of functions (as in
kernel32.setlasterror; kernel32.getlasterror; kernel32.flsgetvalue; ntdll.rtlentercriticalsection; ntdll.rtlleavecriticalsection
, equivalent wine'sdebug\relayexclude
registry entry. crucial, since differnce between 30mb logfile , 1.3 gb oneall other calls must traced, regardless of library/module/dll/whatever. must not sorted or filtered module, since order calls made crucial me (so can backtrack , not lost)
start tracer
tracer c:\programfiles\eudora\eudora.exe 2> hugelogfile.txt
it launches eudora, perform actions, , close eudora.
tracer stops when eudora terminates. log ready me play with.
here snippet of wine log, if helps (similar format desirable):
0009:call advapi32.regqueryvaluew(80000000,0033b5dc l".txt",0033b9a0,0033bbac) ret=7e9a6c7a 0009:ret advapi32.regqueryvaluew() retval=00000000 ret=7e9a6c7a 0009:call advapi32.regopenkeyexw(80000000,0033b9a0 l"txtfile",00000000,02000000,0033a528) ret=7e9a3b66 0009:ret advapi32.regopenkeyexw() retval=00000000 ret=7e9a3b66 0009:call advapi32.regclosekey(000000d4) ret=7e9a3bbc 0009:ret advapi32.regclosekey() retval=00000000 ret=7e9a3bbc 0009:call advapi32.regqueryvaluew(80000000,0033b9a0 l"txtfile\\shell\\\\command",0033ada0,0033a52c) ret=7e9a3c04 0009:ret advapi32.regqueryvaluew() retval=00000002 ret=7e9a3c04 0009:call shlwapi.pathisdirectoryw(0033e464 l"d:\\arquivos\\email\\attach\\carro.txt") ret=7e9a8a26 0009:call kernel32.getfileattributesw(0033e464 l"d:\\arquivos\\email\\attach\\carro.txt") ret=7eb47738 0009:ret kernel32.getfileattributesw() retval=00000020 ret=7eb47738 0009:ret shlwapi.pathisdirectoryw() retval=00000000 ret=7e9a8a26 0009:call shlwapi.pathisurlw(0033e464 l"d:\\arquivos\\email\\attach\\carro.txt") ret=7e9a8e68 0009:ret shlwapi.pathisurlw() retval=00000000 ret=7e9a8e68 0009:call user32.loadstringw(7e950000,000000a4,0033abb0,00000800) ret=7e9a3ac2 0009:ret user32.loadstringw() retval=00000041 ret=7e9a3ac2 0009:call user32.messageboxw(000100c4,0033abb0 l"there no windows program configured open type of file.",00000000,00000010) ret=7e9a3a84
can please suggest me free, downloadable software can that, and, importalnty, exact instructions on how achieve workflow suggested software?
thanks!
in general, nothing other wine can give trace looking for. reason wine can because doesn't use actual windows dlls , libraries uses reverse-engineered ones have had large amount of additional logging added in.
that being said, try attach remote debugger running eudora process , see if anything, fruitless.
Comments
Post a Comment