I am working on automating some functionality within a closed-source third party application; I want to automate the creation of "Project Files" (in its simplest form, just a collection of video files in a specific order). The video files which this application works with each have an associated metadata file, and I have already managed to understand and recreate 99% of its format. Both these "project files" and the metadata files are more-or-less plain XML (with some strange tag names I have yet to decipher).
Basically, I want to know what methods I can use to determine the format of these project files so that I can write my own and reference the video files I have chosen in the prior part of my script.
There are many DLL files in the applications directory, and I was thinking that maybe monitoring their use during a save operation (of a project file in the application) could point me in the right direction? If so, how could I go about this? I have also began learning DLL injection, and was wondering if this could be of use?
Another thing I was considering was using Dependency Walker or IDA Pro (or both) to see what DLL modules are being called (in the creation of the metadata, as there are a number of DLLs which seem like they were included for this purpose). I was then going to write my own DLLs to take their place and "Man-In-The-Middle" the transfer of data...
Do you think this is a reasonable approach (in conjunction with your method)? I'm giving you best (and only!) answer :)
– araisbec Sep 23 '13 at 19:22