-
Notifications
You must be signed in to change notification settings - Fork 3
/
SegSelect.h
47 lines (38 loc) · 1.35 KB
/
SegSelect.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// SegSelect: IDA Pro Qt multi-segment select dialog
// By Sirmabus 2015
// Version 1.1
// Docs: http://www.macromonkey.com/ida-waitboxex/
// License: Qt 5.4.1 LGPL
#pragma once
#ifndef _LIB
#ifndef __EA64__
#ifndef _DEBUG
#pragma comment(lib, "SegSelect.LiB")
#else
#pragma comment(lib, "SegSelectD.LiB")
#endif
#else
#ifndef _DEBUG
#pragma comment(lib, "SegSelect64.LiB")
#else
#pragma comment(lib, "SegSelect64D.LiB")
#endif
#endif
#endif
namespace SegSelect
{
// Option flags
static const UINT CODE_HINT = (1 << 0); // Default check any code segment(s)
static const UINT DATA_HINT = (1 << 1); // Default check any ".data" segment(s)
static const UINT RDATA_HINT = (1 << 2); // "" ".rdata" segment(s)
static const UINT XTRN_HINT = (1 << 3); // "" ".idata" type segment(s)
typedef qlist<segment_t *> segments;
// Do segment selection dialog
// Results are returned as a 'segments' vector pointer or NULL if canceled or none selected.
// Call free() below to free up segments vector.
segments* __cdecl select(UINT flags, LPCSTR title = "Choose Segments", LPCSTR styleSheet = NULL, LPCSTR icon = NULL);
// Free segments vector returned by select()
void free(segments *list);
// Convenience wrapper of Qt function "QApplication::processEvents();" to tick IDA's main window
void _cdecl processIdaEvents();
};