-
Notifications
You must be signed in to change notification settings - Fork 62
/
DllStubArm.asm
373 lines (358 loc) · 9.3 KB
/
DllStubArm.asm
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
MACRO
FuncStub $name
AREA |.drectve|, DRECTVE
DCB "/EXPORT:$name "
AREA |.text|,CODE,READONLY
IMPORT addr$name
EXPORT $name
$name PROC
#ifdef _M_ARM64
adrp x16, addr$name
ldr x16, [x16, addr$name]
br x16
#else
mov32 r12, addr$name
ldr pc, [r12]
#endif
ENDP
MEND
; dinput8
FuncStub DirectInput8Create
FuncStub DllCanUnloadNow
FuncStub DllGetClassObject
FuncStub DllRegisterServer
FuncStub DllUnregisterServer
; dinput
FuncStub DirectInputCreateA
FuncStub DirectInputCreateEx
FuncStub DirectInputCreateW
;DllCanUnloadNow
;DllGetClassObject
;DllRegisterServer
;DllUnregisterServer
; dsound
FuncStub DirectSoundCaptureCreate
FuncStub DirectSoundCaptureCreate8
FuncStub DirectSoundCaptureEnumerateA
FuncStub DirectSoundCaptureEnumerateW
FuncStub DirectSoundCreate
FuncStub DirectSoundCreate8
FuncStub DirectSoundEnumerateA
FuncStub DirectSoundEnumerateW
FuncStub DirectSoundFullDuplexCreate
;DllCanUnloadNow
;DllGetClassObject
FuncStub GetDeviceID
; d3d8 32bit only
#ifndef _M_ARM64
;DebugSetMute
FuncStub Direct3D8EnableMaximizedWindowedModeShim
FuncStub Direct3DCreate8
FuncStub ValidatePixelShader
FuncStub ValidateVertexShader
#endif
; d3d9
FuncStub D3DPERF_BeginEvent
FuncStub D3DPERF_EndEvent
FuncStub D3DPERF_GetStatus
FuncStub D3DPERF_QueryRepeatFrame
FuncStub D3DPERF_SetMarker
FuncStub D3DPERF_SetOptions
FuncStub D3DPERF_SetRegion
FuncStub DebugSetLevel
FuncStub DebugSetMute
FuncStub Direct3D9EnableMaximizedWindowedModeShim
FuncStub Direct3DCreate9
FuncStub Direct3DCreate9Ex
FuncStub Direct3DShaderValidatorCreate9
FuncStub PSGPError
FuncStub PSGPSampleTexture
; d3d11
FuncStub D3D11CoreCreateDevice
FuncStub D3D11CoreCreateLayeredDevice
FuncStub D3D11CoreGetLayeredDeviceSize
FuncStub D3D11CoreRegisterLayers
FuncStub D3D11CreateDevice
FuncStub D3D11CreateDeviceAndSwapChain
FuncStub D3DKMTCloseAdapter
FuncStub D3DKMTCreateAllocation
FuncStub D3DKMTCreateContext
FuncStub D3DKMTCreateDevice
FuncStub D3DKMTCreateSynchronizationObject
FuncStub D3DKMTDestroyAllocation
FuncStub D3DKMTDestroyContext
FuncStub D3DKMTDestroyDevice
FuncStub D3DKMTDestroySynchronizationObject
FuncStub D3DKMTEscape
FuncStub D3DKMTGetContextSchedulingPriority
FuncStub D3DKMTGetDeviceState
FuncStub D3DKMTGetDisplayModeList
FuncStub D3DKMTGetMultisampleMethodList
FuncStub D3DKMTGetRuntimeData
FuncStub D3DKMTGetSharedPrimaryHandle
FuncStub D3DKMTLock
FuncStub D3DKMTOpenAdapterFromHdc
FuncStub D3DKMTOpenResource
FuncStub D3DKMTPresent
FuncStub D3DKMTQueryAdapterInfo
FuncStub D3DKMTQueryAllocationResidency
FuncStub D3DKMTQueryResourceInfo
FuncStub D3DKMTRender
FuncStub D3DKMTSetAllocationPriority
FuncStub D3DKMTSetContextSchedulingPriority
FuncStub D3DKMTSetDisplayMode
FuncStub D3DKMTSetDisplayPrivateDriverFormat
FuncStub D3DKMTSetGammaRamp
FuncStub D3DKMTSetVidPnSourceOwner
FuncStub D3DKMTSignalSynchronizationObject
FuncStub D3DKMTUnlock
FuncStub D3DKMTWaitForSynchronizationObject
FuncStub D3DKMTWaitForVerticalBlankEvent
FuncStub D3DPerformance_BeginEvent
FuncStub D3DPerformance_EndEvent
FuncStub D3DPerformance_GetStatus
FuncStub D3DPerformance_SetMarker
FuncStub EnableFeatureLevelUpgrade
FuncStub OpenAdapter10
FuncStub OpenAdapter10_2
; ddraw
FuncStub AcquireDDThreadLock
FuncStub CompleteCreateSysmemSurface
FuncStub D3DParseUnknownCommand
FuncStub DDGetAttachedSurfaceLcl
FuncStub DDInternalLock
FuncStub DDInternalUnlock
FuncStub DSoundHelp
FuncStub DirectDrawCreate
FuncStub DirectDrawCreateClipper
FuncStub DirectDrawCreateEx
FuncStub DirectDrawEnumerateA
FuncStub DirectDrawEnumerateExA
FuncStub DirectDrawEnumerateExW
FuncStub DirectDrawEnumerateW
;DllCanUnloadNow
;DllGetClassObject
FuncStub GetDDSurfaceLocal
FuncStub GetOLEThunkData
FuncStub GetSurfaceFromDC
FuncStub RegisterSpecialCase
FuncStub ReleaseDDThreadLock
FuncStub SetAppCompatData
; winmm
FuncStub CloseDriver
FuncStub DefDriverProc
FuncStub DriverCallback
FuncStub DrvGetModuleHandle
FuncStub GetDriverModuleHandle
FuncStub NotifyCallbackData
FuncStub OpenDriver
FuncStub PlaySound
FuncStub PlaySoundA
FuncStub PlaySoundW
FuncStub SendDriverMessage
FuncStub WOW32DriverCallback
FuncStub WOW32ResolveMultiMediaHandle
FuncStub WOWAppExit
FuncStub aux32Message
FuncStub auxGetDevCapsA
FuncStub auxGetDevCapsW
FuncStub auxGetNumDevs
FuncStub auxGetVolume
FuncStub auxOutMessage
FuncStub auxSetVolume
FuncStub joy32Message
FuncStub joyConfigChanged
FuncStub joyGetDevCapsA
FuncStub joyGetDevCapsW
FuncStub joyGetNumDevs
FuncStub joyGetPos
FuncStub joyGetPosEx
FuncStub joyGetThreshold
FuncStub joyReleaseCapture
FuncStub joySetCapture
FuncStub joySetThreshold
FuncStub mci32Message
FuncStub mciDriverNotify
FuncStub mciDriverYield
FuncStub mciExecute
FuncStub mciFreeCommandResource
FuncStub mciGetCreatorTask
FuncStub mciGetDeviceIDA
FuncStub mciGetDeviceIDFromElementIDA
FuncStub mciGetDeviceIDFromElementIDW
FuncStub mciGetDeviceIDW
FuncStub mciGetDriverData
FuncStub mciGetErrorStringA
FuncStub mciGetErrorStringW
FuncStub mciGetYieldProc
FuncStub mciLoadCommandResource
FuncStub mciSendCommandA
FuncStub mciSendCommandW
FuncStub mciSendStringA
FuncStub mciSendStringW
FuncStub mciSetDriverData
FuncStub mciSetYieldProc
FuncStub mid32Message
FuncStub midiConnect
FuncStub midiDisconnect
FuncStub midiInAddBuffer
FuncStub midiInClose
FuncStub midiInGetDevCapsA
FuncStub midiInGetDevCapsW
FuncStub midiInGetErrorTextA
FuncStub midiInGetErrorTextW
FuncStub midiInGetID
FuncStub midiInGetNumDevs
FuncStub midiInMessage
FuncStub midiInOpen
FuncStub midiInPrepareHeader
FuncStub midiInReset
FuncStub midiInStart
FuncStub midiInStop
FuncStub midiInUnprepareHeader
FuncStub midiOutCacheDrumPatches
FuncStub midiOutCachePatches
FuncStub midiOutClose
FuncStub midiOutGetDevCapsA
FuncStub midiOutGetDevCapsW
FuncStub midiOutGetErrorTextA
FuncStub midiOutGetErrorTextW
FuncStub midiOutGetID
FuncStub midiOutGetNumDevs
FuncStub midiOutGetVolume
FuncStub midiOutLongMsg
FuncStub midiOutMessage
FuncStub midiOutOpen
FuncStub midiOutPrepareHeader
FuncStub midiOutReset
FuncStub midiOutSetVolume
FuncStub midiOutShortMsg
FuncStub midiOutUnprepareHeader
FuncStub midiStreamClose
FuncStub midiStreamOpen
FuncStub midiStreamOut
FuncStub midiStreamPause
FuncStub midiStreamPosition
FuncStub midiStreamProperty
FuncStub midiStreamRestart
FuncStub midiStreamStop
FuncStub mixerClose
FuncStub mixerGetControlDetailsA
FuncStub mixerGetControlDetailsW
FuncStub mixerGetDevCapsA
FuncStub mixerGetDevCapsW
FuncStub mixerGetID
FuncStub mixerGetLineControlsA
FuncStub mixerGetLineControlsW
FuncStub mixerGetLineInfoA
FuncStub mixerGetLineInfoW
FuncStub mixerGetNumDevs
FuncStub mixerMessage
FuncStub mixerOpen
FuncStub mixerSetControlDetails
FuncStub mmDrvInstall
FuncStub mmGetCurrentTask
FuncStub mmTaskBlock
FuncStub mmTaskCreate
FuncStub mmTaskSignal
FuncStub mmTaskYield
FuncStub mmioAdvance
FuncStub mmioAscend
FuncStub mmioClose
FuncStub mmioCreateChunk
FuncStub mmioDescend
FuncStub mmioFlush
FuncStub mmioGetInfo
FuncStub mmioInstallIOProcA
FuncStub mmioInstallIOProcW
FuncStub mmioOpenA
FuncStub mmioOpenW
FuncStub mmioRead
FuncStub mmioRenameA
FuncStub mmioRenameW
FuncStub mmioSeek
FuncStub mmioSendMessage
FuncStub mmioSetBuffer
FuncStub mmioSetInfo
FuncStub mmioStringToFOURCCA
FuncStub mmioStringToFOURCCW
FuncStub mmioWrite
FuncStub mmsystemGetVersion
FuncStub mod32Message
FuncStub mxd32Message
FuncStub sndPlaySoundA
FuncStub sndPlaySoundW
FuncStub tid32Message
FuncStub timeBeginPeriod
FuncStub timeEndPeriod
FuncStub timeGetDevCaps
FuncStub timeGetSystemTime
FuncStub timeGetTime
FuncStub timeKillEvent
FuncStub timeSetEvent
FuncStub waveInAddBuffer
FuncStub waveInClose
FuncStub waveInGetDevCapsA
FuncStub waveInGetDevCapsW
FuncStub waveInGetErrorTextA
FuncStub waveInGetErrorTextW
FuncStub waveInGetID
FuncStub waveInGetNumDevs
FuncStub waveInGetPosition
FuncStub waveInMessage
FuncStub waveInOpen
FuncStub waveInPrepareHeader
FuncStub waveInReset
FuncStub waveInStart
FuncStub waveInStop
FuncStub waveInUnprepareHeader
FuncStub waveOutBreakLoop
FuncStub waveOutClose
FuncStub waveOutGetDevCapsA
FuncStub waveOutGetDevCapsW
FuncStub waveOutGetErrorTextA
FuncStub waveOutGetErrorTextW
FuncStub waveOutGetID
FuncStub waveOutGetNumDevs
FuncStub waveOutGetPitch
FuncStub waveOutGetPlaybackRate
FuncStub waveOutGetPosition
FuncStub waveOutGetVolume
FuncStub waveOutMessage
FuncStub waveOutOpen
FuncStub waveOutPause
FuncStub waveOutPrepareHeader
FuncStub waveOutReset
FuncStub waveOutRestart
FuncStub waveOutSetPitch
FuncStub waveOutSetPlaybackRate
FuncStub waveOutSetVolume
FuncStub waveOutUnprepareHeader
FuncStub waveOutWrite
FuncStub wid32Message
FuncStub wod32Message
; version
FuncStub GetFileVersionInfoA
FuncStub GetFileVersionInfoByHandle
FuncStub GetFileVersionInfoExA
FuncStub GetFileVersionInfoExW
FuncStub GetFileVersionInfoSizeA
FuncStub GetFileVersionInfoSizeExA
FuncStub GetFileVersionInfoSizeExW
FuncStub GetFileVersionInfoSizeW
FuncStub GetFileVersionInfoW
FuncStub VerFindFileA
FuncStub VerFindFileW
FuncStub VerInstallFileA
FuncStub VerInstallFileW
FuncStub VerLanguageNameA
FuncStub VerLanguageNameW
FuncStub VerQueryValueA
FuncStub VerQueryValueW
; msimg32
FuncStub AlphaBlend
FuncStub DllInitialize
FuncStub GradientFill
FuncStub TransparentBlt
FuncStub vSetDdrawflag
END