forked from EasyHook/EasyHook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
EasyHookNative.autopkg
151 lines (141 loc) · 6.26 KB
/
EasyHookNative.autopkg
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
configurations
{
// This node contains custom pivot information.
Toolset
{
key : "PlatformToolset"; // this is CoApp pre-defined key
choices: { v141, v140, v120, v110, v100 };
};
}
nuget {
nuspec {
id = EasyHookNativePackage;
version : 2.7.6789.0;
title: EasyHook Native Package;
authors: {EasyHook};
owners: {EasyHook};
licenseUrl: "https://github.com/EasyHook/EasyHook#license";
iconUrl: "http://i3.codeplex.com/Download?ProjectName=easyhook&DownloadId=186762";
requireLicenseAcceptance:true;
summary:The reinvention of Windows API Hooking;
description: @"This project supports extending (hooking) unmanaged code (APIs) on 32- or 64-bit
Windows XP SP2, Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10.";
releaseNotes: @"2.7.6789.0:
1. Support hooking far jumps even if not first instruction for x64 (#243)
2.7.6684.0:
1. x64 trampoline: ensure stack is 16 bytes aligned (#214 and #234)
2.7.6682.0:
1. Quoted service path to avoid path spaces vulnerability (outlined in CVE-2005-1185, CVE-2005-2938 and CVE-2000-1128)
2. Rename CLIENT_ID struct to DBG_CLIENT_ID (fix build error on Windows SDK 10.0.16299.0) (#225)
3. NuGet support for VS2017 (v141) native C/C++ package (#181)
2.7.6578.0:
1. Allow EasyLoad library path to be specified within Config class - only impacts managed remote hook (#220)
2.7.6270.0:
1. CreateAndInject now supports long command lines (#84 / #170)
2. RhCreateRemoveStealthThread now works for 64-bit targets (#91 / #159)
3. Added LhGetHookBypassAddress / LocalHook.HookBypassAddress to allow bypassing the hook and call original directly without having to be within the hook handler (#155)
2.7.6035.0:
1. MAX_HOOK_COUNT increased from 128 to 1024
2. CreateAndInject fixed to support injection across sessions (providing appropriate privileges).
3. RhCreateStealthRemoteThread fixed for 32-bit (still fairly experimental) (#91)
4. 64-bit driver now preserves RAX register for trampoline (#78)
5. Native NuGet package now includes support for VS2015";
projectUrl: "https://easyhook.github.io/";
copyright: Copyright © 2009 Christoph Husse & Copyright © 2012 Justin Stenning. All rights reserved.;
tags: { api, hook, hooking, easyhook, native };
};
files {
include: { .\Public\easyhook.h };
// v110 - VS2012
[x86,v110,release] {
lib: { .\Build\netfx4-Release\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Release\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Release\x86\EasyHook32.dll; }
};
[x86,v110,debug] {
lib: { .\Build\netfx4-Debug\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Debug\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Debug\x86\EasyHook32.dll; }
};
[x64,v110,release] {
lib: { .\Build\netfx4-Release\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Release\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Release\x64\EasyHook64.dll; }
};
[x64,v110,debug] {
lib: { .\Build\netfx4-Debug\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Debug\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Debug\x64\EasyHook64.dll; }
};
// v120 - VS2013
[x86,v120,release] {
lib: { .\Build\netfx4-Release\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Release\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Release\x86\EasyHook32.dll; }
};
[x86,v120,debug] {
lib: { .\Build\netfx4-Debug\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Debug\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Debug\x86\EasyHook32.dll; }
};
[x64,v120,release] {
lib: { .\Build\netfx4-Release\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Release\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Release\x64\EasyHook64.dll; }
};
[x64,v120,debug] {
lib: { .\Build\netfx4-Debug\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Debug\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Debug\x64\EasyHook64.dll; }
};
// v140 - VS2015
[x86,v140,release] {
lib: { .\Build\netfx4-Release\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Release\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Release\x86\EasyHook32.dll; }
};
[x86,v140,debug] {
lib: { .\Build\netfx4-Debug\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Debug\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Debug\x86\EasyHook32.dll; }
};
[x64,v140,release] {
lib: { .\Build\netfx4-Release\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Release\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Release\x64\EasyHook64.dll; }
};
[x64,v140,debug] {
lib: { .\Build\netfx4-Debug\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Debug\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Debug\x64\EasyHook64.dll; }
};
// v141 - VS2017
[x86,v141,release] {
lib: { .\Build\netfx4-Release\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Release\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Release\x86\EasyHook32.dll; }
};
[x86,v141,debug] {
lib: { .\Build\netfx4-Debug\x86\EasyHook32.lib; }
symbols: { .\Build\netfx4-Debug\x86\EasyHook32.pdb; }
bin: { .\Build\netfx4-Debug\x86\EasyHook32.dll; }
};
[x64,v141,release] {
lib: { .\Build\netfx4-Release\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Release\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Release\x64\EasyHook64.dll; }
};
[x64,v141,debug] {
lib: { .\Build\netfx4-Debug\x64\EasyHook64.lib; }
symbols: { .\Build\netfx4-Debug\x64\EasyHook64.pdb; }
bin: { .\Build\netfx4-Debug\x64\EasyHook64.dll; }
};
// The debug here works for any config that contains debug
// Examples : Debug ENU, DEBUG-ENU, Debug DEU
//[x86,v120,debug] {
//lib: { Debug\*.lib; }
//symbols: { Debug\*.pdb; }
//bin: { Debug\*.dll; }
//};
};
}