├── 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 --------------------------------------------------------------------------------