On Windows, you can exploit the way that Windows loads dynamic link libraries. Let's say, for example, that App(X) loads dll(Y). By creating your own dll (Z) of the same name and binary interface, you can have the application load Z instead of Y, with all of your calls being forwarded to Y. This allows you access to the parameters. The same data can be seen with a debugger, but this way allows you to create more readable/custom output via logging. Your options, overall, vary greatly with how the application is structured and the (non)existence of encryption/compression (upx compression and bogus PE header data can really screw alot of debuggers up).




Reply With Quote

Bookmarks