https://github.com/trigger-segfault/ollydbg-argfile-docs
Documentation on the undocumented OllyDbg v2.01 .arg file, allowing definition of structures, functions, enumerations, etc.
https://github.com/trigger-segfault/ollydbg-argfile-docs
documentation odbg201 ollydbg structures
Last synced: about 1 year ago
JSON representation
Documentation on the undocumented OllyDbg v2.01 .arg file, allowing definition of structures, functions, enumerations, etc.
- Host: GitHub
- URL: https://github.com/trigger-segfault/ollydbg-argfile-docs
- Owner: trigger-segfault
- License: mit
- Created: 2021-07-19T20:41:43.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-07-22T20:26:12.000Z (almost 5 years ago)
- Last Synced: 2025-01-29T03:37:31.537Z (over 1 year ago)
- Topics: documentation, odbg201, ollydbg, structures
- Language: C++
- Homepage:
- Size: 54.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://reverseengineering.stackexchange.com/a/11911/36150). 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](https://github.com/trigger-segfault/Ollydbg-Argfile-Docs/wiki)** for in-depth documentation on the `.arg` file syntax.
* See the **[common.arg](https://github.com/trigger-segfault/Ollydbg-Argfile-Docs/blob/main/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 `.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:**
```log
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:**
```diff
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
* [OllyDbg v2.01](http://www.ollydbg.de/)
* [StackOverflow answer](https://reverseengineering.stackexchange.com/a/11911/36150)