MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / DetourIsCodeFiller

Function DetourIsCodeFiller

KernelLibrary/detours.cpp:281–337  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

279}
280
281ULONG DetourIsCodeFiller(PUCHAR pCode) {
282 // 1-byte through 11-byte NOPs.
283 if (pCode[0] == 0x90) {
284 return 1;
285 }
286 if (pCode[0] == 0x66 && pCode[1] == 0x90) {
287 return 2;
288 }
289 if (pCode[0] == 0x0F && pCode[1] == 0x1F && pCode[2] == 0x00) {
290 return 3;
291 }
292 if (pCode[0] == 0x0F && pCode[1] == 0x1F && pCode[2] == 0x40 &&
293 pCode[3] == 0x00) {
294 return 4;
295 }
296 if (pCode[0] == 0x0F && pCode[1] == 0x1F && pCode[2] == 0x44 &&
297 pCode[3] == 0x00 && pCode[4] == 0x00) {
298 return 5;
299 }
300 if (pCode[0] == 0x66 && pCode[1] == 0x0F && pCode[2] == 0x1F &&
301 pCode[3] == 0x44 && pCode[4] == 0x00 && pCode[5] == 0x00) {
302 return 6;
303 }
304 if (pCode[0] == 0x0F && pCode[1] == 0x1F && pCode[2] == 0x80 &&
305 pCode[3] == 0x00 && pCode[4] == 0x00 && pCode[5] == 0x00 &&
306 pCode[6] == 0x00) {
307 return 7;
308 }
309 if (pCode[0] == 0x0F && pCode[1] == 0x1F && pCode[2] == 0x84 &&
310 pCode[3] == 0x00 && pCode[4] == 0x00 && pCode[5] == 0x00 &&
311 pCode[6] == 0x00 && pCode[7] == 0x00) {
312 return 8;
313 }
314 if (pCode[0] == 0x66 && pCode[1] == 0x0F && pCode[2] == 0x1F &&
315 pCode[3] == 0x84 && pCode[4] == 0x00 && pCode[5] == 0x00 &&
316 pCode[6] == 0x00 && pCode[7] == 0x00 && pCode[8] == 0x00) {
317 return 9;
318 }
319 if (pCode[0] == 0x66 && pCode[1] == 0x66 && pCode[2] == 0x0F &&
320 pCode[3] == 0x1F && pCode[4] == 0x84 && pCode[5] == 0x00 &&
321 pCode[6] == 0x00 && pCode[7] == 0x00 && pCode[8] == 0x00 &&
322 pCode[9] == 0x00) {
323 return 10;
324 }
325 if (pCode[0] == 0x66 && pCode[1] == 0x66 && pCode[2] == 0x66 &&
326 pCode[3] == 0x0F && pCode[4] == 0x1F && pCode[5] == 0x84 &&
327 pCode[6] == 0x00 && pCode[7] == 0x00 && pCode[8] == 0x00 &&
328 pCode[9] == 0x00 && pCode[10] == 0x00) {
329 return 11;
330 }
331
332 // int 3.
333 if (pCode[0] == 0xcc) {
334 return 1;
335 }
336 return 0;
337}
338

Callers 1

DetourAttachExFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected