├── OllyCallstack.sln
├── OllyCallstack
├── OllyCallstack.vcxproj
├── OllyPluginHeader.h
├── dbghelp.dll
├── ocsMain.cpp
├── ocsMain.h
└── ollydbg.lib
└── Release
└── OllyCallstack.dll
/OllyCallstack.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OllyCallstack", "OllyCallstack\OllyCallstack.vcxproj", "{59C56DD8-7D0B-4192-B8E8-9E518945A1D1}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {59C56DD8-7D0B-4192-B8E8-9E518945A1D1}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {59C56DD8-7D0B-4192-B8E8-9E518945A1D1}.Debug|Win32.Build.0 = Debug|Win32
14 | {59C56DD8-7D0B-4192-B8E8-9E518945A1D1}.Release|Win32.ActiveCfg = Release|Win32
15 | {59C56DD8-7D0B-4192-B8E8-9E518945A1D1}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/OllyCallstack/OllyCallstack.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {59C56DD8-7D0B-4192-B8E8-9E518945A1D1}
15 | OllyCallstackTrace
16 | OllyCallstack
17 |
18 |
19 |
20 | DynamicLibrary
21 | true
22 | Unicode
23 |
24 |
25 | DynamicLibrary
26 | false
27 | true
28 | Unicode
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | false
42 |
43 |
44 | false
45 |
46 |
47 |
48 | Level3
49 | Disabled
50 | /J %(AdditionalOptions)
51 | 1Byte
52 |
53 |
54 | true
55 | Windows
56 | ollydbg.lib;dbghelp.lib;%(AdditionalDependencies)
57 |
58 |
59 |
60 |
61 | Level3
62 | MaxSpeed
63 | true
64 | true
65 | MultiThreaded
66 | Speed
67 | /J %(AdditionalOptions)
68 |
69 |
70 | true
71 | true
72 | true
73 | ollydbg.lib;dbghelp.lib;%(AdditionalDependencies)
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------
/OllyCallstack/dbghelp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zer0fl4g/OllyCallstack/fb317e4f5687b39be2b5160a12fe89937a27a5a5/OllyCallstack/dbghelp.dll
--------------------------------------------------------------------------------
/OllyCallstack/ocsMain.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zer0fl4g/OllyCallstack/fb317e4f5687b39be2b5160a12fe89937a27a5a5/OllyCallstack/ocsMain.cpp
--------------------------------------------------------------------------------
/OllyCallstack/ocsMain.h:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | #include "OllyPluginHeader.h"
5 |
6 | #define PLUGINNAME L"OllyCallstack" // Unique plugin name
7 | #define VERSION L"1.0" // Plugin version
8 |
9 | HINSTANCE hdllinst; // Instance of plugin DLL
10 |
11 | int ocsShowCallstackTable(t_table *pt,wchar_t *name,ulong index,int mode);
12 | int ocsUpdateCallstackTable(t_table *pt,wchar_t *name,ulong index,int mode);
13 | int ocsDrawCallstackTable(wchar_t *s,uchar *mask,int *select,t_table *pt,t_drawheader *ph,int column,void *cache);
14 |
15 | long ocsTableTabFunc(t_table *pt,HWND hw,UINT msg,WPARAM wp,LPARAM lp);
16 |
17 | static t_menu mainmenu[] = {
18 | // < Callback of user cklicks our plugin>
19 | { L"View Callstack",L"Shows the Callstack Window",K_NONE,ocsShowCallstackTable,NULL,0 },{NULL,NULL,K_NONE,NULL,NULL,0 }
20 | };
21 |
22 | typedef struct t_OCTTable {
23 | ulong index; // Must have!
24 | ulong size; // Must have!
25 | ulong type; // Must have!
26 |
27 | DWORD dwStackAddr; // Our address in the stack
28 | DWORD dwRetAddr; // Return address of this stackframe
29 | DWORD dwFuncAddr; // Function which got executed in this frame
30 | } t_OCTTable;
31 |
32 | static t_table OCTTable; // Bookmark table
--------------------------------------------------------------------------------
/OllyCallstack/ollydbg.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zer0fl4g/OllyCallstack/fb317e4f5687b39be2b5160a12fe89937a27a5a5/OllyCallstack/ollydbg.lib
--------------------------------------------------------------------------------
/Release/OllyCallstack.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zer0fl4g/OllyCallstack/fb317e4f5687b39be2b5160a12fe89937a27a5a5/Release/OllyCallstack.dll
--------------------------------------------------------------------------------