trigger-segfault / Ollydbg-Argfile-Docs

Documentation on the undocumented OllyDbg v2.01 .arg file, allowing definition of structures, functions, enumerations, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OllyDbg-Argfile-Docs

Documentation on the undocumented OllyDbg v2.01 .arg file, allowing definition of structures, functions, enumerations, etc.

Initial information on the .arg file was found thanks to this StackOverflow answer. Remaining information has been discovered through reverse engineering with Ghidra and extensive trial-and-error testing. There is still plenty that is not fully known, or understood in the slightest.

  • See the Wiki Home for in-depth documentation on the .arg file syntax.
  • See the common.arg file for a working example with documentation comments written in.

Basics

Filename

Files must use the .arg extension, and be located in the same folder as OllyDbg (or working directory?).

The filename common.arg is loaded on startup of OllyDbg, and its definitions are made available for all debugged process.

For everything else, the filename <processname>.arg must be used, which will presumably load when attaching or starting a new debugging session.

Troubleshooting

It's recommended to use common.arg when frequently troubleshooting syntax errors or mistakes, as it is loaded immediately on startup of OllyDbg.

Errors produced when loading an .arg file will be shown in the Log window (View > Log) in OllyDbg. Parsing of the file will stop the moment an error occurs, which will then be reported along with the line number.

See Log Examples

Success:

 OllyDbg v2.01
 Loading function descriptions from 'common.arg'
   216 constants, 42 structures, 16 types, 3 functions, 2 data blocks
   Total size of known data is 1550920 bytes

Error:

 OllyDbg v2.01
 Loading function descriptions from 'common.arg'
   216 constants, 42 structures, 16 types, 3 functions, 2 data blocks
-  Line 170. Extra characters on line

See also

External links

About

Documentation on the undocumented OllyDbg v2.01 .arg file, allowing definition of structures, functions, enumerations, etc.

License:MIT License


Languages

Language:C++ 94.2%Language:Python 5.8%