Compare commits

...

6 commits

Author SHA1 Message Date
Cody Brocious
e56def71db Added a bunch of instructions. Added eflags. 2012-06-21 20:14:41 -04:00
Cody Brocious
b9926a7c29 Fixed messaging. Added SUB implementation. 2012-06-21 17:20:54 -04:00
Cody Brocious
5c3ba53a4c Committed new interpreter gen. 2012-06-21 08:43:54 -04:00
Cody Brocious
be4fdedaa1 Added some prefix support. 2012-06-19 03:19:06 -04:00
Cody Brocious
dd41518e25 Initial checkin 2012-06-19 02:57:03 -04:00
Cody Brocious
6e37bbc380 Removed old code. 2012-06-19 01:36:53 -04:00
36 changed files with 702 additions and 4327 deletions

8
Core/Base.hpp Normal file
View file

@ -0,0 +1,8 @@
#include <stdio.h>
#include <stdlib.h>
#define null NULL
#define WARN(msg) { printf("Warning: %s\n", msg); }
#define ASSERT(comp, msg) { if(!(comp)) { printf("Assertion failed: %s\n", msg); exit(1); } }
#define BAIL(msg) { printf("Bailing: %s\n", msg); exit(1); }

49
Core/CPU/CPU.hpp Normal file
View file

@ -0,0 +1,49 @@
#include <stdint.h>
#define EMU_ADDR(off) (void *) (((uint8_t *) MemoryBase) + (off))
class CPU {
public:
CPU(void *base) : MemoryBase(base),
Eip(0), Eflags(0),
Eax(0), Ebx(0), Ecx(0), Edx(0),
Ebp(0), Esp(0), Edi(0), Esi(0) {}
virtual ~CPU() {}
virtual void Run() {}
uint32_t Eax, Ebx, Ecx, Edx,
Ebp, Esp, Edi, Esi;
uint32_t Eip;
union {
uint32_t Eflags;
struct {
unsigned CF:1;
unsigned _0:1;
unsigned PF:1;
unsigned _1:1;
unsigned AF:1;
unsigned _2:1;
unsigned ZF:1;
unsigned SF:1;
unsigned TF:1;
unsigned IF:1;
unsigned DF:1;
unsigned OF:1;
unsigned IOPL:2;
unsigned NT:1;
unsigned _3:1;
unsigned RF:1;
unsigned VM:1;
unsigned AC:1;
unsigned VIF:1;
unsigned VIP:1;
unsigned ID:1;
unsigned _4:10;
};
};
void *MemoryBase;
};

View file

@ -0,0 +1,100 @@
// Arithmetic
#define INSN_ADD(a, b) { a = a + b; }
#define INSN_SUB(a, b) { a = a - b; }
#define INSN_AND(a, b) { a = a & b; }
#define INSN_OR( a, b) { a = a | b; }
#define INSN_XOR(a, b) { a = a ^ b; }
#define INSN_DEC(a) { a--; }
#define INSN_INC(a) { a++; }
// Branches
#define INSN_JMP( a) { eip += a; }
#define COND(a, cmp) { if(cmp) eip += a; }
#define INSN_JZ( a) COND(a, ZF)
#define INSN_JNZ( a) COND(a, !ZF)
#define INSN_JB( a) COND(a, CF)
#define INSN_JNB( a) COND(a, !CF)
#define INSN_JBE( a) COND(a, CF || ZF)
#define INSN_JNBE(a) COND(a, !CF && !ZF)
#define INSN_JL( a) COND(a, SF != OF)
#define INSN_JLE( a) COND(a, ZF || SF != OF)
#define INSN_JNL( a) COND(a, SF == OF)
#define INSN_JNLE(a) COND(a, !ZF && SF == OF)
#define INSN_JO( a) COND(a, OF)
#define INSN_JNO( a) COND(a, !OF)
#define INSN_JP( a) COND(a, PF)
#define INSN_JNP( a) COND(a, !PF)
#define INSN_JS( a) COND(a, SF)
#define INSN_JNS( a) COND(a, !SF)
#define INSN_JCXZ(a) COND(a, !Ecx)
// Moves
#define INSN_MOV( a, b) { a = b; }
#define INSN_XCHG(a, b) { typeof(a) _temp = a; a = b; b = _temp; }
// Misc
#define INSN_NOP() { }
#define INSN_HLT() { BAIL("HLT executed"); }
// Stubs
#define INSN_AAA() { BAIL("STUB Instruction AAA"); }
#define INSN_AAD(a) { BAIL("STUB Instruction AAD"); }
#define INSN_AAM(a) { BAIL("STUB Instruction AAM"); }
#define INSN_AAS() { BAIL("STUB Instruction AAS"); }
#define INSN_ADC(a, b) { BAIL("STUB Instruction ADC"); }
#define INSN_ARPL(a, b) { BAIL("STUB Instruction ARPL"); }
#define INSN_BOUND(a, b) { BAIL("STUB Instruction BOUND"); }
#define INSN_CALL(a) { BAIL("STUB Instruction CALL"); }
#define INSN_CDQ() { BAIL("STUB Instruction CDQ"); }
#define INSN_CLC() { BAIL("STUB Instruction CLC"); }
#define INSN_CLD() { BAIL("STUB Instruction CLD"); }
#define INSN_CLI() { BAIL("STUB Instruction CLI"); }
#define INSN_CMC() { BAIL("STUB Instruction CMC"); }
#define INSN_CMP(a, b) { BAIL("STUB Instruction CMP"); }
#define INSN_CMPS(a, b) { BAIL("STUB Instruction CMPS"); }
#define INSN_CWDE() { BAIL("STUB Instruction CWDE"); }
#define INSN_DAA() { BAIL("STUB Instruction DAA"); }
#define INSN_DAS() { BAIL("STUB Instruction DAS"); }
#define INSN_ENTER(a, b) { BAIL("STUB Instruction ENTER"); }
#define INSN_IMUL(a, b, c) { BAIL("STUB Instruction IMUL"); }
#define INSN_IN(a, b) { BAIL("STUB Instruction IN"); }
#define INSN_INS(a, b) { BAIL("STUB Instruction INS"); }
#define INSN_INT(a) { BAIL("STUB Instruction INT"); }
#define INSN_INT1() { BAIL("STUB Instruction INT1"); }
#define INSN_INT3() { BAIL("STUB Instruction INT3"); }
#define INSN_INTO() { BAIL("STUB Instruction INTO"); }
#define INSN_IRET() { BAIL("STUB Instruction IRET"); }
#define INSN_LAHF() { BAIL("STUB Instruction LAHF"); }
#define INSN_LDS(a, b) { BAIL("STUB Instruction LDS"); }
#define INSN_LEA(a, b) { BAIL("STUB Instruction LEA"); }
#define INSN_LEAVE() { BAIL("STUB Instruction LEAVE"); }
#define INSN_LES(a, b) { BAIL("STUB Instruction LES"); }
#define INSN_LODS(a, b) { BAIL("STUB Instruction LODS"); }
#define INSN_LOOP(a) { BAIL("STUB Instruction LOOP"); }
#define INSN_LOOPNZ(a) { BAIL("STUB Instruction LOOPNZ"); }
#define INSN_LOOPZ(a) { BAIL("STUB Instruction LOOPZ"); }
#define INSN_MOVS(a, b) { BAIL("STUB Instruction MOVS"); }
#define INSN_OUT(a, b) { BAIL("STUB Instruction OUT"); }
#define INSN_OUTS(a, b) { BAIL("STUB Instruction OUTS"); }
#define INSN_POP(a) { BAIL("STUB Instruction POP"); }
#define INSN_POPA() { BAIL("STUB Instruction POPA"); }
#define INSN_POPF() { BAIL("STUB Instruction POPF"); }
#define INSN_PUSH(a) { BAIL("STUB Instruction PUSH"); }
#define INSN_PUSHA() { BAIL("STUB Instruction PUSHA"); }
#define INSN_PUSHF() { BAIL("STUB Instruction PUSHF"); }
#define INSN_RETfar_off(a) { BAIL("STUB Instruction RETfar_off"); }
#define INSN_RETfar() { BAIL("STUB Instruction RETfar"); }
#define INSN_RETnear_off(a) { BAIL("STUB Instruction RETnear_off"); }
#define INSN_RETnear() { BAIL("STUB Instruction RETnear"); }
#define INSN_SAHF() { BAIL("STUB Instruction SAHF"); }
#define INSN_SALC() { BAIL("STUB Instruction SALC"); }
#define INSN_SBB(a, b) { BAIL("STUB Instruction SBB"); }
#define INSN_SCAS(a, b) { BAIL("STUB Instruction SCAS"); }
#define INSN_STC() { BAIL("STUB Instruction STC"); }
#define INSN_STD() { BAIL("STUB Instruction STD"); }
#define INSN_STI() { BAIL("STUB Instruction STI"); }
#define INSN_STOS(a, b) { BAIL("STUB Instruction STOS"); }
#define INSN_TEST(a, b) { BAIL("STUB Instruction TEST"); }
#define INSN_WAIT() { BAIL("STUB Instruction WAIT"); }
#define INSN_XLAT() { BAIL("STUB Instruction XLAT"); }

View file

@ -0,0 +1,69 @@
#include "Interpreter.hpp"
#include "Instructions.hpp"
void Interpreter::Run() {
while(true) {
uint8_t *eip = (uint8_t *) MemoryBase + Eip;
// Prefixes
bool foundPrefix = true;
bool opsize = false, adsize = false;
while(foundPrefix)
switch(*eip++) {
case 0x66: {// OPSIZE
opsize = true;
break;
}
case 0x67: {// ADSIZE
adsize = true;
break;
}
default: {
foundPrefix = false;
eip--;
}
}
uint8_t op = *eip++;
Eip++;
printf("Op %02x\n", op);
printf("Eax %08x\n", Eax);
// Instructions
switch(op) {
#include "Interpreter_inst.cgen"
default: {
printf("Undefined opcode %02x @ %08X\n", op, Eip);
exit(1);
}
}
Eip = (uint32_t) (eip - (uint8_t *) MemoryBase);
}
}
void *Interpreter::RmAddr(uint8_t mod, uint8_t rm, int size) {
return null;
}
void *Interpreter::Reg(int reg, int size) {
uint32_t *regaddr;
size_t off = 0;
if(reg > 4 && size == 1) {
reg -= 4;
off = 1;
}
switch(reg) {
case 0: regaddr = &Eax; break;
case 1: regaddr = &Ecx; break;
case 2: regaddr = &Edx; break;
case 3: regaddr = &Ebx; break;
case 4: regaddr = &Esp; break;
case 5: regaddr = &Ebp; break;
case 6: regaddr = &Esi; break;
case 7: regaddr = &Edi; break;
}
return ((uint8_t *) regaddr) + off;
}
uint16_t *Interpreter::SegReg(int reg) {
return null;
}

View file

@ -0,0 +1,13 @@
#include "../../Base.hpp"
#include "../CPU.hpp"
class Interpreter : CPU {
public:
Interpreter(void *base) : CPU(base) {
}
void Run();
void *RmAddr(uint8_t mod, uint8_t rm, int size);
void *Reg(int reg, int size);
uint16_t *SegReg(int reg);
};

View file

@ -0,0 +1,11 @@
#include "Interpreter.hpp"
int main(void) {
uint8_t memory[11];
memory[0] = 0x05; *((uint32_t *) (memory+1)) = 0x00000001;
memory[5] = 0x66; memory[6] = 0x05; *((uint16_t *) (memory+7)) = 0x0007;
memory[9] = 0xEB; memory[10] = 0xF5;
Interpreter interpreter((void *) memory);
interpreter.Run();
return 0;
}

View file

@ -1,30 +0,0 @@
#include "stdafx.h"
void queryMemory(void *addr)
{
MEMORY_BASIC_INFORMATION info;
VirtualQuery(addr, &info, sizeof(MEMORY_BASIC_INFORMATION));
printf("BaseAddress: %08x\n", info.BaseAddress);
printf("AllocationBase: %08x\n", info.AllocationBase);
printf("AllocationProtect: %08x\n", info.AllocationProtect);
printf("RegionSize: %08x\n", info.RegionSize);
printf("State: %08x\n", info.State);
printf("Protect: %08x\n", info.Protect);
printf("Type: %08x\n", info.Type);
}
CORE_API int Init(struct InitData *initData) {
void (*entry)() = (void (*)()) initData->entryPoint;
unsigned long *thunk = (unsigned long *) initData->thunkAddr;
while(*thunk != 0) {
*thunk = (unsigned long) mapKernel(*thunk);
++thunk;
}
trapperInit();
buildFs();
entry();
return 1;
}

View file

@ -1,22 +0,0 @@
#pragma once
// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the CORE_EXPORTS
// symbol defined on the command line. This symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// CORE_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
#ifdef CORE_EXPORTS
#define CORE_API __declspec(dllexport)
#else
#define CORE_API __declspec(dllimport)
#endif
#include "kernel.h"
struct InitData {
void *entryPoint;
void *thunkAddr;
};
CORE_API int Init(struct InitData *addr);

View file

@ -1,20 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core", "Core.vcxproj", "{17817206-9F97-4962-8138-6A173273EFDB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{17817206-9F97-4962-8138-6A173273EFDB}.Debug|Win32.ActiveCfg = Debug|Win32
{17817206-9F97-4962-8138-6A173273EFDB}.Debug|Win32.Build.0 = Debug|Win32
{17817206-9F97-4962-8138-6A173273EFDB}.Release|Win32.ActiveCfg = Release|Win32
{17817206-9F97-4962-8138-6A173273EFDB}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,167 @@
from opcodes import opcodes
import sys
onebyte = sorted([opcd for opcd in opcodes.keys() if not isinstance(opcd, tuple)])
fp = file('Core/CPU/Interpreter/Interpreter_inst.cgen', 'w')
registers = {}
for i, reg in enumerate('AL CL DL BL AH CH DH BH'.split(' ')):
registers[reg] = i, 1
for i, reg in enumerate('AX CX DX BX SP BP SI DI'.split(' ')):
registers[reg] = i, 2
for i, reg in enumerate('EAX ECX EDX EBX ESP EBP ESI EDI'.split(' ')):
registers[reg] = i, 4
registers[reg.replace('E', 'R')] = i, 4
segmentRegisters = dict(CS=0, DS=1, SS=2, ES=3, FS=4, GS=5)
size2type = {1: 'uint8_t', 2: 'uint16_t', 4: 'uint32_t'}
for opcd in onebyte:
insn, operands = opcodes[opcd]
print >>fp, 'case 0x%02X: { // %s' % (opcd, '%s %s' % (insn, ','.join(operands)))
hasModrm = False
opsizeDependent = False
for operand in operands:
if operand[0] in 'MGERPQNVWU' and (len(operand) == 1 or operand[1] not in 'S'):
hasModrm = True
if len(operand) > 1 and operand[1] in 'vz':
opsizeDependent = True
if hasModrm:
print >>fp, '\tuint8_t mod = *eip >> 6, reg = (*eip >> 3) & 0x7, rm = *eip & 0x7;'
print >>fp, '\teip++;'
def generateSet(opsize):
def addr(type, expr):
print >>fp, '\t\t%s *_%i = (%s *) %s;' % (type, i, type, expr)
params.append('(*_%i)' % i)
def value(type, expr):
print >>fp, '\t\t%s _%i = (%s) %s;' % (type, i, type, expr)
params.append('_%i' % i)
params = []
for i, operand in enumerate(operands):
if len(operand) == 2:
a, b = list(operand)
if opsizeDependent and b in 'vz':
b = 'w' if opsize else 'd'
else:
a = b = None
if operand.upper() in registers:
reg, size = registers[operand.upper()]
addr(size2type[size], 'Reg(%i, %i)' % (reg, size))
elif operand in segmentRegisters:
reg = segmentRegisters[operand]
addr('int16_t', 'SegReg(%i)' % (reg))
elif a == 'E':
if b == 'b':
addr('int8_t', 'RmAddr(mod, rm, 1)')
elif b == 'w':
addr('int16_t', 'RmAddr(mod, rm, 2)')
elif b == 'd':
addr('int32_t', 'RmAddr(mod, rm, 4)')
else:
assert False
elif a == 'G':
if b == 'b':
addr('int8_t', 'Reg(reg, 1)')
elif b == 'w':
addr('int16_t', 'Reg(reg, 2)')
elif b == 'd':
addr('int32_t', 'Reg(reg, 4)')
else:
assert False
elif a in 'IJ':
if b == 'b':
value('int8_t', '*eip++')
elif b == 'w':
value('int16_t', '*(int16_t *) eip')
print >>fp, '\t\teip += 2;'
elif b == 'd':
value('int32_t', '*(int32_t *) eip')
print >>fp, '\t\teip += 4;'
else:
assert False
elif a == 'M':
if b == 'a':
print >>fp, '\t\tASSERT(mod != 11, "M instructions require memory operands");'
if opsize:
addr('int16_t', 'RmAddr(mod, rm, 2)')
else:
addr('int32_t', 'RmAddr(mod, rm, 4)')
elif b == 'p':
print >>fp, '\t\tBAIL("Mp instructions unsupported.");'
addr('void', '0')
else:
assert False
elif a == 'X':
if b == 'b':
addr('int8_t', 'EMU_ADDR(Esi)')
elif b == 'w':
addr('int16_t', 'EMU_ADDR(Esi)')
elif b == 'd':
addr('int32_t', 'EMU_ADDR(Esi)')
else:
assert False
elif a == 'Y':
print >>fp, '\t\tWARN("Y operands use data segment.");'
if b == 'b':
addr('int8_t', 'EMU_ADDR(Edi)')
elif b == 'w':
addr('int16_t', 'EMU_ADDR(Edi)')
elif b == 'd':
addr('int32_t', 'EMU_ADDR(Edi)')
else:
assert False
elif a == 'A':
print >>fp, '\t\tWARN("Address and no ADSIZE: support.");'
if b == 'p':
addr('int32_t', 'eip')
print >>fp, '\t\teip += 32;'
else:
assert False
elif a == 'O':
print >>fp, '\t\tWARN("Address and no ADSIZE: support.");'
if b == 'b':
addr('int8_t', 'EMU_ADDR(*(int32_t *) eip)')
print >>fp, '\t\teip += 4;'
elif b == 'w':
addr('int16_t', 'EMU_ADDR(*(int32_t *) eip)')
print >>fp, '\t\teip += 4;'
elif b == 'd':
addr('int32_t', 'EMU_ADDR(*(int32_t *) eip)')
print >>fp, '\t\teip += 4;'
else:
assert False
else:
assert False
print >>fp, '\t\tINSN_%s(%s)' % (insn, ', '.join(params))
if opsizeDependent:
print >>fp, '\tif(opsize) {'
generateSet(True)
print >>fp, '\t} else {'
generateSet(False)
print >>fp, '\t}'
else:
print >>fp, '\t{'
generateSet(False)
print >>fp, '\t}'
print >>fp, '\tbreak;'
print >>fp, '}'
stubs = []
for insn, operands in opcodes.values():
paramcount = len(operands)
if (insn, paramcount) not in stubs:
stubs.append((insn, paramcount))
stubs = sorted(stubs, key=lambda x: x[0])
for insn, paramcount in stubs:
print '#define INSN_%s(%s) { WARN("STUB Instruction %s"); }' % (insn, ', '.join(chr(ord('a') + i) for i in xrange(paramcount)), insn)

View file

@ -0,0 +1,23 @@
opcodes = {}
fp = file('Core/Generators/opcodes.txt')
for line in fp:
line = line.strip()
try:
hex, insn, operands = line.split(' ')
operands = operands.split(',')
except:
hex, insn = line.split(' ')
operands = []
if insn[0] == '-':
continue
ops = tuple(int(hex[i:i+2], 16) for i in xrange(0, len(hex), 2))
if len(ops) == 1:
ops, = ops
opcodes[ops] = insn, operands
__all__ = ('opcodes', )

256
Core/Generators/opcodes.txt Normal file
View file

@ -0,0 +1,256 @@
00 ADD Eb,Gb
01 ADD Ev,Gv
02 ADD Gb,Eb
03 ADD Gv,Ev
04 ADD AL,Ib
05 ADD rAX,Iz
06 PUSH ES
07 POP ES
10 ADC Eb,Gb
11 ADC Ev,Gv
12 ADC Gb,Eb
13 ADC Gv,Ev
14 ADC AL,Ib
15 ADC rAX,Iz
16 PUSH SS
17 POP SS
20 AND Eb,Gb
21 AND Ev,Gv
22 AND Gb,Eb
23 AND Gv,Ev
24 AND AL,Ib
25 AND rAx,Iz
26 -
27 DAA
30 XOR Eb,Gb
31 XOR Ev,Gv
32 XOR Gb,Eb
33 XOR Gv,Ev
34 XOR AL,Ib
35 XOR rAX,Iz
36 -
37 AAA
40 INC eAX
41 INC eCX
42 INC eDX
43 INC eBX
44 INC eSP
45 INC eBP
46 INC eSI
47 INC eDI
50 PUSH rAX
51 PUSH rCX
52 PUSH rDX
53 PUSH rBX
54 PUSH rSP
55 PUSH rBP
56 PUSH rSI
57 PUSH rDI
60 PUSHA
61 POPA
62 BOUND Gv,Ma
63 ARPL Ew,Gw
64 -
65 -
66 -
67 -
70 JO Jb
71 JNO Jb
72 JB Jb
73 JNB Jb
74 JZ Jb
75 JNZ Jb
76 JBE Jb
77 JNBE Jb
80 -group
81 -group
82 -group
83 -group
84 TEST Eb,Gb
85 TEST Ev,Gv
86 XCHG Eb,Gb
87 XCHG Ev,Gv
90 NOP
91 XCHG rCX,rAX
92 XCHG rDX,rAX
93 XCHG rBX,rAX
94 XCHG rSP,rAX
95 XCHG rBP,rAX
96 XCHG rSI,rAX
97 XCHG rDI,rAX
A0 MOV AL,Ov
A1 MOV rAX,Ov
A2 MOV Ov,AL
A3 MOV Ov,rAX
A4 MOVS Yb,Xb
A5 MOVS Yv,Xv
A6 CMPS Yb,Xb
A7 CMPS Yv,Xv
B0 MOV AL,Ib
B1 MOV CL,Ib
B2 MOV DL,Ib
B3 MOV BL,Ib
B4 MOV AH,Ib
B5 MOV CH,Ib
B6 MOV DH,Ib
B7 MOV BH,Ib
C0 -group
C1 -group
C2 RETnear_off Iw
C3 RETnear
C4 LES Gv,Mp
C5 LDS Gv,Mp
C6 -group
C7 -group
d0 -group
d1 -group
d2 -group
d3 -group
d4 AAM Ib
d5 AAD Ib
d6 SALC
d7 XLAT
e0 LOOPNZ Jb
e1 LOOPZ Jb
e2 LOOP Jb
e3 JCXZ Jb
e4 IN AL,Ib
e5 IN eAX,Ib
e6 OUT Ib,AL
e7 OUT Ib,eAX
f0 -
f1 INT1
f2 -
f3 -
f4 HLT
f5 CMC
f6 -group
f7 -group
08 OR Eb,Gb
09 OR Ev,Gv
0A OR Gb,Eb
0B OR Gv,Ev
0C OR AL,Ib
0D OR rAX,Iz
0E PUSH CS
0F -group
18 SBB Eb,Gb
19 SBB Ev,Gv
1A SBB Gb,Eb
1B SBB Gv,Ev
1C SBB AL,Ib
1D SBB rAX,Iz
1E PUSH DS
1F POP DS
28 SUB Eb,Gb
29 SUB Ev,Gv
2A SUB Gb,Eb
2B SUB Gv,Ev
2C SUB AL,Ib
2D SUB rAX,Iz
2E -
2F DAS
38 CMP Eb,Gb
39 CMP Ev,Gv
3A CMP Gb,Eb
3B CMP Gv,Ev
3C CMP AL,Ib
3D CMP rAX,Iz
3E -
3F AAS
48 DEC eAX
49 DEC eCX
4A DEC eDX
4B DEC eBX
4C DEC eSP
4D DEC eBP
4E DEC eSI
4F DEC eDI
58 POP rAX
59 POP rCX
5A POP rDX
5B POP rBX
5C POP rSP
5D POP rBP
5E POP rSI
5F POP rDI
68 PUSH Iz
69 IMUL Gv,Ev,Iz
6A PUSH Ib
6B IMUL Gv,Ev,Ib
6C INS Yb,DX
6D INS Yz,DX
6E OUTS DX,Xb
6F OUTS DX,Xz
78 JS Jb
79 JNS Jb
7A JP Jb
7B JNP Jb
7C JL Jb
7D JNL Jb
7E JLE Jb
7F JNLE Jb
88 MOV Eb,Gb
89 MOV Ev,Gv
8A MOV Gb,Eb
8B MOV Gv,Ev
8C --unknown
8D LEA Gv,Ma
8E --unknown
8F -group
98 CWDE
99 CDQ
9A CALL Ap
9B WAIT
9C PUSHF
9D POPF
9E SAHF
9F LAHF
A8 TEST AL,Ib
A9 TEST rAX,Iz
AA STOS Yb,AL
AB STOS Yv,rAX
AC LODS AL,Xb
AD LODS rAX,Xv
AE SCAS Yb,AL
AF SCAS Yv,rAX
B8 MOV rAX,Iv
B9 MOV rCX,Iv
BA MOV rDX,Iv
BB MOV rBX,Iv
BC MOV rSP,Iv
BD MOV rBP,Iv
BE MOV rSI,Iv
BF MOV rDI,Iv
C8 ENTER Iw,Ib
C9 LEAVE
CA RETfar_off Iw
CB RETfar
CC INT3
CD INT Ib
CE INTO
CF IRET
D8 -group
D9 -group
DA -group
DB -group
DC -group
DD -group
DE -group
DF -group
E8 CALL Jz
E9 JMP Jz
EA JMP Ap
EB JMP Jb
EC IN AL,DX
ED IN eAX,DX
EE OUT DX,AL
EF OUT DX,eAX
F8 CLC
F9 STC
FA CLI
FB STI
FC CLD
FD STD
FE -group
FF -group

View file

@ -1,20 +0,0 @@
// dllmain.cpp : Defines the entry point for the DLL application.
#include "stdafx.h"
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

View file

@ -1,60 +0,0 @@
#include "stdafx.h"
void swapFs() {
FSPair *pair;
void **cur;
__asm {
mov eax, fs:[0x18]
mov cur, eax
}
pair = (FSPair *) cur[5];
memcpy(pair->backup, cur, sizeof(KPCR));
memcpy((char *) pair->other + 0x30, (char *) cur + 0x30, 4);
memcpy((char *) pair->other + 0x94, (char *) cur + 0x94, 4*16);
memcpy(cur, pair->other, sizeof(KPCR));
}
void buildFs() {
void *origTib, *pcrBackup;
KPCR *pcr;
// XXX: Handle TLS shit
__asm {
mov eax, fs:[0x18]
mov origTib, eax
};
pcr = (KPCR *) malloc(sizeof(KPCR));
memset(pcr, 0, sizeof(KPCR));
{
ETHREAD *thread = (ETHREAD *) malloc(sizeof(ETHREAD));
thread->Tcb.TlsData = NULL;
thread->UniqueThread = GetCurrentThreadId();
memcpy(&pcr->NtTib, origTib, sizeof(NT_TIB));
pcr->NtTib.Self = (NT_TIB *) origTib;
pcr->PrcbData.CurrentThread = (KTHREAD *) thread;
pcr->Prcb = &pcr->PrcbData;
}
{
FSPair *origOther, *xboxOther;
pcrBackup = malloc(sizeof(KPCR));
origOther = (FSPair *) malloc(sizeof(FSPair));
origOther->other = (void *) pcr;
origOther->backup = pcrBackup;
((void **) origTib)[5] = origOther;
xboxOther = (FSPair *) malloc(sizeof(FSPair));
xboxOther->other = (void *) origTib;
xboxOther->backup = pcrBackup;
pcr->NtTib.ArbitraryUserPointer = xboxOther;
}
swapFs();
}

View file

@ -1,39 +0,0 @@
#pragma once
typedef struct _KTHREAD {
unsigned char unk1[0x28];
void *TlsData;
unsigned char unk2[0xE4];
} KTHREAD;
typedef struct _ETHREAD {
struct _KTHREAD Tcb;
unsigned char unk1[0x1C];
unsigned int UniqueThread;
} ETHREAD;
struct _KPRCB {
struct _KTHREAD *CurrentThread;
struct _KTHREAD *NextThread;
struct _KTHREAD *IdleThread;
unsigned char unknown[0x250];
};
#pragma pack(4)
typedef struct KPCR_s {
struct _NT_TIB NtTib;
struct _KPCR *SelfPcr;
struct _KPRCB *Prcb;
unsigned char Irql;
struct _KPRCB PrcbData;
} KPCR;
#pragma pack()
typedef struct FSPair_s {
void *other;
void *backup;
} FSPair;
void buildFs();
void swapFs();

View file

@ -1,730 +0,0 @@
#include "stdafx.h"
void __stdcall kernel_AvGetSavedDataAddress() { printf("Stub for AvGetSavedDataAddress!\n"); exit(0); }
void __stdcall kernel_AvSendTVEncoderOption() { printf("Stub for AvSendTVEncoderOption!\n"); exit(0); }
void __stdcall kernel_AvSetDisplayMode() { printf("Stub for AvSetDisplayMode!\n"); exit(0); }
void __stdcall kernel_AvSetSavedDataAddress() { printf("Stub for AvSetSavedDataAddress!\n"); exit(0); }
void __stdcall kernel_DbgBreakPoint() { printf("Stub for DbgBreakPoint!\n"); exit(0); }
void __stdcall kernel_DbgBreakPointWithStatus() { printf("Stub for DbgBreakPointWithStatus!\n"); exit(0); }
void __stdcall kernel_DbgLoadImageSymbols() { printf("Stub for DbgLoadImageSymbols!\n"); exit(0); }
void __stdcall kernel_DbgPrint() { printf("Stub for DbgPrint!\n"); exit(0); }
void __stdcall kernel_HalReadSMCTrayState() { printf("Stub for HalReadSMCTrayState!\n"); exit(0); }
void __stdcall kernel_DbgPrompt() { printf("Stub for DbgPrompt!\n"); exit(0); }
void __stdcall kernel_DbgUnLoadImageSymbols() { printf("Stub for DbgUnLoadImageSymbols!\n"); exit(0); }
void __stdcall kernel_ExAcquireReadWriteLockExclusive() { printf("Stub for ExAcquireReadWriteLockExclusive!\n"); exit(0); }
void __stdcall kernel_ExAcquireReadWriteLockShared() { printf("Stub for ExAcquireReadWriteLockShared!\n"); exit(0); }
void __stdcall kernel_ExAllocatePool() { printf("Stub for ExAllocatePool!\n"); exit(0); }
void __stdcall kernel_ExAllocatePoolWithTag() { printf("Stub for ExAllocatePoolWithTag!\n"); exit(0); }
void __stdcall kernel_ExEventObjectType() { printf("Stub for ExEventObjectType!\n"); exit(0); }
void __stdcall kernel_ExFreePool() { printf("Stub for ExFreePool!\n"); exit(0); }
void __stdcall kernel_ExInitializeReadWriteLock() { printf("Stub for ExInitializeReadWriteLock!\n"); exit(0); }
void __stdcall kernel_ExInterlockedAddLargeInteger() { printf("Stub for ExInterlockedAddLargeInteger!\n"); exit(0); }
void __stdcall kernel_ExInterlockedAddLargeStatistic() { printf("Stub for ExInterlockedAddLargeStatistic!\n"); exit(0); }
void __stdcall kernel_ExInterlockedCompareExchange64() { printf("Stub for ExInterlockedCompareExchange64!\n"); exit(0); }
void __stdcall kernel_ExMutantObjectType() { printf("Stub for ExMutantObjectType!\n"); exit(0); }
void __stdcall kernel_ExQueryPoolBlockSize() { printf("Stub for ExQueryPoolBlockSize!\n"); exit(0); }
void __stdcall kernel_ExQueryNonVolatileSetting() { printf("Stub for ExQueryNonVolatileSetting!\n"); exit(0); }
void __stdcall kernel_ExReadWriteRefurbInfo() { printf("Stub for ExReadWriteRefurbInfo!\n"); exit(0); }
void __stdcall kernel_ExRaiseException() { printf("Stub for ExRaiseException!\n"); exit(0); }
void __stdcall kernel_ExRaiseStatus() { printf("Stub for ExRaiseStatus!\n"); exit(0); }
void __stdcall kernel_ExReleaseReadWriteLock() { printf("Stub for ExReleaseReadWriteLock!\n"); exit(0); }
void __stdcall kernel_ExSaveNonVolatileSetting() { printf("Stub for ExSaveNonVolatileSetting!\n"); exit(0); }
void __stdcall kernel_ExSemaphoreObjectType() { printf("Stub for ExSemaphoreObjectType!\n"); exit(0); }
void __stdcall kernel_ExTimerObjectType() { printf("Stub for ExTimerObjectType!\n"); exit(0); }
void __stdcall kernel_ExfInterlockedInsertHeadList() { printf("Stub for ExfInterlockedInsertHeadList!\n"); exit(0); }
void __stdcall kernel_ExfInterlockedInsertTailList() { printf("Stub for ExfInterlockedInsertTailList!\n"); exit(0); }
void __stdcall kernel_ExfInterlockedRemoveHeadList() { printf("Stub for ExfInterlockedRemoveHeadList!\n"); exit(0); }
void __stdcall kernel_FscGetCacheSize() { printf("Stub for FscGetCacheSize!\n"); exit(0); }
void __stdcall kernel_FscInvalidateIdleBlocks() { printf("Stub for FscInvalidateIdleBlocks!\n"); exit(0); }
void __stdcall kernel_FscSetCacheSize() { printf("Stub for FscSetCacheSize!\n"); exit(0); }
void __stdcall kernel_HalClearSoftwareInterrupt() { printf("Stub for HalClearSoftwareInterrupt!\n"); exit(0); }
void __stdcall kernel_HalDisableSystemInterrupt() { printf("Stub for HalDisableSystemInterrupt!\n"); exit(0); }
void __stdcall kernel_HalDiskCachePartitionCount() { printf("Stub for HalDiskCachePartitionCount!\n"); exit(0); }
void __stdcall kernel_HalDiskModelNumber() { printf("Stub for HalDiskModelNumber!\n"); exit(0); }
void __stdcall kernel_HalDiskSerialNumber() { printf("Stub for HalDiskSerialNumber!\n"); exit(0); }
void __stdcall kernel_HalEnableSystemInterrupt() { printf("Stub for HalEnableSystemInterrupt!\n"); exit(0); }
void __stdcall kernel_HalGetInterruptVector() { printf("Stub for HalGetInterruptVector!\n"); exit(0); }
void __stdcall kernel_HalReadSMBusValue() { printf("Stub for HalReadSMBusValue!\n"); exit(0); }
void __stdcall kernel_HalReadWritePCISpace() { printf("Stub for HalReadWritePCISpace!\n"); exit(0); }
void __stdcall kernel_HalRegisterShutdownNotification() { printf("Stub for HalRegisterShutdownNotification!\n"); exit(0); }
void __stdcall kernel_HalRequestSoftwareInterrupt() { printf("Stub for HalRequestSoftwareInterrupt!\n"); exit(0); }
void __stdcall kernel_HalReturnToFirmware() { printf("Stub for HalReturnToFirmware!\n"); exit(0); }
void __stdcall kernel_HalWriteSMBusValue() { printf("Stub for HalWriteSMBusValue!\n"); exit(0); }
void __stdcall kernel_InterlockedCompareExchange() { printf("Stub for InterlockedCompareExchange!\n"); exit(0); }
void __stdcall kernel_InterlockedDecrement() { printf("Stub for InterlockedDecrement!\n"); exit(0); }
void __stdcall kernel_InterlockedIncrement() { printf("Stub for InterlockedIncrement!\n"); exit(0); }
void __stdcall kernel_InterlockedExchange() { printf("Stub for InterlockedExchange!\n"); exit(0); }
void __stdcall kernel_InterlockedExchangeAdd() { printf("Stub for InterlockedExchangeAdd!\n"); exit(0); }
void __stdcall kernel_InterlockedFlushSList() { printf("Stub for InterlockedFlushSList!\n"); exit(0); }
void __stdcall kernel_InterlockedPopEntrySList() { printf("Stub for InterlockedPopEntrySList!\n"); exit(0); }
void __stdcall kernel_InterlockedPushEntrySList() { printf("Stub for InterlockedPushEntrySList!\n"); exit(0); }
void __stdcall kernel_IoAllocateIrp() { printf("Stub for IoAllocateIrp!\n"); exit(0); }
void __stdcall kernel_IoBuildAsynchronousFsdRequest() { printf("Stub for IoBuildAsynchronousFsdRequest!\n"); exit(0); }
void __stdcall kernel_IoBuildDeviceIoControlRequest() { printf("Stub for IoBuildDeviceIoControlRequest!\n"); exit(0); }
void __stdcall kernel_IoBuildSynchronousFsdRequest() { printf("Stub for IoBuildSynchronousFsdRequest!\n"); exit(0); }
void __stdcall kernel_IoCheckShareAccess() { printf("Stub for IoCheckShareAccess!\n"); exit(0); }
void __stdcall kernel_IoCompletionObjectType() { printf("Stub for IoCompletionObjectType!\n"); exit(0); }
void __stdcall kernel_IoCreateDevice() { printf("Stub for IoCreateDevice!\n"); exit(0); }
void __stdcall kernel_IoCreateFile() { printf("Stub for IoCreateFile!\n"); exit(0); }
void __stdcall kernel_IoCreateSymbolicLink() { printf("Stub for IoCreateSymbolicLink!\n"); exit(0); }
void __stdcall kernel_IoDeleteDevice() { printf("Stub for IoDeleteDevice!\n"); exit(0); }
void __stdcall kernel_IoDeleteSymbolicLink() { printf("Stub for IoDeleteSymbolicLink!\n"); exit(0); }
void __stdcall kernel_IoDeviceObjectType() { printf("Stub for IoDeviceObjectType!\n"); exit(0); }
void __stdcall kernel_IoFileObjectType() { printf("Stub for IoFileObjectType!\n"); exit(0); }
void __stdcall kernel_IoFreeIrp() { printf("Stub for IoFreeIrp!\n"); exit(0); }
void __stdcall kernel_IoInitializeIrp() { printf("Stub for IoInitializeIrp!\n"); exit(0); }
void __stdcall kernel_IoInvalidDeviceRequest() { printf("Stub for IoInvalidDeviceRequest!\n"); exit(0); }
void __stdcall kernel_IoQueryFileInformation() { printf("Stub for IoQueryFileInformation!\n"); exit(0); }
void __stdcall kernel_IoQueryVolumeInformation() { printf("Stub for IoQueryVolumeInformation!\n"); exit(0); }
void __stdcall kernel_IoQueueThreadIrp() { printf("Stub for IoQueueThreadIrp!\n"); exit(0); }
void __stdcall kernel_IoRemoveShareAccess() { printf("Stub for IoRemoveShareAccess!\n"); exit(0); }
void __stdcall kernel_IoSetIoCompletion() { printf("Stub for IoSetIoCompletion!\n"); exit(0); }
void __stdcall kernel_IoSetShareAccess() { printf("Stub for IoSetShareAccess!\n"); exit(0); }
void __stdcall kernel_IoStartNextPacket() { printf("Stub for IoStartNextPacket!\n"); exit(0); }
void __stdcall kernel_IoStartNextPacketByKey() { printf("Stub for IoStartNextPacketByKey!\n"); exit(0); }
void __stdcall kernel_IoStartPacket() { printf("Stub for IoStartPacket!\n"); exit(0); }
void __stdcall kernel_IoSynchronousDeviceIoControlRequest() { printf("Stub for IoSynchronousDeviceIoControlRequest!\n"); exit(0); }
void __stdcall kernel_IoSynchronousFsdRequest() { printf("Stub for IoSynchronousFsdRequest!\n"); exit(0); }
void __stdcall kernel_IofCallDriver() { printf("Stub for IofCallDriver!\n"); exit(0); }
void __stdcall kernel_IofCompleteRequest() { printf("Stub for IofCompleteRequest!\n"); exit(0); }
void __stdcall kernel_KdDebuggerEnabled() { printf("Stub for KdDebuggerEnabled!\n"); exit(0); }
void __stdcall kernel_KdDebuggerNotPresent() { printf("Stub for KdDebuggerNotPresent!\n"); exit(0); }
void __stdcall kernel_IoDismountVolume() { printf("Stub for IoDismountVolume!\n"); exit(0); }
void __stdcall kernel_IoDismountVolumeByName() { printf("Stub for IoDismountVolumeByName!\n"); exit(0); }
void __stdcall kernel_KeAlertResumeThread() { printf("Stub for KeAlertResumeThread!\n"); exit(0); }
void __stdcall kernel_KeAlertThread() { printf("Stub for KeAlertThread!\n"); exit(0); }
void __stdcall kernel_KeBoostPriorityThread() { printf("Stub for KeBoostPriorityThread!\n"); exit(0); }
void __stdcall kernel_KeBugCheck() { printf("Stub for KeBugCheck!\n"); exit(0); }
void __stdcall kernel_KeBugCheckEx() { printf("Stub for KeBugCheckEx!\n"); exit(0); }
void __stdcall kernel_KeCancelTimer() { printf("Stub for KeCancelTimer!\n"); exit(0); }
void __stdcall kernel_KeConnectInterrupt() { printf("Stub for KeConnectInterrupt!\n"); exit(0); }
void __stdcall kernel_KeDelayExecutionThread() { printf("Stub for KeDelayExecutionThread!\n"); exit(0); }
void __stdcall kernel_KeDisconnectInterrupt() { printf("Stub for KeDisconnectInterrupt!\n"); exit(0); }
void __stdcall kernel_KeEnterCriticalRegion() { printf("Stub for KeEnterCriticalRegion!\n"); exit(0); }
void __stdcall kernel_MmGlobalData() { printf("Stub for MmGlobalData!\n"); exit(0); }
void __stdcall kernel_KeGetCurrentIrql() { printf("Stub for KeGetCurrentIrql!\n"); exit(0); }
void __stdcall kernel_KeGetCurrentThread() { printf("Stub for KeGetCurrentThread!\n"); exit(0); }
void __stdcall kernel_KeInitializeApc() { printf("Stub for KeInitializeApc!\n"); exit(0); }
void __stdcall kernel_KeInitializeDeviceQueue() { printf("Stub for KeInitializeDeviceQueue!\n"); exit(0); }
void __stdcall kernel_KeInitializeDpc() { printf("Stub for KeInitializeDpc!\n"); exit(0); }
void __stdcall kernel_KeInitializeEvent() { printf("Stub for KeInitializeEvent!\n"); exit(0); }
void __stdcall kernel_KeInitializeInterrupt() { printf("Stub for KeInitializeInterrupt!\n"); exit(0); }
void __stdcall kernel_KeInitializeMutant() { printf("Stub for KeInitializeMutant!\n"); exit(0); }
void __stdcall kernel_KeInitializeQueue() { printf("Stub for KeInitializeQueue!\n"); exit(0); }
void __stdcall kernel_KeInitializeSemaphore() { printf("Stub for KeInitializeSemaphore!\n"); exit(0); }
void __stdcall kernel_KeInitializeTimerEx() { printf("Stub for KeInitializeTimerEx!\n"); exit(0); }
void __stdcall kernel_KeInsertByKeyDeviceQueue() { printf("Stub for KeInsertByKeyDeviceQueue!\n"); exit(0); }
void __stdcall kernel_KeInsertDeviceQueue() { printf("Stub for KeInsertDeviceQueue!\n"); exit(0); }
void __stdcall kernel_KeInsertHeadQueue() { printf("Stub for KeInsertHeadQueue!\n"); exit(0); }
void __stdcall kernel_KeInsertQueue() { printf("Stub for KeInsertQueue!\n"); exit(0); }
void __stdcall kernel_KeInsertQueueApc() { printf("Stub for KeInsertQueueApc!\n"); exit(0); }
void __stdcall kernel_KeInsertQueueDpc() { printf("Stub for KeInsertQueueDpc!\n"); exit(0); }
void __stdcall kernel_KeInterruptTime() { printf("Stub for KeInterruptTime!\n"); exit(0); }
void __stdcall kernel_KeIsExecutingDpc() { printf("Stub for KeIsExecutingDpc!\n"); exit(0); }
void __stdcall kernel_KeLeaveCriticalRegion() { printf("Stub for KeLeaveCriticalRegion!\n"); exit(0); }
void __stdcall kernel_KePulseEvent() { printf("Stub for KePulseEvent!\n"); exit(0); }
void __stdcall kernel_KeQueryBasePriorityThread() { printf("Stub for KeQueryBasePriorityThread!\n"); exit(0); }
void __stdcall kernel_KeQueryInterruptTime() { printf("Stub for KeQueryInterruptTime!\n"); exit(0); }
void __stdcall kernel_KeQueryPerformanceCounter() { printf("Stub for KeQueryPerformanceCounter!\n"); exit(0); }
void __stdcall kernel_KeQueryPerformanceFrequency() { printf("Stub for KeQueryPerformanceFrequency!\n"); exit(0); }
void __stdcall kernel_KeQuerySystemTime() { printf("Stub for KeQuerySystemTime!\n"); exit(0); }
void __stdcall kernel_KeRaiseIrqlToDpcLevel() { printf("Stub for KeRaiseIrqlToDpcLevel!\n"); exit(0); }
void __stdcall kernel_KeRaiseIrqlToSynchLevel() { printf("Stub for KeRaiseIrqlToSynchLevel!\n"); exit(0); }
void __stdcall kernel_KeReleaseMutant() { printf("Stub for KeReleaseMutant!\n"); exit(0); }
void __stdcall kernel_KeReleaseSemaphore() { printf("Stub for KeReleaseSemaphore!\n"); exit(0); }
void __stdcall kernel_KeRemoveByKeyDeviceQueue() { printf("Stub for KeRemoveByKeyDeviceQueue!\n"); exit(0); }
void __stdcall kernel_KeRemoveDeviceQueue() { printf("Stub for KeRemoveDeviceQueue!\n"); exit(0); }
void __stdcall kernel_KeRemoveEntryDeviceQueue() { printf("Stub for KeRemoveEntryDeviceQueue!\n"); exit(0); }
void __stdcall kernel_KeRemoveQueue() { printf("Stub for KeRemoveQueue!\n"); exit(0); }
void __stdcall kernel_KeRemoveQueueDpc() { printf("Stub for KeRemoveQueueDpc!\n"); exit(0); }
void __stdcall kernel_KeResetEvent() { printf("Stub for KeResetEvent!\n"); exit(0); }
void __stdcall kernel_KeRestoreFloatingPointState() { printf("Stub for KeRestoreFloatingPointState!\n"); exit(0); }
void __stdcall kernel_KeResumeThread() { printf("Stub for KeResumeThread!\n"); exit(0); }
void __stdcall kernel_KeRundownQueue() { printf("Stub for KeRundownQueue!\n"); exit(0); }
void __stdcall kernel_KeSaveFloatingPointState() { printf("Stub for KeSaveFloatingPointState!\n"); exit(0); }
void __stdcall kernel_KeSetBasePriorityThread() { printf("Stub for KeSetBasePriorityThread!\n"); exit(0); }
void __stdcall kernel_KeSetDisableBoostThread() { printf("Stub for KeSetDisableBoostThread!\n"); exit(0); }
void __stdcall kernel_KeSetEvent() { printf("Stub for KeSetEvent!\n"); exit(0); }
void __stdcall kernel_KeSetEventBoostPriority() { printf("Stub for KeSetEventBoostPriority!\n"); exit(0); }
void __stdcall kernel_KeSetPriorityProcess() { printf("Stub for KeSetPriorityProcess!\n"); exit(0); }
void __stdcall kernel_KeSetPriorityThread() { printf("Stub for KeSetPriorityThread!\n"); exit(0); }
void __stdcall kernel_KeSetTimer() { printf("Stub for KeSetTimer!\n"); exit(0); }
void __stdcall kernel_KeSetTimerEx() { printf("Stub for KeSetTimerEx!\n"); exit(0); }
void __stdcall kernel_KeStallExecutionProcessor() { printf("Stub for KeStallExecutionProcessor!\n"); exit(0); }
void __stdcall kernel_KeSuspendThread() { printf("Stub for KeSuspendThread!\n"); exit(0); }
void __stdcall kernel_KeSynchronizeExecution() { printf("Stub for KeSynchronizeExecution!\n"); exit(0); }
void __stdcall kernel_KeSystemTime() { printf("Stub for KeSystemTime!\n"); exit(0); }
void __stdcall kernel_KeTestAlertThread() { printf("Stub for KeTestAlertThread!\n"); exit(0); }
void __stdcall kernel_KeTickCount() { printf("Stub for KeTickCount!\n"); exit(0); }
void __stdcall kernel_KeTimeIncrement() { printf("Stub for KeTimeIncrement!\n"); exit(0); }
void __stdcall kernel_KeWaitForMultipleObjects() { printf("Stub for KeWaitForMultipleObjects!\n"); exit(0); }
void __stdcall kernel_KeWaitForSingleObject() { printf("Stub for KeWaitForSingleObject!\n"); exit(0); }
void __stdcall kernel_KfRaiseIrql() { printf("Stub for KfRaiseIrql!\n"); exit(0); }
void __stdcall kernel_KfLowerIrql() { printf("Stub for KfLowerIrql!\n"); exit(0); }
void __stdcall kernel_KiBugCheckData() { printf("Stub for KiBugCheckData!\n"); exit(0); }
void __stdcall kernel_KiUnlockDispatcherDatabase() { printf("Stub for KiUnlockDispatcherDatabase!\n"); exit(0); }
void * __stdcall kernel_MmAllocateContiguousMemory(unsigned int size) { return malloc(size); }
void __stdcall kernel_MmAllocateContiguousMemoryEx() { printf("Stub for MmAllocateContiguousMemoryEx!\n"); exit(0); }
void __stdcall kernel_MmAllocateSystemMemory() { printf("Stub for MmAllocateSystemMemory!\n"); exit(0); }
void __stdcall kernel_MmClaimGpuInstanceMemory() { printf("Stub for MmClaimGpuInstanceMemory!\n"); exit(0); }
void __stdcall kernel_MmCreateKernelStack() { printf("Stub for MmCreateKernelStack!\n"); exit(0); }
void __stdcall kernel_MmDeleteKernelStack() { printf("Stub for MmDeleteKernelStack!\n"); exit(0); }
void __stdcall kernel_MmFreeContiguousMemory() { printf("Stub for MmFreeContiguousMemory!\n"); exit(0); }
void __stdcall kernel_MmFreeSystemMemory() { printf("Stub for MmFreeSystemMemory!\n"); exit(0); }
void __stdcall kernel_MmGetPhysicalAddress() { printf("Stub for MmGetPhysicalAddress!\n"); exit(0); }
void __stdcall kernel_MmIsAddressValid() { printf("Stub for MmIsAddressValid!\n"); exit(0); }
void __stdcall kernel_MmLockUnlockBufferPages() { printf("Stub for MmLockUnlockBufferPages!\n"); exit(0); }
void __stdcall kernel_MmLockUnlockPhysicalPage() { printf("Stub for MmLockUnlockPhysicalPage!\n"); exit(0); }
void __stdcall kernel_MmMapIoSpace() { printf("Stub for MmMapIoSpace!\n"); exit(0); }
void __stdcall kernel_MmPersistContiguousMemory(PVOID BaseAddress,ULONG NumberOfBytes,BOOLEAN Persist) { printf("Stub for MmPersistContiguousMemory!\n"); }
void __stdcall kernel_MmQueryAddressProtect() { printf("Stub for MmQueryAddressProtect!\n"); exit(0); }
void __stdcall kernel_MmQueryAllocationSize() { printf("Stub for MmQueryAllocationSize!\n"); exit(0); }
void __stdcall kernel_MmQueryStatistics() { printf("Stub for MmQueryStatistics!\n"); exit(0); }
void __stdcall kernel_MmSetAddressProtect() { printf("Stub for MmSetAddressProtect!\n"); exit(0); }
void __stdcall kernel_MmUnmapIoSpace() { printf("Stub for MmUnmapIoSpace!\n"); exit(0); }
void __stdcall kernel_NtAllocateVirtualMemory() { printf("Stub for NtAllocateVirtualMemory!\n"); exit(0); }
void __stdcall kernel_NtCancelTimer() { printf("Stub for NtCancelTimer!\n"); exit(0); }
void __stdcall kernel_NtClearEvent() { printf("Stub for NtClearEvent!\n"); exit(0); }
void __stdcall kernel_NtClose() { printf("Stub for NtClose!\n"); exit(0); }
void __stdcall kernel_NtCreateDirectoryObject() { printf("Stub for NtCreateDirectoryObject!\n"); exit(0); }
void __stdcall kernel_NtCreateEvent() { printf("Stub for NtCreateEvent!\n"); exit(0); }
void __stdcall kernel_NtCreateFile() { printf("Stub for NtCreateFile!\n"); exit(0); }
void __stdcall kernel_NtCreateIoCompletion() { printf("Stub for NtCreateIoCompletion!\n"); exit(0); }
void __stdcall kernel_NtCreateMutant() { printf("Stub for NtCreateMutant!\n"); exit(0); }
void __stdcall kernel_NtCreateSemaphore() { printf("Stub for NtCreateSemaphore!\n"); exit(0); }
void __stdcall kernel_NtCreateTimer() { printf("Stub for NtCreateTimer!\n"); exit(0); }
void __stdcall kernel_NtDeleteFile() { printf("Stub for NtDeleteFile!\n"); exit(0); }
void __stdcall kernel_NtDeviceIoControlFile() { printf("Stub for NtDeviceIoControlFile!\n"); exit(0); }
void __stdcall kernel_NtDuplicateObject() { printf("Stub for NtDuplicateObject!\n"); exit(0); }
void __stdcall kernel_NtFlushBuffersFile() { printf("Stub for NtFlushBuffersFile!\n"); exit(0); }
void __stdcall kernel_NtFreeVirtualMemory() { printf("Stub for NtFreeVirtualMemory!\n"); exit(0); }
void __stdcall kernel_NtFsControlFile() { printf("Stub for NtFsControlFile!\n"); exit(0); }
void __stdcall kernel_NtOpenDirectoryObject() { printf("Stub for NtOpenDirectoryObject!\n"); exit(0); }
void __stdcall kernel_NtOpenFile() { printf("Stub for NtOpenFile!\n"); exit(0); }
void __stdcall kernel_NtOpenSymbolicLinkObject() { printf("Stub for NtOpenSymbolicLinkObject!\n"); exit(0); }
void __stdcall kernel_NtProtectVirtualMemory() { printf("Stub for NtProtectVirtualMemory!\n"); exit(0); }
void __stdcall kernel_NtPulseEvent() { printf("Stub for NtPulseEvent!\n"); exit(0); }
void __stdcall kernel_NtQueueApcThread() { printf("Stub for NtQueueApcThread!\n"); exit(0); }
void __stdcall kernel_NtQueryDirectoryFile() { printf("Stub for NtQueryDirectoryFile!\n"); exit(0); }
void __stdcall kernel_NtQueryDirectoryObject() { printf("Stub for NtQueryDirectoryObject!\n"); exit(0); }
void __stdcall kernel_NtQueryEvent() { printf("Stub for NtQueryEvent!\n"); exit(0); }
void __stdcall kernel_NtQueryFullAttributesFile() { printf("Stub for NtQueryFullAttributesFile!\n"); exit(0); }
void __stdcall kernel_NtQueryInformationFile() { printf("Stub for NtQueryInformationFile!\n"); exit(0); }
void __stdcall kernel_NtQueryIoCompletion() { printf("Stub for NtQueryIoCompletion!\n"); exit(0); }
void __stdcall kernel_NtQueryMutant() { printf("Stub for NtQueryMutant!\n"); exit(0); }
void __stdcall kernel_NtQuerySemaphore() { printf("Stub for NtQuerySemaphore!\n"); exit(0); }
void __stdcall kernel_NtQuerySymbolicLinkObject() { printf("Stub for NtQuerySymbolicLinkObject!\n"); exit(0); }
void __stdcall kernel_NtQueryTimer() { printf("Stub for NtQueryTimer!\n"); exit(0); }
void __stdcall kernel_NtQueryVirtualMemory() { printf("Stub for NtQueryVirtualMemory!\n"); exit(0); }
void __stdcall kernel_NtQueryVolumeInformationFile() { printf("Stub for NtQueryVolumeInformationFile!\n"); exit(0); }
void __stdcall kernel_NtReadFile() { printf("Stub for NtReadFile!\n"); exit(0); }
void __stdcall kernel_NtReadFileScatter() { printf("Stub for NtReadFileScatter!\n"); exit(0); }
void __stdcall kernel_NtReleaseMutant() { printf("Stub for NtReleaseMutant!\n"); exit(0); }
void __stdcall kernel_NtReleaseSemaphore() { printf("Stub for NtReleaseSemaphore!\n"); exit(0); }
void __stdcall kernel_NtRemoveIoCompletion() { printf("Stub for NtRemoveIoCompletion!\n"); exit(0); }
void __stdcall kernel_NtResumeThread() { printf("Stub for NtResumeThread!\n"); exit(0); }
void __stdcall kernel_NtSetEvent() { printf("Stub for NtSetEvent!\n"); exit(0); }
void __stdcall kernel_NtSetInformationFile() { printf("Stub for NtSetInformationFile!\n"); exit(0); }
void __stdcall kernel_NtSetIoCompletion() { printf("Stub for NtSetIoCompletion!\n"); exit(0); }
void __stdcall kernel_NtSetSystemTime() { printf("Stub for NtSetSystemTime!\n"); exit(0); }
void __stdcall kernel_NtSetTimerEx() { printf("Stub for NtSetTimerEx!\n"); exit(0); }
void __stdcall kernel_NtSignalAndWaitForSingleObjectEx() { printf("Stub for NtSignalAndWaitForSingleObjectEx!\n"); exit(0); }
void __stdcall kernel_NtSuspendThread() { printf("Stub for NtSuspendThread!\n"); exit(0); }
void __stdcall kernel_NtUserIoApcDispatcher() { printf("Stub for NtUserIoApcDispatcher!\n"); exit(0); }
void __stdcall kernel_NtWaitForSingleObject() { printf("Stub for NtWaitForSingleObject!\n"); exit(0); }
void __stdcall kernel_NtWaitForSingleObjectEx() { printf("Stub for NtWaitForSingleObjectEx!\n"); exit(0); }
void __stdcall kernel_NtWaitForMultipleObjectsEx() { printf("Stub for NtWaitForMultipleObjectsEx!\n"); exit(0); }
void __stdcall kernel_NtWriteFile() { printf("Stub for NtWriteFile!\n"); exit(0); }
void __stdcall kernel_NtWriteFileGather() { printf("Stub for NtWriteFileGather!\n"); exit(0); }
void __stdcall kernel_NtYieldExecution() { printf("Stub for NtYieldExecution!\n"); exit(0); }
void __stdcall kernel_ObCreateObject() { printf("Stub for ObCreateObject!\n"); exit(0); }
void __stdcall kernel_ObDirectoryObjectType() { printf("Stub for ObDirectoryObjectType!\n"); exit(0); }
void __stdcall kernel_ObInsertObject() { printf("Stub for ObInsertObject!\n"); exit(0); }
void __stdcall kernel_ObMakeTemporaryObject() { printf("Stub for ObMakeTemporaryObject!\n"); exit(0); }
void __stdcall kernel_ObOpenObjectByName() { printf("Stub for ObOpenObjectByName!\n"); exit(0); }
void __stdcall kernel_ObOpenObjectByPointer() { printf("Stub for ObOpenObjectByPointer!\n"); exit(0); }
void __stdcall kernel_ObpObjectHandleTable() { printf("Stub for ObpObjectHandleTable!\n"); exit(0); }
void __stdcall kernel_ObReferenceObjectByHandle() { printf("Stub for ObReferenceObjectByHandle!\n"); exit(0); }
void __stdcall kernel_ObReferenceObjectByName() { printf("Stub for ObReferenceObjectByName!\n"); exit(0); }
void __stdcall kernel_ObReferenceObjectByPointer() { printf("Stub for ObReferenceObjectByPointer!\n"); exit(0); }
void __stdcall kernel_ObSymbolicLinkObjectType() { printf("Stub for ObSymbolicLinkObjectType!\n"); exit(0); }
void __stdcall kernel_ObfDereferenceObject() { printf("Stub for ObfDereferenceObject!\n"); exit(0); }
void __stdcall kernel_ObfReferenceObject() { printf("Stub for ObfReferenceObject!\n"); exit(0); }
void __stdcall kernel_PhyGetLinkState() { printf("Stub for PhyGetLinkState!\n"); exit(0); }
void __stdcall kernel_PhyInitialize() { printf("Stub for PhyInitialize!\n"); exit(0); }
void __stdcall kernel_PsCreateSystemThread() { printf("Stub for PsCreateSystemThread!\n"); exit(0); }
void __stdcall kernel_PsQueryStatistics() { printf("Stub for PsQueryStatistics!\n"); exit(0); }
void __stdcall kernel_PsSetCreateThreadNotifyRoutine() { printf("Stub for PsSetCreateThreadNotifyRoutine!\n"); exit(0); }
void __stdcall kernel_PsTerminateSystemThread() { printf("Stub for PsTerminateSystemThread!\n"); exit(0); }
void __stdcall kernel_PsThreadObjectType() { printf("Stub for PsThreadObjectType!\n"); exit(0); }
void __stdcall kernel_RtlAnsiStringToUnicodeString() { printf("Stub for RtlAnsiStringToUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlAppendStringToString() { printf("Stub for RtlAppendStringToString!\n"); exit(0); }
void __stdcall kernel_RtlAppendUnicodeStringToString() { printf("Stub for RtlAppendUnicodeStringToString!\n"); exit(0); }
void __stdcall kernel_RtlAppendUnicodeToString() { printf("Stub for RtlAppendUnicodeToString!\n"); exit(0); }
void __stdcall kernel_RtlAssert() { printf("Stub for RtlAssert!\n"); exit(0); }
void __stdcall kernel_RtlCaptureContext() { printf("Stub for RtlCaptureContext!\n"); exit(0); }
void __stdcall kernel_RtlCaptureStackBackTrace() { printf("Stub for RtlCaptureStackBackTrace!\n"); exit(0); }
void __stdcall kernel_RtlCharToInteger() { printf("Stub for RtlCharToInteger!\n"); exit(0); }
void __stdcall kernel_RtlCompareMemory() { printf("Stub for RtlCompareMemory!\n"); exit(0); }
void __stdcall kernel_RtlCompareMemoryUlong() { printf("Stub for RtlCompareMemoryUlong!\n"); exit(0); }
void __stdcall kernel_RtlCompareString() { printf("Stub for RtlCompareString!\n"); exit(0); }
void __stdcall kernel_RtlCompareUnicodeString() { printf("Stub for RtlCompareUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlCopyString() { printf("Stub for RtlCopyString!\n"); exit(0); }
void __stdcall kernel_RtlCopyUnicodeString() { printf("Stub for RtlCopyUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlCreateUnicodeString() { printf("Stub for RtlCreateUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlDowncaseUnicodeChar() { printf("Stub for RtlDowncaseUnicodeChar!\n"); exit(0); }
void __stdcall kernel_RtlDowncaseUnicodeString() { printf("Stub for RtlDowncaseUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlEnterCriticalSection() { printf("Stub for RtlEnterCriticalSection!\n"); exit(0); }
void __stdcall kernel_RtlEnterCriticalSectionAndRegion() { printf("Stub for RtlEnterCriticalSectionAndRegion!\n"); exit(0); }
void __stdcall kernel_RtlEqualString() { printf("Stub for RtlEqualString!\n"); exit(0); }
void __stdcall kernel_RtlEqualUnicodeString() { printf("Stub for RtlEqualUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlExtendedIntegerMultiply() { printf("Stub for RtlExtendedIntegerMultiply!\n"); exit(0); }
void __stdcall kernel_RtlExtendedLargeIntegerDivide() { printf("Stub for RtlExtendedLargeIntegerDivide!\n"); exit(0); }
void __stdcall kernel_RtlExtendedMagicDivide() { printf("Stub for RtlExtendedMagicDivide!\n"); exit(0); }
void __stdcall kernel_RtlFillMemory() { printf("Stub for RtlFillMemory!\n"); exit(0); }
void __stdcall kernel_RtlFillMemoryUlong() { printf("Stub for RtlFillMemoryUlong!\n"); exit(0); }
void __stdcall kernel_RtlFreeAnsiString() { printf("Stub for RtlFreeAnsiString!\n"); exit(0); }
void __stdcall kernel_RtlFreeUnicodeString() { printf("Stub for RtlFreeUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlGetCallersAddress() { printf("Stub for RtlGetCallersAddress!\n"); exit(0); }
void __stdcall kernel_RtlInitAnsiString() { printf("Stub for RtlInitAnsiString!\n"); exit(0); }
void __stdcall kernel_RtlInitUnicodeString() { printf("Stub for RtlInitUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlInitializeCriticalSection() { printf("Stub for RtlInitializeCriticalSection!\n"); exit(0); }
void __stdcall kernel_RtlIntegerToChar() { printf("Stub for RtlIntegerToChar!\n"); exit(0); }
void __stdcall kernel_RtlIntegerToUnicodeString() { printf("Stub for RtlIntegerToUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlLeaveCriticalSection() { printf("Stub for RtlLeaveCriticalSection!\n"); exit(0); }
void __stdcall kernel_RtlLeaveCriticalSectionAndRegion() { printf("Stub for RtlLeaveCriticalSectionAndRegion!\n"); exit(0); }
void __stdcall kernel_RtlLowerChar() { printf("Stub for RtlLowerChar!\n"); exit(0); }
void __stdcall kernel_RtlMapGenericMask() { printf("Stub for RtlMapGenericMask!\n"); exit(0); }
void __stdcall kernel_RtlMoveMemory() { printf("Stub for RtlMoveMemory!\n"); exit(0); }
void __stdcall kernel_RtlMultiByteToUnicodeN() { printf("Stub for RtlMultiByteToUnicodeN!\n"); exit(0); }
void __stdcall kernel_RtlMultiByteToUnicodeSize() { printf("Stub for RtlMultiByteToUnicodeSize!\n"); exit(0); }
void __stdcall kernel_RtlNtStatusToDosError() { printf("Stub for RtlNtStatusToDosError!\n"); exit(0); }
void __stdcall kernel_RtlRaiseException() { printf("Stub for RtlRaiseException!\n"); exit(0); }
void __stdcall kernel_RtlRaiseStatus() { printf("Stub for RtlRaiseStatus!\n"); exit(0); }
void __stdcall kernel_RtlTimeFieldsToTime() { printf("Stub for RtlTimeFieldsToTime!\n"); exit(0); }
void __stdcall kernel_RtlTimeToTimeFields() { printf("Stub for RtlTimeToTimeFields!\n"); exit(0); }
void __stdcall kernel_RtlTryEnterCriticalSection() { printf("Stub for RtlTryEnterCriticalSection!\n"); exit(0); }
void __stdcall kernel_RtlUlongByteSwap() { printf("Stub for RtlUlongByteSwap!\n"); exit(0); }
void __stdcall kernel_RtlUnicodeStringToAnsiString() { printf("Stub for RtlUnicodeStringToAnsiString!\n"); exit(0); }
void __stdcall kernel_RtlUnicodeStringToInteger() { printf("Stub for RtlUnicodeStringToInteger!\n"); exit(0); }
void __stdcall kernel_RtlUnicodeToMultiByteN() { printf("Stub for RtlUnicodeToMultiByteN!\n"); exit(0); }
void __stdcall kernel_RtlUnicodeToMultiByteSize() { printf("Stub for RtlUnicodeToMultiByteSize!\n"); exit(0); }
void __stdcall kernel_RtlUnwind() { printf("Stub for RtlUnwind!\n"); exit(0); }
void __stdcall kernel_RtlUpcaseUnicodeChar() { printf("Stub for RtlUpcaseUnicodeChar!\n"); exit(0); }
void __stdcall kernel_RtlUpcaseUnicodeString() { printf("Stub for RtlUpcaseUnicodeString!\n"); exit(0); }
void __stdcall kernel_RtlUpcaseUnicodeToMultiByteN() { printf("Stub for RtlUpcaseUnicodeToMultiByteN!\n"); exit(0); }
void __stdcall kernel_RtlUpperChar() { printf("Stub for RtlUpperChar!\n"); exit(0); }
void __stdcall kernel_RtlUpperString() { printf("Stub for RtlUpperString!\n"); exit(0); }
void __stdcall kernel_RtlUshortByteSwap() { printf("Stub for RtlUshortByteSwap!\n"); exit(0); }
void __stdcall kernel_RtlWalkFrameChain() { printf("Stub for RtlWalkFrameChain!\n"); exit(0); }
void __stdcall kernel_RtlZeroMemory() { printf("Stub for RtlZeroMemory!\n"); exit(0); }
void __stdcall kernel_XboxEEPROMKey() { printf("Stub for XboxEEPROMKey!\n"); exit(0); }
void __stdcall kernel_XboxHardwareInfo() { printf("Stub for XboxHardwareInfo!\n"); exit(0); }
void __stdcall kernel_XboxHDKey() { printf("Stub for XboxHDKey!\n"); exit(0); }
void __stdcall kernel_XboxKrnlVersion() { printf("Stub for XboxKrnlVersion!\n"); exit(0); }
void __stdcall kernel_XboxSignatureKey() { printf("Stub for XboxSignatureKey!\n"); exit(0); }
void __stdcall kernel_XeImageFileName() { printf("Stub for XeImageFileName!\n"); exit(0); }
void __stdcall kernel_XeLoadSection() { printf("Stub for XeLoadSection!\n"); exit(0); }
void __stdcall kernel_XeUnloadSection() { printf("Stub for XeUnloadSection!\n"); exit(0); }
void __stdcall kernel_READ_PORT_BUFFER_UCHAR() { printf("Stub for READ_PORT_BUFFER_UCHAR!\n"); exit(0); }
void __stdcall kernel_READ_PORT_BUFFER_USHORT() { printf("Stub for READ_PORT_BUFFER_USHORT!\n"); exit(0); }
void __stdcall kernel_READ_PORT_BUFFER_ULONG() { printf("Stub for READ_PORT_BUFFER_ULONG!\n"); exit(0); }
void __stdcall kernel_WRITE_PORT_BUFFER_UCHAR() { printf("Stub for WRITE_PORT_BUFFER_UCHAR!\n"); exit(0); }
void __stdcall kernel_WRITE_PORT_BUFFER_USHORT() { printf("Stub for WRITE_PORT_BUFFER_USHORT!\n"); exit(0); }
void __stdcall kernel_WRITE_PORT_BUFFER_ULONG() { printf("Stub for WRITE_PORT_BUFFER_ULONG!\n"); exit(0); }
void __stdcall kernel_XcSHAInit() { printf("Stub for XcSHAInit!\n"); exit(0); }
void __stdcall kernel_XcSHAUpdate() { printf("Stub for XcSHAUpdate!\n"); exit(0); }
void __stdcall kernel_XcSHAFinal() { printf("Stub for XcSHAFinal!\n"); exit(0); }
void __stdcall kernel_XcRC4Key() { printf("Stub for XcRC4Key!\n"); exit(0); }
void __stdcall kernel_XcRC4Crypt() { printf("Stub for XcRC4Crypt!\n"); exit(0); }
void __stdcall kernel_XcHMAC() { printf("Stub for XcHMAC!\n"); exit(0); }
void __stdcall kernel_XcPKEncPublic() { printf("Stub for XcPKEncPublic!\n"); exit(0); }
void __stdcall kernel_XcPKDecPrivate() { printf("Stub for XcPKDecPrivate!\n"); exit(0); }
void __stdcall kernel_XcPKGetKeyLen() { printf("Stub for XcPKGetKeyLen!\n"); exit(0); }
void __stdcall kernel_XcVerifyPKCS1Signature() { printf("Stub for XcVerifyPKCS1Signature!\n"); exit(0); }
void __stdcall kernel_XcModExp() { printf("Stub for XcModExp!\n"); exit(0); }
void __stdcall kernel_XcDESKeyParity() { printf("Stub for XcDESKeyParity!\n"); exit(0); }
void __stdcall kernel_XcKeyTable() { printf("Stub for XcKeyTable!\n"); exit(0); }
void __stdcall kernel_XcBlockCrypt() { printf("Stub for XcBlockCrypt!\n"); exit(0); }
void __stdcall kernel_XcBlockCryptCBC() { printf("Stub for XcBlockCryptCBC!\n"); exit(0); }
void __stdcall kernel_XcCryptService() { printf("Stub for XcCryptService!\n"); exit(0); }
void __stdcall kernel_XcUpdateCrypto() { printf("Stub for XcUpdateCrypto!\n"); exit(0); }
void __stdcall kernel_RtlRip() { printf("Stub for RtlRip!\n"); exit(0); }
void __stdcall kernel_XboxLANKey() { printf("Stub for XboxLANKey!\n"); exit(0); }
void __stdcall kernel_XboxAlternateSignatureKeys() { printf("Stub for XboxAlternateSignatureKeys!\n"); exit(0); }
void __stdcall kernel_XePublicKeyData() { printf("Stub for XePublicKeyData!\n"); exit(0); }
void __stdcall kernel_HalBootSMCVideoMode() { printf("Stub for HalBootSMCVideoMode!\n"); exit(0); }
void __stdcall kernel_IdexChannelObject() { printf("Stub for IdexChannelObject!\n"); exit(0); }
void __stdcall kernel_HalIsResetOrShutdownPending() { printf("Stub for HalIsResetOrShutdownPending!\n"); exit(0); }
void __stdcall kernel_IoMarkIrpMustComplete() { printf("Stub for IoMarkIrpMustComplete!\n"); exit(0); }
void __stdcall kernel_HalInitiateShutdown() { printf("Stub for HalInitiateShutdown!\n"); exit(0); }
void __stdcall kernel_snprintf() { printf("Stub for snprintf!\n"); exit(0); }
void __stdcall kernel_sprintf() { printf("Stub for sprintf!\n"); exit(0); }
void __stdcall kernel_vsnprintf() { printf("Stub for vsnprintf!\n"); exit(0); }
void __stdcall kernel_vsprintf() { printf("Stub for vsprintf!\n"); exit(0); }
void __stdcall kernel_HalEnableSecureTrayEject() { printf("Stub for HalEnableSecureTrayEject!\n"); exit(0); }
void __stdcall kernel_HalWriteSMCScratchRegister() { printf("Stub for HalWriteSMCScratchRegister!\n"); exit(0); }

View file

@ -1,387 +0,0 @@
#pragma once
typedef
VOID
(NTAPI *PKSTART_ROUTINE) (
IN PVOID StartContext1,
IN PVOID StartContext2
);
static void *kernel_LaunchDataPage = NULL;
void __stdcall kernel_AvGetSavedDataAddress(void);
void __stdcall kernel_AvSendTVEncoderOption(void);
void __stdcall kernel_AvSetDisplayMode(void);
void __stdcall kernel_AvSetSavedDataAddress(void);
void __stdcall kernel_DbgBreakPoint(void);
void __stdcall kernel_DbgBreakPointWithStatus(void);
void __stdcall kernel_DbgLoadImageSymbols(void);
void __stdcall kernel_DbgPrint(void);
void __stdcall kernel_HalReadSMCTrayState(void);
void __stdcall kernel_DbgPrompt(void);
void __stdcall kernel_DbgUnLoadImageSymbols(void);
void __stdcall kernel_ExAcquireReadWriteLockExclusive(void);
void __stdcall kernel_ExAcquireReadWriteLockShared(void);
void __stdcall kernel_ExAllocatePool(void);
void __stdcall kernel_ExAllocatePoolWithTag(void);
void __stdcall kernel_ExEventObjectType(void);
void __stdcall kernel_ExFreePool(void);
void __stdcall kernel_ExInitializeReadWriteLock(void);
void __stdcall kernel_ExInterlockedAddLargeInteger(void);
void __stdcall kernel_ExInterlockedAddLargeStatistic(void);
void __stdcall kernel_ExInterlockedCompareExchange64(void);
void __stdcall kernel_ExMutantObjectType(void);
void __stdcall kernel_ExQueryPoolBlockSize(void);
void __stdcall kernel_ExQueryNonVolatileSetting(void);
void __stdcall kernel_ExReadWriteRefurbInfo(void);
void __stdcall kernel_ExRaiseException(void);
void __stdcall kernel_ExRaiseStatus(void);
void __stdcall kernel_ExReleaseReadWriteLock(void);
void __stdcall kernel_ExSaveNonVolatileSetting(void);
void __stdcall kernel_ExSemaphoreObjectType(void);
void __stdcall kernel_ExTimerObjectType(void);
void __stdcall kernel_ExfInterlockedInsertHeadList(void);
void __stdcall kernel_ExfInterlockedInsertTailList(void);
void __stdcall kernel_ExfInterlockedRemoveHeadList(void);
void __stdcall kernel_FscGetCacheSize(void);
void __stdcall kernel_FscInvalidateIdleBlocks(void);
void __stdcall kernel_FscSetCacheSize(void);
void __stdcall kernel_HalClearSoftwareInterrupt(void);
void __stdcall kernel_HalDisableSystemInterrupt(void);
void __stdcall kernel_HalDiskCachePartitionCount(void);
void __stdcall kernel_HalDiskModelNumber(void);
void __stdcall kernel_HalDiskSerialNumber(void);
void __stdcall kernel_HalEnableSystemInterrupt(void);
void __stdcall kernel_HalGetInterruptVector(void);
void __stdcall kernel_HalReadSMBusValue(void);
void __stdcall kernel_HalReadWritePCISpace(void);
void __stdcall kernel_HalRegisterShutdownNotification(void);
void __stdcall kernel_HalRequestSoftwareInterrupt(void);
void __stdcall kernel_HalReturnToFirmware(void);
void __stdcall kernel_HalWriteSMBusValue(void);
void __stdcall kernel_InterlockedCompareExchange(void);
void __stdcall kernel_InterlockedDecrement(void);
void __stdcall kernel_InterlockedIncrement(void);
void __stdcall kernel_InterlockedExchange(void);
void __stdcall kernel_InterlockedExchangeAdd(void);
void __stdcall kernel_InterlockedFlushSList(void);
void __stdcall kernel_InterlockedPopEntrySList(void);
void __stdcall kernel_InterlockedPushEntrySList(void);
void __stdcall kernel_IoAllocateIrp(void);
void __stdcall kernel_IoBuildAsynchronousFsdRequest(void);
void __stdcall kernel_IoBuildDeviceIoControlRequest(void);
void __stdcall kernel_IoBuildSynchronousFsdRequest(void);
void __stdcall kernel_IoCheckShareAccess(void);
void __stdcall kernel_IoCompletionObjectType(void);
void __stdcall kernel_IoCreateDevice(void);
void __stdcall kernel_IoCreateFile(void);
void __stdcall kernel_IoCreateSymbolicLink(void);
void __stdcall kernel_IoDeleteDevice(void);
void __stdcall kernel_IoDeleteSymbolicLink(void);
void __stdcall kernel_IoDeviceObjectType(void);
void __stdcall kernel_IoFileObjectType(void);
void __stdcall kernel_IoFreeIrp(void);
void __stdcall kernel_IoInitializeIrp(void);
void __stdcall kernel_IoInvalidDeviceRequest(void);
void __stdcall kernel_IoQueryFileInformation(void);
void __stdcall kernel_IoQueryVolumeInformation(void);
void __stdcall kernel_IoQueueThreadIrp(void);
void __stdcall kernel_IoRemoveShareAccess(void);
void __stdcall kernel_IoSetIoCompletion(void);
void __stdcall kernel_IoSetShareAccess(void);
void __stdcall kernel_IoStartNextPacket(void);
void __stdcall kernel_IoStartNextPacketByKey(void);
void __stdcall kernel_IoStartPacket(void);
void __stdcall kernel_IoSynchronousDeviceIoControlRequest(void);
void __stdcall kernel_IoSynchronousFsdRequest(void);
void __stdcall kernel_IofCallDriver(void);
void __stdcall kernel_IofCompleteRequest(void);
void __stdcall kernel_KdDebuggerEnabled(void);
void __stdcall kernel_KdDebuggerNotPresent(void);
void __stdcall kernel_IoDismountVolume(void);
void __stdcall kernel_IoDismountVolumeByName(void);
void __stdcall kernel_KeAlertResumeThread(void);
void __stdcall kernel_KeAlertThread(void);
void __stdcall kernel_KeBoostPriorityThread(void);
void __stdcall kernel_KeBugCheck(void);
void __stdcall kernel_KeBugCheckEx(void);
void __stdcall kernel_KeCancelTimer(void);
void __stdcall kernel_KeConnectInterrupt(void);
void __stdcall kernel_KeDelayExecutionThread(void);
void __stdcall kernel_KeDisconnectInterrupt(void);
void __stdcall kernel_KeEnterCriticalRegion(void);
void __stdcall kernel_MmGlobalData(void);
void __stdcall kernel_KeGetCurrentIrql(void);
void __stdcall kernel_KeGetCurrentThread(void);
void __stdcall kernel_KeInitializeApc(void);
void __stdcall kernel_KeInitializeDeviceQueue(void);
void __stdcall kernel_KeInitializeDpc(void);
void __stdcall kernel_KeInitializeEvent(void);
void __stdcall kernel_KeInitializeInterrupt(void);
void __stdcall kernel_KeInitializeMutant(void);
void __stdcall kernel_KeInitializeQueue(void);
void __stdcall kernel_KeInitializeSemaphore(void);
void __stdcall kernel_KeInitializeTimerEx(void);
void __stdcall kernel_KeInsertByKeyDeviceQueue(void);
void __stdcall kernel_KeInsertDeviceQueue(void);
void __stdcall kernel_KeInsertHeadQueue(void);
void __stdcall kernel_KeInsertQueue(void);
void __stdcall kernel_KeInsertQueueApc(void);
void __stdcall kernel_KeInsertQueueDpc(void);
void __stdcall kernel_KeInterruptTime(void);
void __stdcall kernel_KeIsExecutingDpc(void);
void __stdcall kernel_KeLeaveCriticalRegion(void);
void __stdcall kernel_KePulseEvent(void);
void __stdcall kernel_KeQueryBasePriorityThread(void);
void __stdcall kernel_KeQueryInterruptTime(void);
void __stdcall kernel_KeQueryPerformanceCounter(void);
void __stdcall kernel_KeQueryPerformanceFrequency(void);
void __stdcall kernel_KeQuerySystemTime(void);
void __stdcall kernel_KeRaiseIrqlToDpcLevel(void);
void __stdcall kernel_KeRaiseIrqlToSynchLevel(void);
void __stdcall kernel_KeReleaseMutant(void);
void __stdcall kernel_KeReleaseSemaphore(void);
void __stdcall kernel_KeRemoveByKeyDeviceQueue(void);
void __stdcall kernel_KeRemoveDeviceQueue(void);
void __stdcall kernel_KeRemoveEntryDeviceQueue(void);
void __stdcall kernel_KeRemoveQueue(void);
void __stdcall kernel_KeRemoveQueueDpc(void);
void __stdcall kernel_KeResetEvent(void);
void __stdcall kernel_KeRestoreFloatingPointState(void);
void __stdcall kernel_KeResumeThread(void);
void __stdcall kernel_KeRundownQueue(void);
void __stdcall kernel_KeSaveFloatingPointState(void);
void __stdcall kernel_KeSetBasePriorityThread(void);
void __stdcall kernel_KeSetDisableBoostThread(void);
void __stdcall kernel_KeSetEvent(void);
void __stdcall kernel_KeSetEventBoostPriority(void);
void __stdcall kernel_KeSetPriorityProcess(void);
void __stdcall kernel_KeSetPriorityThread(void);
void __stdcall kernel_KeSetTimer(void);
void __stdcall kernel_KeSetTimerEx(void);
void __stdcall kernel_KeStallExecutionProcessor(void);
void __stdcall kernel_KeSuspendThread(void);
void __stdcall kernel_KeSynchronizeExecution(void);
void __stdcall kernel_KeSystemTime(void);
void __stdcall kernel_KeTestAlertThread(void);
void __stdcall kernel_KeTickCount(void);
void __stdcall kernel_KeTimeIncrement(void);
void __stdcall kernel_KeWaitForMultipleObjects(void);
void __stdcall kernel_KeWaitForSingleObject(void);
void __stdcall kernel_KfRaiseIrql(void);
void __stdcall kernel_KfLowerIrql(void);
void __stdcall kernel_KiBugCheckData(void);
void __stdcall kernel_KiUnlockDispatcherDatabase(void);
void * __stdcall kernel_MmAllocateContiguousMemory(unsigned int size);
void __stdcall kernel_MmAllocateContiguousMemoryEx(void);
void __stdcall kernel_MmAllocateSystemMemory(void);
void __stdcall kernel_MmClaimGpuInstanceMemory(void);
void __stdcall kernel_MmCreateKernelStack(void);
void __stdcall kernel_MmDeleteKernelStack(void);
void __stdcall kernel_MmFreeContiguousMemory(void);
void __stdcall kernel_MmFreeSystemMemory(void);
void __stdcall kernel_MmGetPhysicalAddress(void);
void __stdcall kernel_MmIsAddressValid(void);
void __stdcall kernel_MmLockUnlockBufferPages(void);
void __stdcall kernel_MmLockUnlockPhysicalPage(void);
void __stdcall kernel_MmMapIoSpace(void);
void __stdcall kernel_MmPersistContiguousMemory(PVOID BaseAddress,ULONG NumberOfBytes,BOOLEAN Persist);
void __stdcall kernel_MmQueryAddressProtect(void);
void __stdcall kernel_MmQueryAllocationSize(void);
void __stdcall kernel_MmQueryStatistics(void);
void __stdcall kernel_MmSetAddressProtect(void);
void __stdcall kernel_MmUnmapIoSpace(void);
void __stdcall kernel_NtAllocateVirtualMemory(void);
void __stdcall kernel_NtCancelTimer(void);
void __stdcall kernel_NtClearEvent(void);
void __stdcall kernel_NtClose(void);
void __stdcall kernel_NtCreateDirectoryObject(void);
void __stdcall kernel_NtCreateEvent(void);
void __stdcall kernel_NtCreateFile(void);
void __stdcall kernel_NtCreateIoCompletion(void);
void __stdcall kernel_NtCreateMutant(void);
void __stdcall kernel_NtCreateSemaphore(void);
void __stdcall kernel_NtCreateTimer(void);
void __stdcall kernel_NtDeleteFile(void);
void __stdcall kernel_NtDeviceIoControlFile(void);
void __stdcall kernel_NtDuplicateObject(void);
void __stdcall kernel_NtFlushBuffersFile(void);
void __stdcall kernel_NtFreeVirtualMemory(void);
void __stdcall kernel_NtFsControlFile(void);
void __stdcall kernel_NtOpenDirectoryObject(void);
void __stdcall kernel_NtOpenFile(void);
void __stdcall kernel_NtOpenSymbolicLinkObject(void);
void __stdcall kernel_NtProtectVirtualMemory(void);
void __stdcall kernel_NtPulseEvent(void);
void __stdcall kernel_NtQueueApcThread(void);
void __stdcall kernel_NtQueryDirectoryFile(void);
void __stdcall kernel_NtQueryDirectoryObject(void);
void __stdcall kernel_NtQueryEvent(void);
void __stdcall kernel_NtQueryFullAttributesFile(void);
void __stdcall kernel_NtQueryInformationFile(void);
void __stdcall kernel_NtQueryIoCompletion(void);
void __stdcall kernel_NtQueryMutant(void);
void __stdcall kernel_NtQuerySemaphore(void);
void __stdcall kernel_NtQuerySymbolicLinkObject(void);
void __stdcall kernel_NtQueryTimer(void);
void __stdcall kernel_NtQueryVirtualMemory(void);
void __stdcall kernel_NtQueryVolumeInformationFile(void);
void __stdcall kernel_NtReadFile(void);
void __stdcall kernel_NtReadFileScatter(void);
void __stdcall kernel_NtReleaseMutant(void);
void __stdcall kernel_NtReleaseSemaphore(void);
void __stdcall kernel_NtRemoveIoCompletion(void);
void __stdcall kernel_NtResumeThread(void);
void __stdcall kernel_NtSetEvent(void);
void __stdcall kernel_NtSetInformationFile(void);
void __stdcall kernel_NtSetIoCompletion(void);
void __stdcall kernel_NtSetSystemTime(void);
void __stdcall kernel_NtSetTimerEx(void);
void __stdcall kernel_NtSignalAndWaitForSingleObjectEx(void);
void __stdcall kernel_NtSuspendThread(void);
void __stdcall kernel_NtUserIoApcDispatcher(void);
void __stdcall kernel_NtWaitForSingleObject(void);
void __stdcall kernel_NtWaitForSingleObjectEx(void);
void __stdcall kernel_NtWaitForMultipleObjectsEx(void);
void __stdcall kernel_NtWriteFile(void);
void __stdcall kernel_NtWriteFileGather(void);
void __stdcall kernel_NtYieldExecution(void);
void __stdcall kernel_ObCreateObject(void);
void __stdcall kernel_ObDirectoryObjectType(void);
void __stdcall kernel_ObInsertObject(void);
void __stdcall kernel_ObMakeTemporaryObject(void);
void __stdcall kernel_ObOpenObjectByName(void);
void __stdcall kernel_ObOpenObjectByPointer(void);
void __stdcall kernel_ObpObjectHandleTable(void);
void __stdcall kernel_ObReferenceObjectByHandle(void);
void __stdcall kernel_ObReferenceObjectByName(void);
void __stdcall kernel_ObReferenceObjectByPointer(void);
void __stdcall kernel_ObSymbolicLinkObjectType(void);
void __stdcall kernel_ObfDereferenceObject(void);
void __stdcall kernel_ObfReferenceObject(void);
void __stdcall kernel_PhyGetLinkState(void);
void __stdcall kernel_PhyInitialize(void);
void __stdcall kernel_PsCreateSystemThread(void);
int __stdcall kernel_PsCreateSystemThreadEx(OUT PHANDLE ThreadHandle,
IN PVOID ObjectAttributes OPTIONAL,
IN ULONG KernelStackSize,
IN ULONG TlsDataSize,
OUT PULONG ThreadId OPTIONAL,
IN PVOID StartContext1,
IN PVOID StartContext2,
IN BOOLEAN CreateSuspended,
IN BOOLEAN DebugStack,
IN PKSTART_ROUTINE StartRoutine);
void __stdcall kernel_PsQueryStatistics(void);
void __stdcall kernel_PsSetCreateThreadNotifyRoutine(void);
void __stdcall kernel_PsTerminateSystemThread(void);
void __stdcall kernel_PsThreadObjectType(void);
void __stdcall kernel_RtlAnsiStringToUnicodeString(void);
void __stdcall kernel_RtlAppendStringToString(void);
void __stdcall kernel_RtlAppendUnicodeStringToString(void);
void __stdcall kernel_RtlAppendUnicodeToString(void);
void __stdcall kernel_RtlAssert(void);
void __stdcall kernel_RtlCaptureContext(void);
void __stdcall kernel_RtlCaptureStackBackTrace(void);
void __stdcall kernel_RtlCharToInteger(void);
void __stdcall kernel_RtlCompareMemory(void);
void __stdcall kernel_RtlCompareMemoryUlong(void);
void __stdcall kernel_RtlCompareString(void);
void __stdcall kernel_RtlCompareUnicodeString(void);
void __stdcall kernel_RtlCopyString(void);
void __stdcall kernel_RtlCopyUnicodeString(void);
void __stdcall kernel_RtlCreateUnicodeString(void);
void __stdcall kernel_RtlDowncaseUnicodeChar(void);
void __stdcall kernel_RtlDowncaseUnicodeString(void);
void __stdcall kernel_RtlEnterCriticalSection(void);
void __stdcall kernel_RtlEnterCriticalSectionAndRegion(void);
void __stdcall kernel_RtlEqualString(void);
void __stdcall kernel_RtlEqualUnicodeString(void);
void __stdcall kernel_RtlExtendedIntegerMultiply(void);
void __stdcall kernel_RtlExtendedLargeIntegerDivide(void);
void __stdcall kernel_RtlExtendedMagicDivide(void);
void __stdcall kernel_RtlFillMemory(void);
void __stdcall kernel_RtlFillMemoryUlong(void);
void __stdcall kernel_RtlFreeAnsiString(void);
void __stdcall kernel_RtlFreeUnicodeString(void);
void __stdcall kernel_RtlGetCallersAddress(void);
void __stdcall kernel_RtlInitAnsiString(void);
void __stdcall kernel_RtlInitUnicodeString(void);
void __stdcall kernel_RtlInitializeCriticalSection(void);
void __stdcall kernel_RtlIntegerToChar(void);
void __stdcall kernel_RtlIntegerToUnicodeString(void);
void __stdcall kernel_RtlLeaveCriticalSection(void);
void __stdcall kernel_RtlLeaveCriticalSectionAndRegion(void);
void __stdcall kernel_RtlLowerChar(void);
void __stdcall kernel_RtlMapGenericMask(void);
void __stdcall kernel_RtlMoveMemory(void);
void __stdcall kernel_RtlMultiByteToUnicodeN(void);
void __stdcall kernel_RtlMultiByteToUnicodeSize(void);
void __stdcall kernel_RtlNtStatusToDosError(void);
void __stdcall kernel_RtlRaiseException(void);
void __stdcall kernel_RtlRaiseStatus(void);
void __stdcall kernel_RtlTimeFieldsToTime(void);
void __stdcall kernel_RtlTimeToTimeFields(void);
void __stdcall kernel_RtlTryEnterCriticalSection(void);
void __stdcall kernel_RtlUlongByteSwap(void);
void __stdcall kernel_RtlUnicodeStringToAnsiString(void);
void __stdcall kernel_RtlUnicodeStringToInteger(void);
void __stdcall kernel_RtlUnicodeToMultiByteN(void);
void __stdcall kernel_RtlUnicodeToMultiByteSize(void);
void __stdcall kernel_RtlUnwind(void);
void __stdcall kernel_RtlUpcaseUnicodeChar(void);
void __stdcall kernel_RtlUpcaseUnicodeString(void);
void __stdcall kernel_RtlUpcaseUnicodeToMultiByteN(void);
void __stdcall kernel_RtlUpperChar(void);
void __stdcall kernel_RtlUpperString(void);
void __stdcall kernel_RtlUshortByteSwap(void);
void __stdcall kernel_RtlWalkFrameChain(void);
void __stdcall kernel_RtlZeroMemory(void);
void __stdcall kernel_XboxEEPROMKey(void);
void __stdcall kernel_XboxHardwareInfo(void);
void __stdcall kernel_XboxHDKey(void);
void __stdcall kernel_XboxKrnlVersion(void);
void __stdcall kernel_XboxSignatureKey(void);
void __stdcall kernel_XeImageFileName(void);
void __stdcall kernel_XeLoadSection(void);
void __stdcall kernel_XeUnloadSection(void);
void __stdcall kernel_READ_PORT_BUFFER_UCHAR(void);
void __stdcall kernel_READ_PORT_BUFFER_USHORT(void);
void __stdcall kernel_READ_PORT_BUFFER_ULONG(void);
void __stdcall kernel_WRITE_PORT_BUFFER_UCHAR(void);
void __stdcall kernel_WRITE_PORT_BUFFER_USHORT(void);
void __stdcall kernel_WRITE_PORT_BUFFER_ULONG(void);
void __stdcall kernel_XcSHAInit(void);
void __stdcall kernel_XcSHAUpdate(void);
void __stdcall kernel_XcSHAFinal(void);
void __stdcall kernel_XcRC4Key(void);
void __stdcall kernel_XcRC4Crypt(void);
void __stdcall kernel_XcHMAC(void);
void __stdcall kernel_XcPKEncPublic(void);
void __stdcall kernel_XcPKDecPrivate(void);
void __stdcall kernel_XcPKGetKeyLen(void);
void __stdcall kernel_XcVerifyPKCS1Signature(void);
void __stdcall kernel_XcModExp(void);
void __stdcall kernel_XcDESKeyParity(void);
void __stdcall kernel_XcKeyTable(void);
void __stdcall kernel_XcBlockCrypt(void);
void __stdcall kernel_XcBlockCryptCBC(void);
void __stdcall kernel_XcCryptService(void);
void __stdcall kernel_XcUpdateCrypto(void);
void __stdcall kernel_RtlRip(void);
void __stdcall kernel_XboxLANKey(void);
void __stdcall kernel_XboxAlternateSignatureKeys(void);
void __stdcall kernel_XePublicKeyData(void);
void __stdcall kernel_HalBootSMCVideoMode(void);
void __stdcall kernel_IdexChannelObject(void);
void __stdcall kernel_HalIsResetOrShutdownPending(void);
void __stdcall kernel_IoMarkIrpMustComplete(void);
void __stdcall kernel_HalInitiateShutdown(void);
void __stdcall kernel_snprintf(void);
void __stdcall kernel_sprintf(void);
void __stdcall kernel_vsnprintf(void);
void __stdcall kernel_vsprintf(void);
void __stdcall kernel_HalEnableSecureTrayEject(void);
void __stdcall kernel_HalWriteSMCScratchRegister(void);
void *mapKernel(unsigned long id);

View file

@ -1,373 +0,0 @@
#include "stdafx.h"
void *mapKernel(unsigned long id) {
switch(id) {
case 0x80000001: return (void *) kernel_AvGetSavedDataAddress;
case 0x80000002: return (void *) kernel_AvSendTVEncoderOption;
case 0x80000003: return (void *) kernel_AvSetDisplayMode;
case 0x80000004: return (void *) kernel_AvSetSavedDataAddress;
case 0x80000005: return (void *) kernel_DbgBreakPoint;
case 0x80000006: return (void *) kernel_DbgBreakPointWithStatus;
case 0x80000007: return (void *) kernel_DbgLoadImageSymbols;
case 0x80000008: return (void *) kernel_DbgPrint;
case 0x80000009: return (void *) kernel_HalReadSMCTrayState;
case 0x8000000A: return (void *) kernel_DbgPrompt;
case 0x8000000B: return (void *) kernel_DbgUnLoadImageSymbols;
case 0x8000000C: return (void *) kernel_ExAcquireReadWriteLockExclusive;
case 0x8000000D: return (void *) kernel_ExAcquireReadWriteLockShared;
case 0x8000000E: return (void *) kernel_ExAllocatePool;
case 0x8000000F: return (void *) kernel_ExAllocatePoolWithTag;
case 0x80000010: return (void *) kernel_ExEventObjectType;
case 0x80000011: return (void *) kernel_ExFreePool;
case 0x80000012: return (void *) kernel_ExInitializeReadWriteLock;
case 0x80000013: return (void *) kernel_ExInterlockedAddLargeInteger;
case 0x80000014: return (void *) kernel_ExInterlockedAddLargeStatistic;
case 0x80000015: return (void *) kernel_ExInterlockedCompareExchange64;
case 0x80000016: return (void *) kernel_ExMutantObjectType;
case 0x80000017: return (void *) kernel_ExQueryPoolBlockSize;
case 0x80000018: return (void *) kernel_ExQueryNonVolatileSetting;
case 0x80000019: return (void *) kernel_ExReadWriteRefurbInfo;
case 0x8000001A: return (void *) kernel_ExRaiseException;
case 0x8000001B: return (void *) kernel_ExRaiseStatus;
case 0x8000001C: return (void *) kernel_ExReleaseReadWriteLock;
case 0x8000001D: return (void *) kernel_ExSaveNonVolatileSetting;
case 0x8000001E: return (void *) kernel_ExSemaphoreObjectType;
case 0x8000001F: return (void *) kernel_ExTimerObjectType;
case 0x80000020: return (void *) kernel_ExfInterlockedInsertHeadList;
case 0x80000021: return (void *) kernel_ExfInterlockedInsertTailList;
case 0x80000022: return (void *) kernel_ExfInterlockedRemoveHeadList;
case 0x80000023: return (void *) kernel_FscGetCacheSize;
case 0x80000024: return (void *) kernel_FscInvalidateIdleBlocks;
case 0x80000025: return (void *) kernel_FscSetCacheSize;
case 0x80000026: return (void *) kernel_HalClearSoftwareInterrupt;
case 0x80000027: return (void *) kernel_HalDisableSystemInterrupt;
case 0x80000028: return (void *) kernel_HalDiskCachePartitionCount;
case 0x80000029: return (void *) kernel_HalDiskModelNumber;
case 0x8000002A: return (void *) kernel_HalDiskSerialNumber;
case 0x8000002B: return (void *) kernel_HalEnableSystemInterrupt;
case 0x8000002C: return (void *) kernel_HalGetInterruptVector;
case 0x8000002D: return (void *) kernel_HalReadSMBusValue;
case 0x8000002E: return (void *) kernel_HalReadWritePCISpace;
case 0x8000002F: return (void *) kernel_HalRegisterShutdownNotification;
case 0x80000030: return (void *) kernel_HalRequestSoftwareInterrupt;
case 0x80000031: return (void *) kernel_HalReturnToFirmware;
case 0x80000032: return (void *) kernel_HalWriteSMBusValue;
case 0x80000033: return (void *) kernel_InterlockedCompareExchange;
case 0x80000034: return (void *) kernel_InterlockedDecrement;
case 0x80000035: return (void *) kernel_InterlockedIncrement;
case 0x80000036: return (void *) kernel_InterlockedExchange;
case 0x80000037: return (void *) kernel_InterlockedExchangeAdd;
case 0x80000038: return (void *) kernel_InterlockedFlushSList;
case 0x80000039: return (void *) kernel_InterlockedPopEntrySList;
case 0x8000003A: return (void *) kernel_InterlockedPushEntrySList;
case 0x8000003B: return (void *) kernel_IoAllocateIrp;
case 0x8000003C: return (void *) kernel_IoBuildAsynchronousFsdRequest;
case 0x8000003D: return (void *) kernel_IoBuildDeviceIoControlRequest;
case 0x8000003E: return (void *) kernel_IoBuildSynchronousFsdRequest;
case 0x8000003F: return (void *) kernel_IoCheckShareAccess;
case 0x80000040: return (void *) kernel_IoCompletionObjectType;
case 0x80000041: return (void *) kernel_IoCreateDevice;
case 0x80000042: return (void *) kernel_IoCreateFile;
case 0x80000043: return (void *) kernel_IoCreateSymbolicLink;
case 0x80000044: return (void *) kernel_IoDeleteDevice;
case 0x80000045: return (void *) kernel_IoDeleteSymbolicLink;
case 0x80000046: return (void *) kernel_IoDeviceObjectType;
case 0x80000047: return (void *) kernel_IoFileObjectType;
case 0x80000048: return (void *) kernel_IoFreeIrp;
case 0x80000049: return (void *) kernel_IoInitializeIrp;
case 0x8000004A: return (void *) kernel_IoInvalidDeviceRequest;
case 0x8000004B: return (void *) kernel_IoQueryFileInformation;
case 0x8000004C: return (void *) kernel_IoQueryVolumeInformation;
case 0x8000004D: return (void *) kernel_IoQueueThreadIrp;
case 0x8000004E: return (void *) kernel_IoRemoveShareAccess;
case 0x8000004F: return (void *) kernel_IoSetIoCompletion;
case 0x80000050: return (void *) kernel_IoSetShareAccess;
case 0x80000051: return (void *) kernel_IoStartNextPacket;
case 0x80000052: return (void *) kernel_IoStartNextPacketByKey;
case 0x80000053: return (void *) kernel_IoStartPacket;
case 0x80000054: return (void *) kernel_IoSynchronousDeviceIoControlRequest;
case 0x80000055: return (void *) kernel_IoSynchronousFsdRequest;
case 0x80000056: return (void *) kernel_IofCallDriver;
case 0x80000057: return (void *) kernel_IofCompleteRequest;
case 0x80000058: return (void *) kernel_KdDebuggerEnabled;
case 0x80000059: return (void *) kernel_KdDebuggerNotPresent;
case 0x8000005A: return (void *) kernel_IoDismountVolume;
case 0x8000005B: return (void *) kernel_IoDismountVolumeByName;
case 0x8000005C: return (void *) kernel_KeAlertResumeThread;
case 0x8000005D: return (void *) kernel_KeAlertThread;
case 0x8000005E: return (void *) kernel_KeBoostPriorityThread;
case 0x8000005F: return (void *) kernel_KeBugCheck;
case 0x80000060: return (void *) kernel_KeBugCheckEx;
case 0x80000061: return (void *) kernel_KeCancelTimer;
case 0x80000062: return (void *) kernel_KeConnectInterrupt;
case 0x80000063: return (void *) kernel_KeDelayExecutionThread;
case 0x80000064: return (void *) kernel_KeDisconnectInterrupt;
case 0x80000065: return (void *) kernel_KeEnterCriticalRegion;
case 0x80000066: return (void *) kernel_MmGlobalData;
case 0x80000067: return (void *) kernel_KeGetCurrentIrql;
case 0x80000068: return (void *) kernel_KeGetCurrentThread;
case 0x80000069: return (void *) kernel_KeInitializeApc;
case 0x8000006A: return (void *) kernel_KeInitializeDeviceQueue;
case 0x8000006B: return (void *) kernel_KeInitializeDpc;
case 0x8000006C: return (void *) kernel_KeInitializeEvent;
case 0x8000006D: return (void *) kernel_KeInitializeInterrupt;
case 0x8000006E: return (void *) kernel_KeInitializeMutant;
case 0x8000006F: return (void *) kernel_KeInitializeQueue;
case 0x80000070: return (void *) kernel_KeInitializeSemaphore;
case 0x80000071: return (void *) kernel_KeInitializeTimerEx;
case 0x80000072: return (void *) kernel_KeInsertByKeyDeviceQueue;
case 0x80000073: return (void *) kernel_KeInsertDeviceQueue;
case 0x80000074: return (void *) kernel_KeInsertHeadQueue;
case 0x80000075: return (void *) kernel_KeInsertQueue;
case 0x80000076: return (void *) kernel_KeInsertQueueApc;
case 0x80000077: return (void *) kernel_KeInsertQueueDpc;
case 0x80000078: return (void *) kernel_KeInterruptTime;
case 0x80000079: return (void *) kernel_KeIsExecutingDpc;
case 0x8000007A: return (void *) kernel_KeLeaveCriticalRegion;
case 0x8000007B: return (void *) kernel_KePulseEvent;
case 0x8000007C: return (void *) kernel_KeQueryBasePriorityThread;
case 0x8000007D: return (void *) kernel_KeQueryInterruptTime;
case 0x8000007E: return (void *) kernel_KeQueryPerformanceCounter;
case 0x8000007F: return (void *) kernel_KeQueryPerformanceFrequency;
case 0x80000080: return (void *) kernel_KeQuerySystemTime;
case 0x80000081: return (void *) kernel_KeRaiseIrqlToDpcLevel;
case 0x80000082: return (void *) kernel_KeRaiseIrqlToSynchLevel;
case 0x80000083: return (void *) kernel_KeReleaseMutant;
case 0x80000084: return (void *) kernel_KeReleaseSemaphore;
case 0x80000085: return (void *) kernel_KeRemoveByKeyDeviceQueue;
case 0x80000086: return (void *) kernel_KeRemoveDeviceQueue;
case 0x80000087: return (void *) kernel_KeRemoveEntryDeviceQueue;
case 0x80000088: return (void *) kernel_KeRemoveQueue;
case 0x80000089: return (void *) kernel_KeRemoveQueueDpc;
case 0x8000008A: return (void *) kernel_KeResetEvent;
case 0x8000008B: return (void *) kernel_KeRestoreFloatingPointState;
case 0x8000008C: return (void *) kernel_KeResumeThread;
case 0x8000008D: return (void *) kernel_KeRundownQueue;
case 0x8000008E: return (void *) kernel_KeSaveFloatingPointState;
case 0x8000008F: return (void *) kernel_KeSetBasePriorityThread;
case 0x80000090: return (void *) kernel_KeSetDisableBoostThread;
case 0x80000091: return (void *) kernel_KeSetEvent;
case 0x80000092: return (void *) kernel_KeSetEventBoostPriority;
case 0x80000093: return (void *) kernel_KeSetPriorityProcess;
case 0x80000094: return (void *) kernel_KeSetPriorityThread;
case 0x80000095: return (void *) kernel_KeSetTimer;
case 0x80000096: return (void *) kernel_KeSetTimerEx;
case 0x80000097: return (void *) kernel_KeStallExecutionProcessor;
case 0x80000098: return (void *) kernel_KeSuspendThread;
case 0x80000099: return (void *) kernel_KeSynchronizeExecution;
case 0x8000009A: return (void *) kernel_KeSystemTime;
case 0x8000009B: return (void *) kernel_KeTestAlertThread;
case 0x8000009C: return (void *) kernel_KeTickCount;
case 0x8000009D: return (void *) kernel_KeTimeIncrement;
case 0x8000009E: return (void *) kernel_KeWaitForMultipleObjects;
case 0x8000009F: return (void *) kernel_KeWaitForSingleObject;
case 0x800000A0: return (void *) kernel_KfRaiseIrql;
case 0x800000A1: return (void *) kernel_KfLowerIrql;
case 0x800000A2: return (void *) kernel_KiBugCheckData;
case 0x800000A3: return (void *) kernel_KiUnlockDispatcherDatabase;
case 0x800000A4: return (void *) &kernel_LaunchDataPage;
case 0x800000A5: return (void *) kernel_MmAllocateContiguousMemory;
case 0x800000A6: return (void *) kernel_MmAllocateContiguousMemoryEx;
case 0x800000A7: return (void *) kernel_MmAllocateSystemMemory;
case 0x800000A8: return (void *) kernel_MmClaimGpuInstanceMemory;
case 0x800000A9: return (void *) kernel_MmCreateKernelStack;
case 0x800000AA: return (void *) kernel_MmDeleteKernelStack;
case 0x800000AB: return (void *) kernel_MmFreeContiguousMemory;
case 0x800000AC: return (void *) kernel_MmFreeSystemMemory;
case 0x800000AD: return (void *) kernel_MmGetPhysicalAddress;
case 0x800000AE: return (void *) kernel_MmIsAddressValid;
case 0x800000AF: return (void *) kernel_MmLockUnlockBufferPages;
case 0x800000B0: return (void *) kernel_MmLockUnlockPhysicalPage;
case 0x800000B1: return (void *) kernel_MmMapIoSpace;
case 0x800000B2: return (void *) kernel_MmPersistContiguousMemory;
case 0x800000B3: return (void *) kernel_MmQueryAddressProtect;
case 0x800000B4: return (void *) kernel_MmQueryAllocationSize;
case 0x800000B5: return (void *) kernel_MmQueryStatistics;
case 0x800000B6: return (void *) kernel_MmSetAddressProtect;
case 0x800000B7: return (void *) kernel_MmUnmapIoSpace;
case 0x800000B8: return (void *) kernel_NtAllocateVirtualMemory;
case 0x800000B9: return (void *) kernel_NtCancelTimer;
case 0x800000BA: return (void *) kernel_NtClearEvent;
case 0x800000BB: return (void *) kernel_NtClose;
case 0x800000BC: return (void *) kernel_NtCreateDirectoryObject;
case 0x800000BD: return (void *) kernel_NtCreateEvent;
case 0x800000BE: return (void *) kernel_NtCreateFile;
case 0x800000BF: return (void *) kernel_NtCreateIoCompletion;
case 0x800000C0: return (void *) kernel_NtCreateMutant;
case 0x800000C1: return (void *) kernel_NtCreateSemaphore;
case 0x800000C2: return (void *) kernel_NtCreateTimer;
case 0x800000C3: return (void *) kernel_NtDeleteFile;
case 0x800000C4: return (void *) kernel_NtDeviceIoControlFile;
case 0x800000C5: return (void *) kernel_NtDuplicateObject;
case 0x800000C6: return (void *) kernel_NtFlushBuffersFile;
case 0x800000C7: return (void *) kernel_NtFreeVirtualMemory;
case 0x800000C8: return (void *) kernel_NtFsControlFile;
case 0x800000C9: return (void *) kernel_NtOpenDirectoryObject;
case 0x800000CA: return (void *) kernel_NtOpenFile;
case 0x800000CB: return (void *) kernel_NtOpenSymbolicLinkObject;
case 0x800000CC: return (void *) kernel_NtProtectVirtualMemory;
case 0x800000CD: return (void *) kernel_NtPulseEvent;
case 0x800000CE: return (void *) kernel_NtQueueApcThread;
case 0x800000CF: return (void *) kernel_NtQueryDirectoryFile;
case 0x800000D0: return (void *) kernel_NtQueryDirectoryObject;
case 0x800000D1: return (void *) kernel_NtQueryEvent;
case 0x800000D2: return (void *) kernel_NtQueryFullAttributesFile;
case 0x800000D3: return (void *) kernel_NtQueryInformationFile;
case 0x800000D4: return (void *) kernel_NtQueryIoCompletion;
case 0x800000D5: return (void *) kernel_NtQueryMutant;
case 0x800000D6: return (void *) kernel_NtQuerySemaphore;
case 0x800000D7: return (void *) kernel_NtQuerySymbolicLinkObject;
case 0x800000D8: return (void *) kernel_NtQueryTimer;
case 0x800000D9: return (void *) kernel_NtQueryVirtualMemory;
case 0x800000DA: return (void *) kernel_NtQueryVolumeInformationFile;
case 0x800000DB: return (void *) kernel_NtReadFile;
case 0x800000DC: return (void *) kernel_NtReadFileScatter;
case 0x800000DD: return (void *) kernel_NtReleaseMutant;
case 0x800000DE: return (void *) kernel_NtReleaseSemaphore;
case 0x800000DF: return (void *) kernel_NtRemoveIoCompletion;
case 0x800000E0: return (void *) kernel_NtResumeThread;
case 0x800000E1: return (void *) kernel_NtSetEvent;
case 0x800000E2: return (void *) kernel_NtSetInformationFile;
case 0x800000E3: return (void *) kernel_NtSetIoCompletion;
case 0x800000E4: return (void *) kernel_NtSetSystemTime;
case 0x800000E5: return (void *) kernel_NtSetTimerEx;
case 0x800000E6: return (void *) kernel_NtSignalAndWaitForSingleObjectEx;
case 0x800000E7: return (void *) kernel_NtSuspendThread;
case 0x800000E8: return (void *) kernel_NtUserIoApcDispatcher;
case 0x800000E9: return (void *) kernel_NtWaitForSingleObject;
case 0x800000EA: return (void *) kernel_NtWaitForSingleObjectEx;
case 0x800000EB: return (void *) kernel_NtWaitForMultipleObjectsEx;
case 0x800000EC: return (void *) kernel_NtWriteFile;
case 0x800000ED: return (void *) kernel_NtWriteFileGather;
case 0x800000EE: return (void *) kernel_NtYieldExecution;
case 0x800000EF: return (void *) kernel_ObCreateObject;
case 0x800000F0: return (void *) kernel_ObDirectoryObjectType;
case 0x800000F1: return (void *) kernel_ObInsertObject;
case 0x800000F2: return (void *) kernel_ObMakeTemporaryObject;
case 0x800000F3: return (void *) kernel_ObOpenObjectByName;
case 0x800000F4: return (void *) kernel_ObOpenObjectByPointer;
case 0x800000F5: return (void *) kernel_ObpObjectHandleTable;
case 0x800000F6: return (void *) kernel_ObReferenceObjectByHandle;
case 0x800000F7: return (void *) kernel_ObReferenceObjectByName;
case 0x800000F8: return (void *) kernel_ObReferenceObjectByPointer;
case 0x800000F9: return (void *) kernel_ObSymbolicLinkObjectType;
case 0x800000FA: return (void *) kernel_ObfDereferenceObject;
case 0x800000FB: return (void *) kernel_ObfReferenceObject;
case 0x800000FC: return (void *) kernel_PhyGetLinkState;
case 0x800000FD: return (void *) kernel_PhyInitialize;
case 0x800000FE: return (void *) kernel_PsCreateSystemThread;
case 0x800000FF: return (void *) kernel_PsCreateSystemThreadEx;
case 0x80000100: return (void *) kernel_PsQueryStatistics;
case 0x80000101: return (void *) kernel_PsSetCreateThreadNotifyRoutine;
case 0x80000102: return (void *) kernel_PsTerminateSystemThread;
case 0x80000103: return (void *) kernel_PsThreadObjectType;
case 0x80000104: return (void *) kernel_RtlAnsiStringToUnicodeString;
case 0x80000105: return (void *) kernel_RtlAppendStringToString;
case 0x80000106: return (void *) kernel_RtlAppendUnicodeStringToString;
case 0x80000107: return (void *) kernel_RtlAppendUnicodeToString;
case 0x80000108: return (void *) kernel_RtlAssert;
case 0x80000109: return (void *) kernel_RtlCaptureContext;
case 0x8000010A: return (void *) kernel_RtlCaptureStackBackTrace;
case 0x8000010B: return (void *) kernel_RtlCharToInteger;
case 0x8000010C: return (void *) kernel_RtlCompareMemory;
case 0x8000010D: return (void *) kernel_RtlCompareMemoryUlong;
case 0x8000010E: return (void *) kernel_RtlCompareString;
case 0x8000010F: return (void *) kernel_RtlCompareUnicodeString;
case 0x80000110: return (void *) kernel_RtlCopyString;
case 0x80000111: return (void *) kernel_RtlCopyUnicodeString;
case 0x80000112: return (void *) kernel_RtlCreateUnicodeString;
case 0x80000113: return (void *) kernel_RtlDowncaseUnicodeChar;
case 0x80000114: return (void *) kernel_RtlDowncaseUnicodeString;
case 0x80000115: return (void *) kernel_RtlEnterCriticalSection;
case 0x80000116: return (void *) kernel_RtlEnterCriticalSectionAndRegion;
case 0x80000117: return (void *) kernel_RtlEqualString;
case 0x80000118: return (void *) kernel_RtlEqualUnicodeString;
case 0x80000119: return (void *) kernel_RtlExtendedIntegerMultiply;
case 0x8000011A: return (void *) kernel_RtlExtendedLargeIntegerDivide;
case 0x8000011B: return (void *) kernel_RtlExtendedMagicDivide;
case 0x8000011C: return (void *) kernel_RtlFillMemory;
case 0x8000011D: return (void *) kernel_RtlFillMemoryUlong;
case 0x8000011E: return (void *) kernel_RtlFreeAnsiString;
case 0x8000011F: return (void *) kernel_RtlFreeUnicodeString;
case 0x80000120: return (void *) kernel_RtlGetCallersAddress;
case 0x80000121: return (void *) kernel_RtlInitAnsiString;
case 0x80000122: return (void *) kernel_RtlInitUnicodeString;
case 0x80000123: return (void *) kernel_RtlInitializeCriticalSection;
case 0x80000124: return (void *) kernel_RtlIntegerToChar;
case 0x80000125: return (void *) kernel_RtlIntegerToUnicodeString;
case 0x80000126: return (void *) kernel_RtlLeaveCriticalSection;
case 0x80000127: return (void *) kernel_RtlLeaveCriticalSectionAndRegion;
case 0x80000128: return (void *) kernel_RtlLowerChar;
case 0x80000129: return (void *) kernel_RtlMapGenericMask;
case 0x8000012A: return (void *) kernel_RtlMoveMemory;
case 0x8000012B: return (void *) kernel_RtlMultiByteToUnicodeN;
case 0x8000012C: return (void *) kernel_RtlMultiByteToUnicodeSize;
case 0x8000012D: return (void *) kernel_RtlNtStatusToDosError;
case 0x8000012E: return (void *) kernel_RtlRaiseException;
case 0x8000012F: return (void *) kernel_RtlRaiseStatus;
case 0x80000130: return (void *) kernel_RtlTimeFieldsToTime;
case 0x80000131: return (void *) kernel_RtlTimeToTimeFields;
case 0x80000132: return (void *) kernel_RtlTryEnterCriticalSection;
case 0x80000133: return (void *) kernel_RtlUlongByteSwap;
case 0x80000134: return (void *) kernel_RtlUnicodeStringToAnsiString;
case 0x80000135: return (void *) kernel_RtlUnicodeStringToInteger;
case 0x80000136: return (void *) kernel_RtlUnicodeToMultiByteN;
case 0x80000137: return (void *) kernel_RtlUnicodeToMultiByteSize;
case 0x80000138: return (void *) kernel_RtlUnwind;
case 0x80000139: return (void *) kernel_RtlUpcaseUnicodeChar;
case 0x8000013A: return (void *) kernel_RtlUpcaseUnicodeString;
case 0x8000013B: return (void *) kernel_RtlUpcaseUnicodeToMultiByteN;
case 0x8000013C: return (void *) kernel_RtlUpperChar;
case 0x8000013D: return (void *) kernel_RtlUpperString;
case 0x8000013E: return (void *) kernel_RtlUshortByteSwap;
case 0x8000013F: return (void *) kernel_RtlWalkFrameChain;
case 0x80000140: return (void *) kernel_RtlZeroMemory;
case 0x80000141: return (void *) kernel_XboxEEPROMKey;
case 0x80000142: return (void *) kernel_XboxHardwareInfo;
case 0x80000143: return (void *) kernel_XboxHDKey;
case 0x80000144: return (void *) kernel_XboxKrnlVersion;
case 0x80000145: return (void *) kernel_XboxSignatureKey;
case 0x80000146: return (void *) kernel_XeImageFileName;
case 0x80000147: return (void *) kernel_XeLoadSection;
case 0x80000148: return (void *) kernel_XeUnloadSection;
case 0x80000149: return (void *) kernel_READ_PORT_BUFFER_UCHAR;
case 0x8000014A: return (void *) kernel_READ_PORT_BUFFER_USHORT;
case 0x8000014B: return (void *) kernel_READ_PORT_BUFFER_ULONG;
case 0x8000014C: return (void *) kernel_WRITE_PORT_BUFFER_UCHAR;
case 0x8000014D: return (void *) kernel_WRITE_PORT_BUFFER_USHORT;
case 0x8000014E: return (void *) kernel_WRITE_PORT_BUFFER_ULONG;
case 0x8000014F: return (void *) kernel_XcSHAInit;
case 0x80000150: return (void *) kernel_XcSHAUpdate;
case 0x80000151: return (void *) kernel_XcSHAFinal;
case 0x80000152: return (void *) kernel_XcRC4Key;
case 0x80000153: return (void *) kernel_XcRC4Crypt;
case 0x80000154: return (void *) kernel_XcHMAC;
case 0x80000155: return (void *) kernel_XcPKEncPublic;
case 0x80000156: return (void *) kernel_XcPKDecPrivate;
case 0x80000157: return (void *) kernel_XcPKGetKeyLen;
case 0x80000158: return (void *) kernel_XcVerifyPKCS1Signature;
case 0x80000159: return (void *) kernel_XcModExp;
case 0x8000015A: return (void *) kernel_XcDESKeyParity;
case 0x8000015B: return (void *) kernel_XcKeyTable;
case 0x8000015C: return (void *) kernel_XcBlockCrypt;
case 0x8000015D: return (void *) kernel_XcBlockCryptCBC;
case 0x8000015E: return (void *) kernel_XcCryptService;
case 0x8000015F: return (void *) kernel_XcUpdateCrypto;
case 0x80000160: return (void *) kernel_RtlRip;
case 0x80000161: return (void *) kernel_XboxLANKey;
case 0x80000162: return (void *) kernel_XboxAlternateSignatureKeys;
case 0x80000163: return (void *) kernel_XePublicKeyData;
case 0x80000164: return (void *) kernel_HalBootSMCVideoMode;
case 0x80000165: return (void *) kernel_IdexChannelObject;
case 0x80000166: return (void *) kernel_HalIsResetOrShutdownPending;
case 0x80000167: return (void *) kernel_IoMarkIrpMustComplete;
case 0x80000168: return (void *) kernel_HalInitiateShutdown;
case 0x80000169: return (void *) kernel_snprintf;
case 0x8000016A: return (void *) kernel_sprintf;
case 0x8000016B: return (void *) kernel_vsnprintf;
case 0x8000016C: return (void *) kernel_vsprintf;
case 0x8000016D: return (void *) kernel_HalEnableSecureTrayEject;
case 0x8000016E: return (void *) kernel_HalWriteSMCScratchRegister;
default: return (void *) 0;
}
}

View file

@ -1,8 +0,0 @@
// stdafx.cpp : source file that includes just the standard includes
// Core.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
// TODO: reference any additional headers you need in STDAFX.H
// and not in this file

View file

@ -1,15 +0,0 @@
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <stdlib.h>
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// Windows Header Files:
#include <windows.h>
#include <WinNT.h>
#include "Core.h"
#include "kernel.h"
#include "fs.h"
#include "trapper.h"

View file

@ -1,8 +0,0 @@
#pragma once
// Including SDKDDKVer.h defines the highest available Windows platform.
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
#include <SDKDDKVer.h>

View file

@ -1,16 +0,0 @@
#include "stdafx.h"
int __stdcall kernel_PsCreateSystemThreadEx(OUT PHANDLE ThreadHandle,
IN PVOID ObjectAttributes OPTIONAL,
IN ULONG KernelStackSize,
IN ULONG TlsDataSize,
OUT PULONG ThreadId OPTIONAL,
IN PVOID StartContext1,
IN PVOID StartContext2,
IN BOOLEAN CreateSuspended,
IN BOOLEAN DebugStack,
IN PKSTART_ROUTINE StartRoutine) {
printf("Stub for PsCreateSystemThreadEx! -- %08x\n", StartRoutine);
return 0;
}

View file

@ -1,20 +0,0 @@
#include "stdafx.h"
LONG CALLBACK handler(PEXCEPTION_POINTERS exc) {
unsigned int size = 0;
//swapFs();
switch(exc->ExceptionRecord->ExceptionCode) {
default:
printf("%08x @ %08x\n", exc->ExceptionRecord->ExceptionCode, exc->ContextRecord->Eip);
exit(0);
break;
}
if(size == 0)
return EXCEPTION_CONTINUE_SEARCH;
exc->ContextRecord->Eip += size;
return EXCEPTION_CONTINUE_EXECUTION;
}
void trapperInit() {
AddVectoredExceptionHandler(1, handler);
}

View file

@ -1,3 +0,0 @@
#pragma once
void trapperInit();

6
SConstruct Normal file
View file

@ -0,0 +1,6 @@
env = Environment()
cgen = env.Command('Core/CPU/Interpreter/Interpreter_inst.cgen', 'Core/Generators/InterpreterGen.py', 'python $SOURCE > /dev/null')
Depends(cgen, 'Core/Generators/opcodes.txt')
Program('interpreter', Glob('Core/CPU/Interpreter/*.cpp'))

View file

@ -1,2 +0,0 @@
nasm -f obj win32.nasm
alink -c -oPE -subsys console win32 -filealign 0x800 -objectalign 0x800 -base 0x10000

View file

@ -1,4 +0,0 @@
segment .text USE32
..start:
resb 0x10000000

282
Struct.py
View file

@ -1,282 +0,0 @@
import struct, sys
class StructType(tuple):
def __getitem__(self, value):
return [self] * value
def __call__(self, value, endian='<'):
if isinstance(value, str):
return struct.unpack(endian + tuple.__getitem__(self, 0), value[:tuple.__getitem__(self, 1)])[0]
else:
return struct.pack(endian + tuple.__getitem__(self, 0), value)
class StructException(Exception):
pass
class Struct(object):
__slots__ = ('__attrs__', '__baked__', '__defs__', '__endian__', '__next__', '__sizes__', '__values__')
int8 = StructType(('b', 1))
uint8 = StructType(('B', 1))
int16 = StructType(('h', 2))
uint16 = StructType(('H', 2))
int32 = StructType(('l', 4))
uint32 = StructType(('L', 4))
int64 = StructType(('q', 8))
uint64 = StructType(('Q', 8))
float = StructType(('f', 4))
def string(cls, len, offset=0, encoding=None, stripNulls=False, value=''):
return StructType(('string', (len, offset, encoding, stripNulls, value)))
string = classmethod(string)
LE = '<'
BE = '>'
__endian__ = '<'
def __init__(self, func=None, unpack=None, **kwargs):
self.__defs__ = []
self.__sizes__ = []
self.__attrs__ = []
self.__values__ = {}
self.__next__ = True
self.__baked__ = False
if func == None:
self.__format__()
else:
sys.settrace(self.__trace__)
func()
for name in func.func_code.co_varnames:
value = self.__frame__.f_locals[name]
self.__setattr__(name, value)
self.__baked__ = True
if unpack != None:
if isinstance(unpack, tuple):
self.unpack(*unpack)
else:
self.unpack(unpack)
if len(kwargs):
for name in kwargs:
self.__values__[name] = kwargs[name]
def __trace__(self, frame, event, arg):
self.__frame__ = frame
sys.settrace(None)
def __setattr__(self, name, value):
if name in self.__slots__:
return object.__setattr__(self, name, value)
if self.__baked__ == False:
if not isinstance(value, list):
value = [value]
attrname = name
else:
attrname = '*' + name
self.__values__[name] = None
for sub in value:
if isinstance(sub, Struct):
sub = sub.__class__
try:
if issubclass(sub, Struct):
sub = ('struct', sub)
except TypeError:
pass
type_, size = tuple(sub)
if type_ == 'string':
self.__defs__.append(Struct.string)
self.__sizes__.append(size)
self.__attrs__.append(attrname)
self.__next__ = True
if attrname[0] != '*':
self.__values__[name] = size[3]
elif self.__values__[name] == None:
self.__values__[name] = [size[3] for val in value]
elif type_ == 'struct':
self.__defs__.append(Struct)
self.__sizes__.append(size)
self.__attrs__.append(attrname)
self.__next__ = True
if attrname[0] != '*':
self.__values__[name] = size()
elif self.__values__[name] == None:
self.__values__[name] = [size() for val in value]
else:
if self.__next__:
self.__defs__.append('')
self.__sizes__.append(0)
self.__attrs__.append([])
self.__next__ = False
self.__defs__[-1] += type_
self.__sizes__[-1] += size
self.__attrs__[-1].append(attrname)
if attrname[0] != '*':
self.__values__[name] = 0
elif self.__values__[name] == None:
self.__values__[name] = [0 for val in value]
else:
try:
self.__values__[name] = value
except KeyError:
raise AttributeError(name)
def __getattr__(self, name):
if self.__baked__ == False:
return name
else:
try:
return self.__values__[name]
except KeyError:
raise AttributeError(name)
def __len__(self):
ret = 0
arraypos, arrayname = None, None
for i in range(len(self.__defs__)):
sdef, size, attrs = self.__defs__[i], self.__sizes__[i], self.__attrs__[i]
if sdef == Struct.string:
size, offset, encoding, stripNulls, value = size
if isinstance(size, str):
size = self.__values__[size] + offset
elif sdef == Struct:
if attrs[0] == '*':
if arrayname != attrs:
arrayname = attrs
arraypos = 0
size = len(self.__values__[attrs[1:]][arraypos])
size = len(self.__values__[attrs])
ret += size
return ret
def unpack(self, data, pos=0):
for name in self.__values__:
if not isinstance(self.__values__[name], Struct):
self.__values__[name] = None
elif self.__values__[name].__class__ == list and len(self.__values__[name]) != 0:
if not isinstance(self.__values__[name][0], Struct):
self.__values__[name] = None
arraypos, arrayname = None, None
for i in range(len(self.__defs__)):
sdef, size, attrs = self.__defs__[i], self.__sizes__[i], self.__attrs__[i]
if sdef == Struct.string:
size, offset, encoding, stripNulls, value = size
if isinstance(size, str):
size = self.__values__[size] + offset
temp = data[pos:pos+size]
if len(temp) != size:
raise StructException('Expected %i byte string, got %i' % (size, len(temp)))
if encoding != None:
temp = temp.decode(encoding)
if stripNulls:
temp = temp.rstrip('\0')
if attrs[0] == '*':
name = attrs[1:]
if self.__values__[name] == None:
self.__values__[name] = []
self.__values__[name].append(temp)
else:
self.__values__[attrs] = temp
pos += size
elif sdef == Struct:
if attrs[0] == '*':
if arrayname != attrs:
arrayname = attrs
arraypos = 0
name = attrs[1:]
self.__values__[attrs][arraypos].unpack(data, pos)
pos += len(self.__values__[attrs][arraypos])
arraypos += 1
else:
self.__values__[attrs].unpack(data, pos)
pos += len(self.__values__[attrs])
else:
values = struct.unpack(self.__endian__+sdef, data[pos:pos+size])
pos += size
j = 0
for name in attrs:
if name[0] == '*':
name = name[1:]
if self.__values__[name] == None:
self.__values__[name] = []
self.__values__[name].append(values[j])
else:
self.__values__[name] = values[j]
j += 1
return self
def pack(self):
arraypos, arrayname = None, None
ret = ''
for i in range(len(self.__defs__)):
sdef, size, attrs = self.__defs__[i], self.__sizes__[i], self.__attrs__[i]
if sdef == Struct.string:
size, offset, encoding, stripNulls, value = size
if isinstance(size, str):
size = self.__values__[size]+offset
if attrs[0] == '*':
if arrayname != attrs:
arraypos = 0
arrayname = attrs
temp = self.__values__[attrs[1:]][arraypos]
arraypos += 1
else:
temp = self.__values__[attrs]
if encoding != None:
temp = temp.encode(encoding)
temp = temp[:size]
ret += temp + ('\0' * (size - len(temp)))
elif sdef == Struct:
if attrs[0] == '*':
if arrayname != attrs:
arraypos = 0
arrayname = attrs
ret += self.__values__[attrs[1:]][arraypos].pack()
arraypos += 1
else:
ret += self.__values__[attrs].pack()
else:
values = []
for name in attrs:
if name[0] == '*':
if arrayname != name:
arraypos = 0
arrayname = name
values.append(self.__values__[name[1:]][arraypos])
arraypos += 1
else:
values.append(self.__values__[name])
ret += struct.pack(self.__endian__+sdef, *values)
return ret
def __getitem__(self, value):
return [('struct', self.__class__)] * value

View file

@ -1,732 +0,0 @@
void kernel_AvGetSavedDataAddress() { printf("Stub for AvGetSavedDataAddress!"); exit(0); }
void kernel_AvSendTVEncoderOption() { printf("Stub for AvSendTVEncoderOption!"); exit(0); }
void kernel_AvSetDisplayMode() { printf("Stub for AvSetDisplayMode!"); exit(0); }
void kernel_AvSetSavedDataAddress() { printf("Stub for AvSetSavedDataAddress!"); exit(0); }
void kernel_DbgBreakPoint() { printf("Stub for DbgBreakPoint!"); exit(0); }
void kernel_DbgBreakPointWithStatus() { printf("Stub for DbgBreakPointWithStatus!"); exit(0); }
void kernel_DbgLoadImageSymbols() { printf("Stub for DbgLoadImageSymbols!"); exit(0); }
void kernel_DbgPrint() { printf("Stub for DbgPrint!"); exit(0); }
void kernel_HalReadSMCTrayState() { printf("Stub for HalReadSMCTrayState!"); exit(0); }
void kernel_DbgPrompt() { printf("Stub for DbgPrompt!"); exit(0); }
void kernel_DbgUnLoadImageSymbols() { printf("Stub for DbgUnLoadImageSymbols!"); exit(0); }
void kernel_ExAcquireReadWriteLockExclusive() { printf("Stub for ExAcquireReadWriteLockExclusive!"); exit(0); }
void kernel_ExAcquireReadWriteLockShared() { printf("Stub for ExAcquireReadWriteLockShared!"); exit(0); }
void kernel_ExAllocatePool() { printf("Stub for ExAllocatePool!"); exit(0); }
void kernel_ExAllocatePoolWithTag() { printf("Stub for ExAllocatePoolWithTag!"); exit(0); }
void kernel_ExEventObjectType() { printf("Stub for ExEventObjectType!"); exit(0); }
void kernel_ExFreePool() { printf("Stub for ExFreePool!"); exit(0); }
void kernel_ExInitializeReadWriteLock() { printf("Stub for ExInitializeReadWriteLock!"); exit(0); }
void kernel_ExInterlockedAddLargeInteger() { printf("Stub for ExInterlockedAddLargeInteger!"); exit(0); }
void kernel_ExInterlockedAddLargeStatistic() { printf("Stub for ExInterlockedAddLargeStatistic!"); exit(0); }
void kernel_ExInterlockedCompareExchange64() { printf("Stub for ExInterlockedCompareExchange64!"); exit(0); }
void kernel_ExMutantObjectType() { printf("Stub for ExMutantObjectType!"); exit(0); }
void kernel_ExQueryPoolBlockSize() { printf("Stub for ExQueryPoolBlockSize!"); exit(0); }
void kernel_ExQueryNonVolatileSetting() { printf("Stub for ExQueryNonVolatileSetting!"); exit(0); }
void kernel_ExReadWriteRefurbInfo() { printf("Stub for ExReadWriteRefurbInfo!"); exit(0); }
void kernel_ExRaiseException() { printf("Stub for ExRaiseException!"); exit(0); }
void kernel_ExRaiseStatus() { printf("Stub for ExRaiseStatus!"); exit(0); }
void kernel_ExReleaseReadWriteLock() { printf("Stub for ExReleaseReadWriteLock!"); exit(0); }
void kernel_ExSaveNonVolatileSetting() { printf("Stub for ExSaveNonVolatileSetting!"); exit(0); }
void kernel_ExSemaphoreObjectType() { printf("Stub for ExSemaphoreObjectType!"); exit(0); }
void kernel_ExTimerObjectType() { printf("Stub for ExTimerObjectType!"); exit(0); }
void kernel_ExfInterlockedInsertHeadList() { printf("Stub for ExfInterlockedInsertHeadList!"); exit(0); }
void kernel_ExfInterlockedInsertTailList() { printf("Stub for ExfInterlockedInsertTailList!"); exit(0); }
void kernel_ExfInterlockedRemoveHeadList() { printf("Stub for ExfInterlockedRemoveHeadList!"); exit(0); }
void kernel_FscGetCacheSize() { printf("Stub for FscGetCacheSize!"); exit(0); }
void kernel_FscInvalidateIdleBlocks() { printf("Stub for FscInvalidateIdleBlocks!"); exit(0); }
void kernel_FscSetCacheSize() { printf("Stub for FscSetCacheSize!"); exit(0); }
void kernel_HalClearSoftwareInterrupt() { printf("Stub for HalClearSoftwareInterrupt!"); exit(0); }
void kernel_HalDisableSystemInterrupt() { printf("Stub for HalDisableSystemInterrupt!"); exit(0); }
void kernel_HalDiskCachePartitionCount() { printf("Stub for HalDiskCachePartitionCount!"); exit(0); }
void kernel_HalDiskModelNumber() { printf("Stub for HalDiskModelNumber!"); exit(0); }
void kernel_HalDiskSerialNumber() { printf("Stub for HalDiskSerialNumber!"); exit(0); }
void kernel_HalEnableSystemInterrupt() { printf("Stub for HalEnableSystemInterrupt!"); exit(0); }
void kernel_HalGetInterruptVector() { printf("Stub for HalGetInterruptVector!"); exit(0); }
void kernel_HalReadSMBusValue() { printf("Stub for HalReadSMBusValue!"); exit(0); }
void kernel_HalReadWritePCISpace() { printf("Stub for HalReadWritePCISpace!"); exit(0); }
void kernel_HalRegisterShutdownNotification() { printf("Stub for HalRegisterShutdownNotification!"); exit(0); }
void kernel_HalRequestSoftwareInterrupt() { printf("Stub for HalRequestSoftwareInterrupt!"); exit(0); }
void kernel_HalReturnToFirmware() { printf("Stub for HalReturnToFirmware!"); exit(0); }
void kernel_HalWriteSMBusValue() { printf("Stub for HalWriteSMBusValue!"); exit(0); }
void kernel_InterlockedCompareExchange() { printf("Stub for InterlockedCompareExchange!"); exit(0); }
void kernel_InterlockedDecrement() { printf("Stub for InterlockedDecrement!"); exit(0); }
void kernel_InterlockedIncrement() { printf("Stub for InterlockedIncrement!"); exit(0); }
void kernel_InterlockedExchange() { printf("Stub for InterlockedExchange!"); exit(0); }
void kernel_InterlockedExchangeAdd() { printf("Stub for InterlockedExchangeAdd!"); exit(0); }
void kernel_InterlockedFlushSList() { printf("Stub for InterlockedFlushSList!"); exit(0); }
void kernel_InterlockedPopEntrySList() { printf("Stub for InterlockedPopEntrySList!"); exit(0); }
void kernel_InterlockedPushEntrySList() { printf("Stub for InterlockedPushEntrySList!"); exit(0); }
void kernel_IoAllocateIrp() { printf("Stub for IoAllocateIrp!"); exit(0); }
void kernel_IoBuildAsynchronousFsdRequest() { printf("Stub for IoBuildAsynchronousFsdRequest!"); exit(0); }
void kernel_IoBuildDeviceIoControlRequest() { printf("Stub for IoBuildDeviceIoControlRequest!"); exit(0); }
void kernel_IoBuildSynchronousFsdRequest() { printf("Stub for IoBuildSynchronousFsdRequest!"); exit(0); }
void kernel_IoCheckShareAccess() { printf("Stub for IoCheckShareAccess!"); exit(0); }
void kernel_IoCompletionObjectType() { printf("Stub for IoCompletionObjectType!"); exit(0); }
void kernel_IoCreateDevice() { printf("Stub for IoCreateDevice!"); exit(0); }
void kernel_IoCreateFile() { printf("Stub for IoCreateFile!"); exit(0); }
void kernel_IoCreateSymbolicLink() { printf("Stub for IoCreateSymbolicLink!"); exit(0); }
void kernel_IoDeleteDevice() { printf("Stub for IoDeleteDevice!"); exit(0); }
void kernel_IoDeleteSymbolicLink() { printf("Stub for IoDeleteSymbolicLink!"); exit(0); }
void kernel_IoDeviceObjectType() { printf("Stub for IoDeviceObjectType!"); exit(0); }
void kernel_IoFileObjectType() { printf("Stub for IoFileObjectType!"); exit(0); }
void kernel_IoFreeIrp() { printf("Stub for IoFreeIrp!"); exit(0); }
void kernel_IoInitializeIrp() { printf("Stub for IoInitializeIrp!"); exit(0); }
void kernel_IoInvalidDeviceRequest() { printf("Stub for IoInvalidDeviceRequest!"); exit(0); }
void kernel_IoQueryFileInformation() { printf("Stub for IoQueryFileInformation!"); exit(0); }
void kernel_IoQueryVolumeInformation() { printf("Stub for IoQueryVolumeInformation!"); exit(0); }
void kernel_IoQueueThreadIrp() { printf("Stub for IoQueueThreadIrp!"); exit(0); }
void kernel_IoRemoveShareAccess() { printf("Stub for IoRemoveShareAccess!"); exit(0); }
void kernel_IoSetIoCompletion() { printf("Stub for IoSetIoCompletion!"); exit(0); }
void kernel_IoSetShareAccess() { printf("Stub for IoSetShareAccess!"); exit(0); }
void kernel_IoStartNextPacket() { printf("Stub for IoStartNextPacket!"); exit(0); }
void kernel_IoStartNextPacketByKey() { printf("Stub for IoStartNextPacketByKey!"); exit(0); }
void kernel_IoStartPacket() { printf("Stub for IoStartPacket!"); exit(0); }
void kernel_IoSynchronousDeviceIoControlRequest() { printf("Stub for IoSynchronousDeviceIoControlRequest!"); exit(0); }
void kernel_IoSynchronousFsdRequest() { printf("Stub for IoSynchronousFsdRequest!"); exit(0); }
void kernel_IofCallDriver() { printf("Stub for IofCallDriver!"); exit(0); }
void kernel_IofCompleteRequest() { printf("Stub for IofCompleteRequest!"); exit(0); }
void kernel_KdDebuggerEnabled() { printf("Stub for KdDebuggerEnabled!"); exit(0); }
void kernel_KdDebuggerNotPresent() { printf("Stub for KdDebuggerNotPresent!"); exit(0); }
void kernel_IoDismountVolume() { printf("Stub for IoDismountVolume!"); exit(0); }
void kernel_IoDismountVolumeByName() { printf("Stub for IoDismountVolumeByName!"); exit(0); }
void kernel_KeAlertResumeThread() { printf("Stub for KeAlertResumeThread!"); exit(0); }
void kernel_KeAlertThread() { printf("Stub for KeAlertThread!"); exit(0); }
void kernel_KeBoostPriorityThread() { printf("Stub for KeBoostPriorityThread!"); exit(0); }
void kernel_KeBugCheck() { printf("Stub for KeBugCheck!"); exit(0); }
void kernel_KeBugCheckEx() { printf("Stub for KeBugCheckEx!"); exit(0); }
void kernel_KeCancelTimer() { printf("Stub for KeCancelTimer!"); exit(0); }
void kernel_KeConnectInterrupt() { printf("Stub for KeConnectInterrupt!"); exit(0); }
void kernel_KeDelayExecutionThread() { printf("Stub for KeDelayExecutionThread!"); exit(0); }
void kernel_KeDisconnectInterrupt() { printf("Stub for KeDisconnectInterrupt!"); exit(0); }
void kernel_KeEnterCriticalRegion() { printf("Stub for KeEnterCriticalRegion!"); exit(0); }
void kernel_MmGlobalData() { printf("Stub for MmGlobalData!"); exit(0); }
void kernel_KeGetCurrentIrql() { printf("Stub for KeGetCurrentIrql!"); exit(0); }
void kernel_KeGetCurrentThread() { printf("Stub for KeGetCurrentThread!"); exit(0); }
void kernel_KeInitializeApc() { printf("Stub for KeInitializeApc!"); exit(0); }
void kernel_KeInitializeDeviceQueue() { printf("Stub for KeInitializeDeviceQueue!"); exit(0); }
void kernel_KeInitializeDpc() { printf("Stub for KeInitializeDpc!"); exit(0); }
void kernel_KeInitializeEvent() { printf("Stub for KeInitializeEvent!"); exit(0); }
void kernel_KeInitializeInterrupt() { printf("Stub for KeInitializeInterrupt!"); exit(0); }
void kernel_KeInitializeMutant() { printf("Stub for KeInitializeMutant!"); exit(0); }
void kernel_KeInitializeQueue() { printf("Stub for KeInitializeQueue!"); exit(0); }
void kernel_KeInitializeSemaphore() { printf("Stub for KeInitializeSemaphore!"); exit(0); }
void kernel_KeInitializeTimerEx() { printf("Stub for KeInitializeTimerEx!"); exit(0); }
void kernel_KeInsertByKeyDeviceQueue() { printf("Stub for KeInsertByKeyDeviceQueue!"); exit(0); }
void kernel_KeInsertDeviceQueue() { printf("Stub for KeInsertDeviceQueue!"); exit(0); }
void kernel_KeInsertHeadQueue() { printf("Stub for KeInsertHeadQueue!"); exit(0); }
void kernel_KeInsertQueue() { printf("Stub for KeInsertQueue!"); exit(0); }
void kernel_KeInsertQueueApc() { printf("Stub for KeInsertQueueApc!"); exit(0); }
void kernel_KeInsertQueueDpc() { printf("Stub for KeInsertQueueDpc!"); exit(0); }
void kernel_KeInterruptTime() { printf("Stub for KeInterruptTime!"); exit(0); }
void kernel_KeIsExecutingDpc() { printf("Stub for KeIsExecutingDpc!"); exit(0); }
void kernel_KeLeaveCriticalRegion() { printf("Stub for KeLeaveCriticalRegion!"); exit(0); }
void kernel_KePulseEvent() { printf("Stub for KePulseEvent!"); exit(0); }
void kernel_KeQueryBasePriorityThread() { printf("Stub for KeQueryBasePriorityThread!"); exit(0); }
void kernel_KeQueryInterruptTime() { printf("Stub for KeQueryInterruptTime!"); exit(0); }
void kernel_KeQueryPerformanceCounter() { printf("Stub for KeQueryPerformanceCounter!"); exit(0); }
void kernel_KeQueryPerformanceFrequency() { printf("Stub for KeQueryPerformanceFrequency!"); exit(0); }
void kernel_KeQuerySystemTime() { printf("Stub for KeQuerySystemTime!"); exit(0); }
void kernel_KeRaiseIrqlToDpcLevel() { printf("Stub for KeRaiseIrqlToDpcLevel!"); exit(0); }
void kernel_KeRaiseIrqlToSynchLevel() { printf("Stub for KeRaiseIrqlToSynchLevel!"); exit(0); }
void kernel_KeReleaseMutant() { printf("Stub for KeReleaseMutant!"); exit(0); }
void kernel_KeReleaseSemaphore() { printf("Stub for KeReleaseSemaphore!"); exit(0); }
void kernel_KeRemoveByKeyDeviceQueue() { printf("Stub for KeRemoveByKeyDeviceQueue!"); exit(0); }
void kernel_KeRemoveDeviceQueue() { printf("Stub for KeRemoveDeviceQueue!"); exit(0); }
void kernel_KeRemoveEntryDeviceQueue() { printf("Stub for KeRemoveEntryDeviceQueue!"); exit(0); }
void kernel_KeRemoveQueue() { printf("Stub for KeRemoveQueue!"); exit(0); }
void kernel_KeRemoveQueueDpc() { printf("Stub for KeRemoveQueueDpc!"); exit(0); }
void kernel_KeResetEvent() { printf("Stub for KeResetEvent!"); exit(0); }
void kernel_KeRestoreFloatingPointState() { printf("Stub for KeRestoreFloatingPointState!"); exit(0); }
void kernel_KeResumeThread() { printf("Stub for KeResumeThread!"); exit(0); }
void kernel_KeRundownQueue() { printf("Stub for KeRundownQueue!"); exit(0); }
void kernel_KeSaveFloatingPointState() { printf("Stub for KeSaveFloatingPointState!"); exit(0); }
void kernel_KeSetBasePriorityThread() { printf("Stub for KeSetBasePriorityThread!"); exit(0); }
void kernel_KeSetDisableBoostThread() { printf("Stub for KeSetDisableBoostThread!"); exit(0); }
void kernel_KeSetEvent() { printf("Stub for KeSetEvent!"); exit(0); }
void kernel_KeSetEventBoostPriority() { printf("Stub for KeSetEventBoostPriority!"); exit(0); }
void kernel_KeSetPriorityProcess() { printf("Stub for KeSetPriorityProcess!"); exit(0); }
void kernel_KeSetPriorityThread() { printf("Stub for KeSetPriorityThread!"); exit(0); }
void kernel_KeSetTimer() { printf("Stub for KeSetTimer!"); exit(0); }
void kernel_KeSetTimerEx() { printf("Stub for KeSetTimerEx!"); exit(0); }
void kernel_KeStallExecutionProcessor() { printf("Stub for KeStallExecutionProcessor!"); exit(0); }
void kernel_KeSuspendThread() { printf("Stub for KeSuspendThread!"); exit(0); }
void kernel_KeSynchronizeExecution() { printf("Stub for KeSynchronizeExecution!"); exit(0); }
void kernel_KeSystemTime() { printf("Stub for KeSystemTime!"); exit(0); }
void kernel_KeTestAlertThread() { printf("Stub for KeTestAlertThread!"); exit(0); }
void kernel_KeTickCount() { printf("Stub for KeTickCount!"); exit(0); }
void kernel_KeTimeIncrement() { printf("Stub for KeTimeIncrement!"); exit(0); }
void kernel_KeWaitForMultipleObjects() { printf("Stub for KeWaitForMultipleObjects!"); exit(0); }
void kernel_KeWaitForSingleObject() { printf("Stub for KeWaitForSingleObject!"); exit(0); }
void kernel_KfRaiseIrql() { printf("Stub for KfRaiseIrql!"); exit(0); }
void kernel_KfLowerIrql() { printf("Stub for KfLowerIrql!"); exit(0); }
void kernel_KiBugCheckData() { printf("Stub for KiBugCheckData!"); exit(0); }
void kernel_KiUnlockDispatcherDatabase() { printf("Stub for KiUnlockDispatcherDatabase!"); exit(0); }
void kernel_LaunchDataPage() { printf("Stub for LaunchDataPage!"); exit(0); }
void kernel_MmAllocateContiguousMemory() { printf("Stub for MmAllocateContiguousMemory!"); exit(0); }
void kernel_MmAllocateContiguousMemoryEx() { printf("Stub for MmAllocateContiguousMemoryEx!"); exit(0); }
void kernel_MmAllocateSystemMemory() { printf("Stub for MmAllocateSystemMemory!"); exit(0); }
void kernel_MmClaimGpuInstanceMemory() { printf("Stub for MmClaimGpuInstanceMemory!"); exit(0); }
void kernel_MmCreateKernelStack() { printf("Stub for MmCreateKernelStack!"); exit(0); }
void kernel_MmDeleteKernelStack() { printf("Stub for MmDeleteKernelStack!"); exit(0); }
void kernel_MmFreeContiguousMemory() { printf("Stub for MmFreeContiguousMemory!"); exit(0); }
void kernel_MmFreeSystemMemory() { printf("Stub for MmFreeSystemMemory!"); exit(0); }
void kernel_MmGetPhysicalAddress() { printf("Stub for MmGetPhysicalAddress!"); exit(0); }
void kernel_MmIsAddressValid() { printf("Stub for MmIsAddressValid!"); exit(0); }
void kernel_MmLockUnlockBufferPages() { printf("Stub for MmLockUnlockBufferPages!"); exit(0); }
void kernel_MmLockUnlockPhysicalPage() { printf("Stub for MmLockUnlockPhysicalPage!"); exit(0); }
void kernel_MmMapIoSpace() { printf("Stub for MmMapIoSpace!"); exit(0); }
void kernel_MmPersistContiguousMemory() { printf("Stub for MmPersistContiguousMemory!"); exit(0); }
void kernel_MmQueryAddressProtect() { printf("Stub for MmQueryAddressProtect!"); exit(0); }
void kernel_MmQueryAllocationSize() { printf("Stub for MmQueryAllocationSize!"); exit(0); }
void kernel_MmQueryStatistics() { printf("Stub for MmQueryStatistics!"); exit(0); }
void kernel_MmSetAddressProtect() { printf("Stub for MmSetAddressProtect!"); exit(0); }
void kernel_MmUnmapIoSpace() { printf("Stub for MmUnmapIoSpace!"); exit(0); }
void kernel_NtAllocateVirtualMemory() { printf("Stub for NtAllocateVirtualMemory!"); exit(0); }
void kernel_NtCancelTimer() { printf("Stub for NtCancelTimer!"); exit(0); }
void kernel_NtClearEvent() { printf("Stub for NtClearEvent!"); exit(0); }
void kernel_NtClose() { printf("Stub for NtClose!"); exit(0); }
void kernel_NtCreateDirectoryObject() { printf("Stub for NtCreateDirectoryObject!"); exit(0); }
void kernel_NtCreateEvent() { printf("Stub for NtCreateEvent!"); exit(0); }
void kernel_NtCreateFile() { printf("Stub for NtCreateFile!"); exit(0); }
void kernel_NtCreateIoCompletion() { printf("Stub for NtCreateIoCompletion!"); exit(0); }
void kernel_NtCreateMutant() { printf("Stub for NtCreateMutant!"); exit(0); }
void kernel_NtCreateSemaphore() { printf("Stub for NtCreateSemaphore!"); exit(0); }
void kernel_NtCreateTimer() { printf("Stub for NtCreateTimer!"); exit(0); }
void kernel_NtDeleteFile() { printf("Stub for NtDeleteFile!"); exit(0); }
void kernel_NtDeviceIoControlFile() { printf("Stub for NtDeviceIoControlFile!"); exit(0); }
void kernel_NtDuplicateObject() { printf("Stub for NtDuplicateObject!"); exit(0); }
void kernel_NtFlushBuffersFile() { printf("Stub for NtFlushBuffersFile!"); exit(0); }
void kernel_NtFreeVirtualMemory() { printf("Stub for NtFreeVirtualMemory!"); exit(0); }
void kernel_NtFsControlFile() { printf("Stub for NtFsControlFile!"); exit(0); }
void kernel_NtOpenDirectoryObject() { printf("Stub for NtOpenDirectoryObject!"); exit(0); }
void kernel_NtOpenFile() { printf("Stub for NtOpenFile!"); exit(0); }
void kernel_NtOpenSymbolicLinkObject() { printf("Stub for NtOpenSymbolicLinkObject!"); exit(0); }
void kernel_NtProtectVirtualMemory() { printf("Stub for NtProtectVirtualMemory!"); exit(0); }
void kernel_NtPulseEvent() { printf("Stub for NtPulseEvent!"); exit(0); }
void kernel_NtQueueApcThread() { printf("Stub for NtQueueApcThread!"); exit(0); }
void kernel_NtQueryDirectoryFile() { printf("Stub for NtQueryDirectoryFile!"); exit(0); }
void kernel_NtQueryDirectoryObject() { printf("Stub for NtQueryDirectoryObject!"); exit(0); }
void kernel_NtQueryEvent() { printf("Stub for NtQueryEvent!"); exit(0); }
void kernel_NtQueryFullAttributesFile() { printf("Stub for NtQueryFullAttributesFile!"); exit(0); }
void kernel_NtQueryInformationFile() { printf("Stub for NtQueryInformationFile!"); exit(0); }
void kernel_NtQueryIoCompletion() { printf("Stub for NtQueryIoCompletion!"); exit(0); }
void kernel_NtQueryMutant() { printf("Stub for NtQueryMutant!"); exit(0); }
void kernel_NtQuerySemaphore() { printf("Stub for NtQuerySemaphore!"); exit(0); }
void kernel_NtQuerySymbolicLinkObject() { printf("Stub for NtQuerySymbolicLinkObject!"); exit(0); }
void kernel_NtQueryTimer() { printf("Stub for NtQueryTimer!"); exit(0); }
void kernel_NtQueryVirtualMemory() { printf("Stub for NtQueryVirtualMemory!"); exit(0); }
void kernel_NtQueryVolumeInformationFile() { printf("Stub for NtQueryVolumeInformationFile!"); exit(0); }
void kernel_NtReadFile() { printf("Stub for NtReadFile!"); exit(0); }
void kernel_NtReadFileScatter() { printf("Stub for NtReadFileScatter!"); exit(0); }
void kernel_NtReleaseMutant() { printf("Stub for NtReleaseMutant!"); exit(0); }
void kernel_NtReleaseSemaphore() { printf("Stub for NtReleaseSemaphore!"); exit(0); }
void kernel_NtRemoveIoCompletion() { printf("Stub for NtRemoveIoCompletion!"); exit(0); }
void kernel_NtResumeThread() { printf("Stub for NtResumeThread!"); exit(0); }
void kernel_NtSetEvent() { printf("Stub for NtSetEvent!"); exit(0); }
void kernel_NtSetInformationFile() { printf("Stub for NtSetInformationFile!"); exit(0); }
void kernel_NtSetIoCompletion() { printf("Stub for NtSetIoCompletion!"); exit(0); }
void kernel_NtSetSystemTime() { printf("Stub for NtSetSystemTime!"); exit(0); }
void kernel_NtSetTimerEx() { printf("Stub for NtSetTimerEx!"); exit(0); }
void kernel_NtSignalAndWaitForSingleObjectEx() { printf("Stub for NtSignalAndWaitForSingleObjectEx!"); exit(0); }
void kernel_NtSuspendThread() { printf("Stub for NtSuspendThread!"); exit(0); }
void kernel_NtUserIoApcDispatcher() { printf("Stub for NtUserIoApcDispatcher!"); exit(0); }
void kernel_NtWaitForSingleObject() { printf("Stub for NtWaitForSingleObject!"); exit(0); }
void kernel_NtWaitForSingleObjectEx() { printf("Stub for NtWaitForSingleObjectEx!"); exit(0); }
void kernel_NtWaitForMultipleObjectsEx() { printf("Stub for NtWaitForMultipleObjectsEx!"); exit(0); }
void kernel_NtWriteFile() { printf("Stub for NtWriteFile!"); exit(0); }
void kernel_NtWriteFileGather() { printf("Stub for NtWriteFileGather!"); exit(0); }
void kernel_NtYieldExecution() { printf("Stub for NtYieldExecution!"); exit(0); }
void kernel_ObCreateObject() { printf("Stub for ObCreateObject!"); exit(0); }
void kernel_ObDirectoryObjectType() { printf("Stub for ObDirectoryObjectType!"); exit(0); }
void kernel_ObInsertObject() { printf("Stub for ObInsertObject!"); exit(0); }
void kernel_ObMakeTemporaryObject() { printf("Stub for ObMakeTemporaryObject!"); exit(0); }
void kernel_ObOpenObjectByName() { printf("Stub for ObOpenObjectByName!"); exit(0); }
void kernel_ObOpenObjectByPointer() { printf("Stub for ObOpenObjectByPointer!"); exit(0); }
void kernel_ObpObjectHandleTable() { printf("Stub for ObpObjectHandleTable!"); exit(0); }
void kernel_ObReferenceObjectByHandle() { printf("Stub for ObReferenceObjectByHandle!"); exit(0); }
void kernel_ObReferenceObjectByName() { printf("Stub for ObReferenceObjectByName!"); exit(0); }
void kernel_ObReferenceObjectByPointer() { printf("Stub for ObReferenceObjectByPointer!"); exit(0); }
void kernel_ObSymbolicLinkObjectType() { printf("Stub for ObSymbolicLinkObjectType!"); exit(0); }
void kernel_ObfDereferenceObject() { printf("Stub for ObfDereferenceObject!"); exit(0); }
void kernel_ObfReferenceObject() { printf("Stub for ObfReferenceObject!"); exit(0); }
void kernel_PhyGetLinkState() { printf("Stub for PhyGetLinkState!"); exit(0); }
void kernel_PhyInitialize() { printf("Stub for PhyInitialize!"); exit(0); }
void kernel_PsCreateSystemThread() { printf("Stub for PsCreateSystemThread!"); exit(0); }
void kernel_PsCreateSystemThreadEx() { printf("Stub for PsCreateSystemThreadEx!"); exit(0); }
void kernel_PsQueryStatistics() { printf("Stub for PsQueryStatistics!"); exit(0); }
void kernel_PsSetCreateThreadNotifyRoutine() { printf("Stub for PsSetCreateThreadNotifyRoutine!"); exit(0); }
void kernel_PsTerminateSystemThread() { printf("Stub for PsTerminateSystemThread!"); exit(0); }
void kernel_PsThreadObjectType() { printf("Stub for PsThreadObjectType!"); exit(0); }
void kernel_RtlAnsiStringToUnicodeString() { printf("Stub for RtlAnsiStringToUnicodeString!"); exit(0); }
void kernel_RtlAppendStringToString() { printf("Stub for RtlAppendStringToString!"); exit(0); }
void kernel_RtlAppendUnicodeStringToString() { printf("Stub for RtlAppendUnicodeStringToString!"); exit(0); }
void kernel_RtlAppendUnicodeToString() { printf("Stub for RtlAppendUnicodeToString!"); exit(0); }
void kernel_RtlAssert() { printf("Stub for RtlAssert!"); exit(0); }
void kernel_RtlCaptureContext() { printf("Stub for RtlCaptureContext!"); exit(0); }
void kernel_RtlCaptureStackBackTrace() { printf("Stub for RtlCaptureStackBackTrace!"); exit(0); }
void kernel_RtlCharToInteger() { printf("Stub for RtlCharToInteger!"); exit(0); }
void kernel_RtlCompareMemory() { printf("Stub for RtlCompareMemory!"); exit(0); }
void kernel_RtlCompareMemoryUlong() { printf("Stub for RtlCompareMemoryUlong!"); exit(0); }
void kernel_RtlCompareString() { printf("Stub for RtlCompareString!"); exit(0); }
void kernel_RtlCompareUnicodeString() { printf("Stub for RtlCompareUnicodeString!"); exit(0); }
void kernel_RtlCopyString() { printf("Stub for RtlCopyString!"); exit(0); }
void kernel_RtlCopyUnicodeString() { printf("Stub for RtlCopyUnicodeString!"); exit(0); }
void kernel_RtlCreateUnicodeString() { printf("Stub for RtlCreateUnicodeString!"); exit(0); }
void kernel_RtlDowncaseUnicodeChar() { printf("Stub for RtlDowncaseUnicodeChar!"); exit(0); }
void kernel_RtlDowncaseUnicodeString() { printf("Stub for RtlDowncaseUnicodeString!"); exit(0); }
void kernel_RtlEnterCriticalSection() { printf("Stub for RtlEnterCriticalSection!"); exit(0); }
void kernel_RtlEnterCriticalSectionAndRegion() { printf("Stub for RtlEnterCriticalSectionAndRegion!"); exit(0); }
void kernel_RtlEqualString() { printf("Stub for RtlEqualString!"); exit(0); }
void kernel_RtlEqualUnicodeString() { printf("Stub for RtlEqualUnicodeString!"); exit(0); }
void kernel_RtlExtendedIntegerMultiply() { printf("Stub for RtlExtendedIntegerMultiply!"); exit(0); }
void kernel_RtlExtendedLargeIntegerDivide() { printf("Stub for RtlExtendedLargeIntegerDivide!"); exit(0); }
void kernel_RtlExtendedMagicDivide() { printf("Stub for RtlExtendedMagicDivide!"); exit(0); }
void kernel_RtlFillMemory() { printf("Stub for RtlFillMemory!"); exit(0); }
void kernel_RtlFillMemoryUlong() { printf("Stub for RtlFillMemoryUlong!"); exit(0); }
void kernel_RtlFreeAnsiString() { printf("Stub for RtlFreeAnsiString!"); exit(0); }
void kernel_RtlFreeUnicodeString() { printf("Stub for RtlFreeUnicodeString!"); exit(0); }
void kernel_RtlGetCallersAddress() { printf("Stub for RtlGetCallersAddress!"); exit(0); }
void kernel_RtlInitAnsiString() { printf("Stub for RtlInitAnsiString!"); exit(0); }
void kernel_RtlInitUnicodeString() { printf("Stub for RtlInitUnicodeString!"); exit(0); }
void kernel_RtlInitializeCriticalSection() { printf("Stub for RtlInitializeCriticalSection!"); exit(0); }
void kernel_RtlIntegerToChar() { printf("Stub for RtlIntegerToChar!"); exit(0); }
void kernel_RtlIntegerToUnicodeString() { printf("Stub for RtlIntegerToUnicodeString!"); exit(0); }
void kernel_RtlLeaveCriticalSection() { printf("Stub for RtlLeaveCriticalSection!"); exit(0); }
void kernel_RtlLeaveCriticalSectionAndRegion() { printf("Stub for RtlLeaveCriticalSectionAndRegion!"); exit(0); }
void kernel_RtlLowerChar() { printf("Stub for RtlLowerChar!"); exit(0); }
void kernel_RtlMapGenericMask() { printf("Stub for RtlMapGenericMask!"); exit(0); }
void kernel_RtlMoveMemory() { printf("Stub for RtlMoveMemory!"); exit(0); }
void kernel_RtlMultiByteToUnicodeN() { printf("Stub for RtlMultiByteToUnicodeN!"); exit(0); }
void kernel_RtlMultiByteToUnicodeSize() { printf("Stub for RtlMultiByteToUnicodeSize!"); exit(0); }
void kernel_RtlNtStatusToDosError() { printf("Stub for RtlNtStatusToDosError!"); exit(0); }
void kernel_RtlRaiseException() { printf("Stub for RtlRaiseException!"); exit(0); }
void kernel_RtlRaiseStatus() { printf("Stub for RtlRaiseStatus!"); exit(0); }
void kernel_RtlTimeFieldsToTime() { printf("Stub for RtlTimeFieldsToTime!"); exit(0); }
void kernel_RtlTimeToTimeFields() { printf("Stub for RtlTimeToTimeFields!"); exit(0); }
void kernel_RtlTryEnterCriticalSection() { printf("Stub for RtlTryEnterCriticalSection!"); exit(0); }
void kernel_RtlUlongByteSwap() { printf("Stub for RtlUlongByteSwap!"); exit(0); }
void kernel_RtlUnicodeStringToAnsiString() { printf("Stub for RtlUnicodeStringToAnsiString!"); exit(0); }
void kernel_RtlUnicodeStringToInteger() { printf("Stub for RtlUnicodeStringToInteger!"); exit(0); }
void kernel_RtlUnicodeToMultiByteN() { printf("Stub for RtlUnicodeToMultiByteN!"); exit(0); }
void kernel_RtlUnicodeToMultiByteSize() { printf("Stub for RtlUnicodeToMultiByteSize!"); exit(0); }
void kernel_RtlUnwind() { printf("Stub for RtlUnwind!"); exit(0); }
void kernel_RtlUpcaseUnicodeChar() { printf("Stub for RtlUpcaseUnicodeChar!"); exit(0); }
void kernel_RtlUpcaseUnicodeString() { printf("Stub for RtlUpcaseUnicodeString!"); exit(0); }
void kernel_RtlUpcaseUnicodeToMultiByteN() { printf("Stub for RtlUpcaseUnicodeToMultiByteN!"); exit(0); }
void kernel_RtlUpperChar() { printf("Stub for RtlUpperChar!"); exit(0); }
void kernel_RtlUpperString() { printf("Stub for RtlUpperString!"); exit(0); }
void kernel_RtlUshortByteSwap() { printf("Stub for RtlUshortByteSwap!"); exit(0); }
void kernel_RtlWalkFrameChain() { printf("Stub for RtlWalkFrameChain!"); exit(0); }
void kernel_RtlZeroMemory() { printf("Stub for RtlZeroMemory!"); exit(0); }
void kernel_XboxEEPROMKey() { printf("Stub for XboxEEPROMKey!"); exit(0); }
void kernel_XboxHardwareInfo() { printf("Stub for XboxHardwareInfo!"); exit(0); }
void kernel_XboxHDKey() { printf("Stub for XboxHDKey!"); exit(0); }
void kernel_XboxKrnlVersion() { printf("Stub for XboxKrnlVersion!"); exit(0); }
void kernel_XboxSignatureKey() { printf("Stub for XboxSignatureKey!"); exit(0); }
void kernel_XeImageFileName() { printf("Stub for XeImageFileName!"); exit(0); }
void kernel_XeLoadSection() { printf("Stub for XeLoadSection!"); exit(0); }
void kernel_XeUnloadSection() { printf("Stub for XeUnloadSection!"); exit(0); }
void kernel_READ_PORT_BUFFER_UCHAR() { printf("Stub for READ_PORT_BUFFER_UCHAR!"); exit(0); }
void kernel_READ_PORT_BUFFER_USHORT() { printf("Stub for READ_PORT_BUFFER_USHORT!"); exit(0); }
void kernel_READ_PORT_BUFFER_ULONG() { printf("Stub for READ_PORT_BUFFER_ULONG!"); exit(0); }
void kernel_WRITE_PORT_BUFFER_UCHAR() { printf("Stub for WRITE_PORT_BUFFER_UCHAR!"); exit(0); }
void kernel_WRITE_PORT_BUFFER_USHORT() { printf("Stub for WRITE_PORT_BUFFER_USHORT!"); exit(0); }
void kernel_WRITE_PORT_BUFFER_ULONG() { printf("Stub for WRITE_PORT_BUFFER_ULONG!"); exit(0); }
void kernel_XcSHAInit() { printf("Stub for XcSHAInit!"); exit(0); }
void kernel_XcSHAUpdate() { printf("Stub for XcSHAUpdate!"); exit(0); }
void kernel_XcSHAFinal() { printf("Stub for XcSHAFinal!"); exit(0); }
void kernel_XcRC4Key() { printf("Stub for XcRC4Key!"); exit(0); }
void kernel_XcRC4Crypt() { printf("Stub for XcRC4Crypt!"); exit(0); }
void kernel_XcHMAC() { printf("Stub for XcHMAC!"); exit(0); }
void kernel_XcPKEncPublic() { printf("Stub for XcPKEncPublic!"); exit(0); }
void kernel_XcPKDecPrivate() { printf("Stub for XcPKDecPrivate!"); exit(0); }
void kernel_XcPKGetKeyLen() { printf("Stub for XcPKGetKeyLen!"); exit(0); }
void kernel_XcVerifyPKCS1Signature() { printf("Stub for XcVerifyPKCS1Signature!"); exit(0); }
void kernel_XcModExp() { printf("Stub for XcModExp!"); exit(0); }
void kernel_XcDESKeyParity() { printf("Stub for XcDESKeyParity!"); exit(0); }
void kernel_XcKeyTable() { printf("Stub for XcKeyTable!"); exit(0); }
void kernel_XcBlockCrypt() { printf("Stub for XcBlockCrypt!"); exit(0); }
void kernel_XcBlockCryptCBC() { printf("Stub for XcBlockCryptCBC!"); exit(0); }
void kernel_XcCryptService() { printf("Stub for XcCryptService!"); exit(0); }
void kernel_XcUpdateCrypto() { printf("Stub for XcUpdateCrypto!"); exit(0); }
void kernel_RtlRip() { printf("Stub for RtlRip!"); exit(0); }
void kernel_XboxLANKey() { printf("Stub for XboxLANKey!"); exit(0); }
void kernel_XboxAlternateSignatureKeys() { printf("Stub for XboxAlternateSignatureKeys!"); exit(0); }
void kernel_XePublicKeyData() { printf("Stub for XePublicKeyData!"); exit(0); }
void kernel_HalBootSMCVideoMode() { printf("Stub for HalBootSMCVideoMode!"); exit(0); }
void kernel_IdexChannelObject() { printf("Stub for IdexChannelObject!"); exit(0); }
void kernel_HalIsResetOrShutdownPending() { printf("Stub for HalIsResetOrShutdownPending!"); exit(0); }
void kernel_IoMarkIrpMustComplete() { printf("Stub for IoMarkIrpMustComplete!"); exit(0); }
void kernel_HalInitiateShutdown() { printf("Stub for HalInitiateShutdown!"); exit(0); }
void kernel_snprintf() { printf("Stub for snprintf!"); exit(0); }
void kernel_sprintf() { printf("Stub for sprintf!"); exit(0); }
void kernel_vsnprintf() { printf("Stub for vsnprintf!"); exit(0); }
void kernel_vsprintf() { printf("Stub for vsprintf!"); exit(0); }
void kernel_HalEnableSecureTrayEject() { printf("Stub for HalEnableSecureTrayEject!"); exit(0); }
void kernel_HalWriteSMCScratchRegister() { printf("Stub for HalWriteSMCScratchRegister!"); exit(0); }

View file

@ -1,368 +0,0 @@
void *mapKernel(unsigned long id);
void kernel_AvGetSavedDataAddress();
void kernel_AvSendTVEncoderOption();
void kernel_AvSetDisplayMode();
void kernel_AvSetSavedDataAddress();
void kernel_DbgBreakPoint();
void kernel_DbgBreakPointWithStatus();
void kernel_DbgLoadImageSymbols();
void kernel_DbgPrint();
void kernel_HalReadSMCTrayState();
void kernel_DbgPrompt();
void kernel_DbgUnLoadImageSymbols();
void kernel_ExAcquireReadWriteLockExclusive();
void kernel_ExAcquireReadWriteLockShared();
void kernel_ExAllocatePool();
void kernel_ExAllocatePoolWithTag();
void kernel_ExEventObjectType();
void kernel_ExFreePool();
void kernel_ExInitializeReadWriteLock();
void kernel_ExInterlockedAddLargeInteger();
void kernel_ExInterlockedAddLargeStatistic();
void kernel_ExInterlockedCompareExchange64();
void kernel_ExMutantObjectType();
void kernel_ExQueryPoolBlockSize();
void kernel_ExQueryNonVolatileSetting();
void kernel_ExReadWriteRefurbInfo();
void kernel_ExRaiseException();
void kernel_ExRaiseStatus();
void kernel_ExReleaseReadWriteLock();
void kernel_ExSaveNonVolatileSetting();
void kernel_ExSemaphoreObjectType();
void kernel_ExTimerObjectType();
void kernel_ExfInterlockedInsertHeadList();
void kernel_ExfInterlockedInsertTailList();
void kernel_ExfInterlockedRemoveHeadList();
void kernel_FscGetCacheSize();
void kernel_FscInvalidateIdleBlocks();
void kernel_FscSetCacheSize();
void kernel_HalClearSoftwareInterrupt();
void kernel_HalDisableSystemInterrupt();
void kernel_HalDiskCachePartitionCount();
void kernel_HalDiskModelNumber();
void kernel_HalDiskSerialNumber();
void kernel_HalEnableSystemInterrupt();
void kernel_HalGetInterruptVector();
void kernel_HalReadSMBusValue();
void kernel_HalReadWritePCISpace();
void kernel_HalRegisterShutdownNotification();
void kernel_HalRequestSoftwareInterrupt();
void kernel_HalReturnToFirmware();
void kernel_HalWriteSMBusValue();
void kernel_InterlockedCompareExchange();
void kernel_InterlockedDecrement();
void kernel_InterlockedIncrement();
void kernel_InterlockedExchange();
void kernel_InterlockedExchangeAdd();
void kernel_InterlockedFlushSList();
void kernel_InterlockedPopEntrySList();
void kernel_InterlockedPushEntrySList();
void kernel_IoAllocateIrp();
void kernel_IoBuildAsynchronousFsdRequest();
void kernel_IoBuildDeviceIoControlRequest();
void kernel_IoBuildSynchronousFsdRequest();
void kernel_IoCheckShareAccess();
void kernel_IoCompletionObjectType();
void kernel_IoCreateDevice();
void kernel_IoCreateFile();
void kernel_IoCreateSymbolicLink();
void kernel_IoDeleteDevice();
void kernel_IoDeleteSymbolicLink();
void kernel_IoDeviceObjectType();
void kernel_IoFileObjectType();
void kernel_IoFreeIrp();
void kernel_IoInitializeIrp();
void kernel_IoInvalidDeviceRequest();
void kernel_IoQueryFileInformation();
void kernel_IoQueryVolumeInformation();
void kernel_IoQueueThreadIrp();
void kernel_IoRemoveShareAccess();
void kernel_IoSetIoCompletion();
void kernel_IoSetShareAccess();
void kernel_IoStartNextPacket();
void kernel_IoStartNextPacketByKey();
void kernel_IoStartPacket();
void kernel_IoSynchronousDeviceIoControlRequest();
void kernel_IoSynchronousFsdRequest();
void kernel_IofCallDriver();
void kernel_IofCompleteRequest();
void kernel_KdDebuggerEnabled();
void kernel_KdDebuggerNotPresent();
void kernel_IoDismountVolume();
void kernel_IoDismountVolumeByName();
void kernel_KeAlertResumeThread();
void kernel_KeAlertThread();
void kernel_KeBoostPriorityThread();
void kernel_KeBugCheck();
void kernel_KeBugCheckEx();
void kernel_KeCancelTimer();
void kernel_KeConnectInterrupt();
void kernel_KeDelayExecutionThread();
void kernel_KeDisconnectInterrupt();
void kernel_KeEnterCriticalRegion();
void kernel_MmGlobalData();
void kernel_KeGetCurrentIrql();
void kernel_KeGetCurrentThread();
void kernel_KeInitializeApc();
void kernel_KeInitializeDeviceQueue();
void kernel_KeInitializeDpc();
void kernel_KeInitializeEvent();
void kernel_KeInitializeInterrupt();
void kernel_KeInitializeMutant();
void kernel_KeInitializeQueue();
void kernel_KeInitializeSemaphore();
void kernel_KeInitializeTimerEx();
void kernel_KeInsertByKeyDeviceQueue();
void kernel_KeInsertDeviceQueue();
void kernel_KeInsertHeadQueue();
void kernel_KeInsertQueue();
void kernel_KeInsertQueueApc();
void kernel_KeInsertQueueDpc();
void kernel_KeInterruptTime();
void kernel_KeIsExecutingDpc();
void kernel_KeLeaveCriticalRegion();
void kernel_KePulseEvent();
void kernel_KeQueryBasePriorityThread();
void kernel_KeQueryInterruptTime();
void kernel_KeQueryPerformanceCounter();
void kernel_KeQueryPerformanceFrequency();
void kernel_KeQuerySystemTime();
void kernel_KeRaiseIrqlToDpcLevel();
void kernel_KeRaiseIrqlToSynchLevel();
void kernel_KeReleaseMutant();
void kernel_KeReleaseSemaphore();
void kernel_KeRemoveByKeyDeviceQueue();
void kernel_KeRemoveDeviceQueue();
void kernel_KeRemoveEntryDeviceQueue();
void kernel_KeRemoveQueue();
void kernel_KeRemoveQueueDpc();
void kernel_KeResetEvent();
void kernel_KeRestoreFloatingPointState();
void kernel_KeResumeThread();
void kernel_KeRundownQueue();
void kernel_KeSaveFloatingPointState();
void kernel_KeSetBasePriorityThread();
void kernel_KeSetDisableBoostThread();
void kernel_KeSetEvent();
void kernel_KeSetEventBoostPriority();
void kernel_KeSetPriorityProcess();
void kernel_KeSetPriorityThread();
void kernel_KeSetTimer();
void kernel_KeSetTimerEx();
void kernel_KeStallExecutionProcessor();
void kernel_KeSuspendThread();
void kernel_KeSynchronizeExecution();
void kernel_KeSystemTime();
void kernel_KeTestAlertThread();
void kernel_KeTickCount();
void kernel_KeTimeIncrement();
void kernel_KeWaitForMultipleObjects();
void kernel_KeWaitForSingleObject();
void kernel_KfRaiseIrql();
void kernel_KfLowerIrql();
void kernel_KiBugCheckData();
void kernel_KiUnlockDispatcherDatabase();
void kernel_LaunchDataPage();
void kernel_MmAllocateContiguousMemory();
void kernel_MmAllocateContiguousMemoryEx();
void kernel_MmAllocateSystemMemory();
void kernel_MmClaimGpuInstanceMemory();
void kernel_MmCreateKernelStack();
void kernel_MmDeleteKernelStack();
void kernel_MmFreeContiguousMemory();
void kernel_MmFreeSystemMemory();
void kernel_MmGetPhysicalAddress();
void kernel_MmIsAddressValid();
void kernel_MmLockUnlockBufferPages();
void kernel_MmLockUnlockPhysicalPage();
void kernel_MmMapIoSpace();
void kernel_MmPersistContiguousMemory();
void kernel_MmQueryAddressProtect();
void kernel_MmQueryAllocationSize();
void kernel_MmQueryStatistics();
void kernel_MmSetAddressProtect();
void kernel_MmUnmapIoSpace();
void kernel_NtAllocateVirtualMemory();
void kernel_NtCancelTimer();
void kernel_NtClearEvent();
void kernel_NtClose();
void kernel_NtCreateDirectoryObject();
void kernel_NtCreateEvent();
void kernel_NtCreateFile();
void kernel_NtCreateIoCompletion();
void kernel_NtCreateMutant();
void kernel_NtCreateSemaphore();
void kernel_NtCreateTimer();
void kernel_NtDeleteFile();
void kernel_NtDeviceIoControlFile();
void kernel_NtDuplicateObject();
void kernel_NtFlushBuffersFile();
void kernel_NtFreeVirtualMemory();
void kernel_NtFsControlFile();
void kernel_NtOpenDirectoryObject();
void kernel_NtOpenFile();
void kernel_NtOpenSymbolicLinkObject();
void kernel_NtProtectVirtualMemory();
void kernel_NtPulseEvent();
void kernel_NtQueueApcThread();
void kernel_NtQueryDirectoryFile();
void kernel_NtQueryDirectoryObject();
void kernel_NtQueryEvent();
void kernel_NtQueryFullAttributesFile();
void kernel_NtQueryInformationFile();
void kernel_NtQueryIoCompletion();
void kernel_NtQueryMutant();
void kernel_NtQuerySemaphore();
void kernel_NtQuerySymbolicLinkObject();
void kernel_NtQueryTimer();
void kernel_NtQueryVirtualMemory();
void kernel_NtQueryVolumeInformationFile();
void kernel_NtReadFile();
void kernel_NtReadFileScatter();
void kernel_NtReleaseMutant();
void kernel_NtReleaseSemaphore();
void kernel_NtRemoveIoCompletion();
void kernel_NtResumeThread();
void kernel_NtSetEvent();
void kernel_NtSetInformationFile();
void kernel_NtSetIoCompletion();
void kernel_NtSetSystemTime();
void kernel_NtSetTimerEx();
void kernel_NtSignalAndWaitForSingleObjectEx();
void kernel_NtSuspendThread();
void kernel_NtUserIoApcDispatcher();
void kernel_NtWaitForSingleObject();
void kernel_NtWaitForSingleObjectEx();
void kernel_NtWaitForMultipleObjectsEx();
void kernel_NtWriteFile();
void kernel_NtWriteFileGather();
void kernel_NtYieldExecution();
void kernel_ObCreateObject();
void kernel_ObDirectoryObjectType();
void kernel_ObInsertObject();
void kernel_ObMakeTemporaryObject();
void kernel_ObOpenObjectByName();
void kernel_ObOpenObjectByPointer();
void kernel_ObpObjectHandleTable();
void kernel_ObReferenceObjectByHandle();
void kernel_ObReferenceObjectByName();
void kernel_ObReferenceObjectByPointer();
void kernel_ObSymbolicLinkObjectType();
void kernel_ObfDereferenceObject();
void kernel_ObfReferenceObject();
void kernel_PhyGetLinkState();
void kernel_PhyInitialize();
void kernel_PsCreateSystemThread();
void kernel_PsCreateSystemThreadEx();
void kernel_PsQueryStatistics();
void kernel_PsSetCreateThreadNotifyRoutine();
void kernel_PsTerminateSystemThread();
void kernel_PsThreadObjectType();
void kernel_RtlAnsiStringToUnicodeString();
void kernel_RtlAppendStringToString();
void kernel_RtlAppendUnicodeStringToString();
void kernel_RtlAppendUnicodeToString();
void kernel_RtlAssert();
void kernel_RtlCaptureContext();
void kernel_RtlCaptureStackBackTrace();
void kernel_RtlCharToInteger();
void kernel_RtlCompareMemory();
void kernel_RtlCompareMemoryUlong();
void kernel_RtlCompareString();
void kernel_RtlCompareUnicodeString();
void kernel_RtlCopyString();
void kernel_RtlCopyUnicodeString();
void kernel_RtlCreateUnicodeString();
void kernel_RtlDowncaseUnicodeChar();
void kernel_RtlDowncaseUnicodeString();
void kernel_RtlEnterCriticalSection();
void kernel_RtlEnterCriticalSectionAndRegion();
void kernel_RtlEqualString();
void kernel_RtlEqualUnicodeString();
void kernel_RtlExtendedIntegerMultiply();
void kernel_RtlExtendedLargeIntegerDivide();
void kernel_RtlExtendedMagicDivide();
void kernel_RtlFillMemory();
void kernel_RtlFillMemoryUlong();
void kernel_RtlFreeAnsiString();
void kernel_RtlFreeUnicodeString();
void kernel_RtlGetCallersAddress();
void kernel_RtlInitAnsiString();
void kernel_RtlInitUnicodeString();
void kernel_RtlInitializeCriticalSection();
void kernel_RtlIntegerToChar();
void kernel_RtlIntegerToUnicodeString();
void kernel_RtlLeaveCriticalSection();
void kernel_RtlLeaveCriticalSectionAndRegion();
void kernel_RtlLowerChar();
void kernel_RtlMapGenericMask();
void kernel_RtlMoveMemory();
void kernel_RtlMultiByteToUnicodeN();
void kernel_RtlMultiByteToUnicodeSize();
void kernel_RtlNtStatusToDosError();
void kernel_RtlRaiseException();
void kernel_RtlRaiseStatus();
void kernel_RtlTimeFieldsToTime();
void kernel_RtlTimeToTimeFields();
void kernel_RtlTryEnterCriticalSection();
void kernel_RtlUlongByteSwap();
void kernel_RtlUnicodeStringToAnsiString();
void kernel_RtlUnicodeStringToInteger();
void kernel_RtlUnicodeToMultiByteN();
void kernel_RtlUnicodeToMultiByteSize();
void kernel_RtlUnwind();
void kernel_RtlUpcaseUnicodeChar();
void kernel_RtlUpcaseUnicodeString();
void kernel_RtlUpcaseUnicodeToMultiByteN();
void kernel_RtlUpperChar();
void kernel_RtlUpperString();
void kernel_RtlUshortByteSwap();
void kernel_RtlWalkFrameChain();
void kernel_RtlZeroMemory();
void kernel_XboxEEPROMKey();
void kernel_XboxHardwareInfo();
void kernel_XboxHDKey();
void kernel_XboxKrnlVersion();
void kernel_XboxSignatureKey();
void kernel_XeImageFileName();
void kernel_XeLoadSection();
void kernel_XeUnloadSection();
void kernel_READ_PORT_BUFFER_UCHAR();
void kernel_READ_PORT_BUFFER_USHORT();
void kernel_READ_PORT_BUFFER_ULONG();
void kernel_WRITE_PORT_BUFFER_UCHAR();
void kernel_WRITE_PORT_BUFFER_USHORT();
void kernel_WRITE_PORT_BUFFER_ULONG();
void kernel_XcSHAInit();
void kernel_XcSHAUpdate();
void kernel_XcSHAFinal();
void kernel_XcRC4Key();
void kernel_XcRC4Crypt();
void kernel_XcHMAC();
void kernel_XcPKEncPublic();
void kernel_XcPKDecPrivate();
void kernel_XcPKGetKeyLen();
void kernel_XcVerifyPKCS1Signature();
void kernel_XcModExp();
void kernel_XcDESKeyParity();
void kernel_XcKeyTable();
void kernel_XcBlockCrypt();
void kernel_XcBlockCryptCBC();
void kernel_XcCryptService();
void kernel_XcUpdateCrypto();
void kernel_RtlRip();
void kernel_XboxLANKey();
void kernel_XboxAlternateSignatureKeys();
void kernel_XePublicKeyData();
void kernel_HalBootSMCVideoMode();
void kernel_IdexChannelObject();
void kernel_HalIsResetOrShutdownPending();
void kernel_IoMarkIrpMustComplete();
void kernel_HalInitiateShutdown();
void kernel_snprintf();
void kernel_sprintf();
void kernel_vsnprintf();
void kernel_vsprintf();
void kernel_HalEnableSecureTrayEject();
void kernel_HalWriteSMCScratchRegister();

View file

@ -1,366 +0,0 @@
AvGetSavedDataAddress 0x80000001
AvSendTVEncoderOption 0x80000002
AvSetDisplayMode 0x80000003
AvSetSavedDataAddress 0x80000004
DbgBreakPoint 0x80000005
DbgBreakPointWithStatus 0x80000006
DbgLoadImageSymbols 0x80000007
DbgPrint 0x80000008
HalReadSMCTrayState 0x80000009
DbgPrompt 0x8000000A
DbgUnLoadImageSymbols 0x8000000B
ExAcquireReadWriteLockExclusive 0x8000000C
ExAcquireReadWriteLockShared 0x8000000D
ExAllocatePool 0x8000000E
ExAllocatePoolWithTag 0x8000000F
ExEventObjectType 0x80000010
ExFreePool 0x80000011
ExInitializeReadWriteLock 0x80000012
ExInterlockedAddLargeInteger 0x80000013
ExInterlockedAddLargeStatistic 0x80000014
ExInterlockedCompareExchange64 0x80000015
ExMutantObjectType 0x80000016
ExQueryPoolBlockSize 0x80000017
ExQueryNonVolatileSetting 0x80000018
ExReadWriteRefurbInfo 0x80000019
ExRaiseException 0x8000001A
ExRaiseStatus 0x8000001B
ExReleaseReadWriteLock 0x8000001C
ExSaveNonVolatileSetting 0x8000001D
ExSemaphoreObjectType 0x8000001E
ExTimerObjectType 0x8000001F
ExfInterlockedInsertHeadList 0x80000020
ExfInterlockedInsertTailList 0x80000021
ExfInterlockedRemoveHeadList 0x80000022
FscGetCacheSize 0x80000023
FscInvalidateIdleBlocks 0x80000024
FscSetCacheSize 0x80000025
HalClearSoftwareInterrupt 0x80000026
HalDisableSystemInterrupt 0x80000027
HalDiskCachePartitionCount 0x80000028
HalDiskModelNumber 0x80000029
HalDiskSerialNumber 0x8000002A
HalEnableSystemInterrupt 0x8000002B
HalGetInterruptVector 0x8000002C
HalReadSMBusValue 0x8000002D
HalReadWritePCISpace 0x8000002E
HalRegisterShutdownNotification 0x8000002F
HalRequestSoftwareInterrupt 0x80000030
HalReturnToFirmware 0x80000031
HalWriteSMBusValue 0x80000032
InterlockedCompareExchange 0x80000033
InterlockedDecrement 0x80000034
InterlockedIncrement 0x80000035
InterlockedExchange 0x80000036
InterlockedExchangeAdd 0x80000037
InterlockedFlushSList 0x80000038
InterlockedPopEntrySList 0x80000039
InterlockedPushEntrySList 0x8000003A
IoAllocateIrp 0x8000003B
IoBuildAsynchronousFsdRequest 0x8000003C
IoBuildDeviceIoControlRequest 0x8000003D
IoBuildSynchronousFsdRequest 0x8000003E
IoCheckShareAccess 0x8000003F
IoCompletionObjectType 0x80000040
IoCreateDevice 0x80000041
IoCreateFile 0x80000042
IoCreateSymbolicLink 0x80000043
IoDeleteDevice 0x80000044
IoDeleteSymbolicLink 0x80000045
IoDeviceObjectType 0x80000046
IoFileObjectType 0x80000047
IoFreeIrp 0x80000048
IoInitializeIrp 0x80000049
IoInvalidDeviceRequest 0x8000004A
IoQueryFileInformation 0x8000004B
IoQueryVolumeInformation 0x8000004C
IoQueueThreadIrp 0x8000004D
IoRemoveShareAccess 0x8000004E
IoSetIoCompletion 0x8000004F
IoSetShareAccess 0x80000050
IoStartNextPacket 0x80000051
IoStartNextPacketByKey 0x80000052
IoStartPacket 0x80000053
IoSynchronousDeviceIoControlRequest 0x80000054
IoSynchronousFsdRequest 0x80000055
IofCallDriver 0x80000056
IofCompleteRequest 0x80000057
KdDebuggerEnabled 0x80000058
KdDebuggerNotPresent 0x80000059
IoDismountVolume 0x8000005A
IoDismountVolumeByName 0x8000005B
KeAlertResumeThread 0x8000005C
KeAlertThread 0x8000005D
KeBoostPriorityThread 0x8000005E
KeBugCheck 0x8000005F
KeBugCheckEx 0x80000060
KeCancelTimer 0x80000061
KeConnectInterrupt 0x80000062
KeDelayExecutionThread 0x80000063
KeDisconnectInterrupt 0x80000064
KeEnterCriticalRegion 0x80000065
MmGlobalData 0x80000066
KeGetCurrentIrql 0x80000067
KeGetCurrentThread 0x80000068
KeInitializeApc 0x80000069
KeInitializeDeviceQueue 0x8000006A
KeInitializeDpc 0x8000006B
KeInitializeEvent 0x8000006C
KeInitializeInterrupt 0x8000006D
KeInitializeMutant 0x8000006E
KeInitializeQueue 0x8000006F
KeInitializeSemaphore 0x80000070
KeInitializeTimerEx 0x80000071
KeInsertByKeyDeviceQueue 0x80000072
KeInsertDeviceQueue 0x80000073
KeInsertHeadQueue 0x80000074
KeInsertQueue 0x80000075
KeInsertQueueApc 0x80000076
KeInsertQueueDpc 0x80000077
KeInterruptTime 0x80000078
KeIsExecutingDpc 0x80000079
KeLeaveCriticalRegion 0x8000007A
KePulseEvent 0x8000007B
KeQueryBasePriorityThread 0x8000007C
KeQueryInterruptTime 0x8000007D
KeQueryPerformanceCounter 0x8000007E
KeQueryPerformanceFrequency 0x8000007F
KeQuerySystemTime 0x80000080
KeRaiseIrqlToDpcLevel 0x80000081
KeRaiseIrqlToSynchLevel 0x80000082
KeReleaseMutant 0x80000083
KeReleaseSemaphore 0x80000084
KeRemoveByKeyDeviceQueue 0x80000085
KeRemoveDeviceQueue 0x80000086
KeRemoveEntryDeviceQueue 0x80000087
KeRemoveQueue 0x80000088
KeRemoveQueueDpc 0x80000089
KeResetEvent 0x8000008A
KeRestoreFloatingPointState 0x8000008B
KeResumeThread 0x8000008C
KeRundownQueue 0x8000008D
KeSaveFloatingPointState 0x8000008E
KeSetBasePriorityThread 0x8000008F
KeSetDisableBoostThread 0x80000090
KeSetEvent 0x80000091
KeSetEventBoostPriority 0x80000092
KeSetPriorityProcess 0x80000093
KeSetPriorityThread 0x80000094
KeSetTimer 0x80000095
KeSetTimerEx 0x80000096
KeStallExecutionProcessor 0x80000097
KeSuspendThread 0x80000098
KeSynchronizeExecution 0x80000099
KeSystemTime 0x8000009A
KeTestAlertThread 0x8000009B
KeTickCount 0x8000009C
KeTimeIncrement 0x8000009D
KeWaitForMultipleObjects 0x8000009E
KeWaitForSingleObject 0x8000009F
KfRaiseIrql 0x800000A0
KfLowerIrql 0x800000A1
KiBugCheckData 0x800000A2
KiUnlockDispatcherDatabase 0x800000A3
LaunchDataPage 0x800000A4
MmAllocateContiguousMemory 0x800000A5
MmAllocateContiguousMemoryEx 0x800000A6
MmAllocateSystemMemory 0x800000A7
MmClaimGpuInstanceMemory 0x800000A8
MmCreateKernelStack 0x800000A9
MmDeleteKernelStack 0x800000AA
MmFreeContiguousMemory 0x800000AB
MmFreeSystemMemory 0x800000AC
MmGetPhysicalAddress 0x800000AD
MmIsAddressValid 0x800000AE
MmLockUnlockBufferPages 0x800000AF
MmLockUnlockPhysicalPage 0x800000B0
MmMapIoSpace 0x800000B1
MmPersistContiguousMemory 0x800000B2
MmQueryAddressProtect 0x800000B3
MmQueryAllocationSize 0x800000B4
MmQueryStatistics 0x800000B5
MmSetAddressProtect 0x800000B6
MmUnmapIoSpace 0x800000B7
NtAllocateVirtualMemory 0x800000B8
NtCancelTimer 0x800000B9
NtClearEvent 0x800000BA
NtClose 0x800000BB
NtCreateDirectoryObject 0x800000BC
NtCreateEvent 0x800000BD
NtCreateFile 0x800000BE
NtCreateIoCompletion 0x800000BF
NtCreateMutant 0x800000C0
NtCreateSemaphore 0x800000C1
NtCreateTimer 0x800000C2
NtDeleteFile 0x800000C3
NtDeviceIoControlFile 0x800000C4
NtDuplicateObject 0x800000C5
NtFlushBuffersFile 0x800000C6
NtFreeVirtualMemory 0x800000C7
NtFsControlFile 0x800000C8
NtOpenDirectoryObject 0x800000C9
NtOpenFile 0x800000CA
NtOpenSymbolicLinkObject 0x800000CB
NtProtectVirtualMemory 0x800000CC
NtPulseEvent 0x800000CD
NtQueueApcThread 0x800000CE
NtQueryDirectoryFile 0x800000CF
NtQueryDirectoryObject 0x800000D0
NtQueryEvent 0x800000D1
NtQueryFullAttributesFile 0x800000D2
NtQueryInformationFile 0x800000D3
NtQueryIoCompletion 0x800000D4
NtQueryMutant 0x800000D5
NtQuerySemaphore 0x800000D6
NtQuerySymbolicLinkObject 0x800000D7
NtQueryTimer 0x800000D8
NtQueryVirtualMemory 0x800000D9
NtQueryVolumeInformationFile 0x800000DA
NtReadFile 0x800000DB
NtReadFileScatter 0x800000DC
NtReleaseMutant 0x800000DD
NtReleaseSemaphore 0x800000DE
NtRemoveIoCompletion 0x800000DF
NtResumeThread 0x800000E0
NtSetEvent 0x800000E1
NtSetInformationFile 0x800000E2
NtSetIoCompletion 0x800000E3
NtSetSystemTime 0x800000E4
NtSetTimerEx 0x800000E5
NtSignalAndWaitForSingleObjectEx 0x800000E6
NtSuspendThread 0x800000E7
NtUserIoApcDispatcher 0x800000E8
NtWaitForSingleObject 0x800000E9
NtWaitForSingleObjectEx 0x800000EA
NtWaitForMultipleObjectsEx 0x800000EB
NtWriteFile 0x800000EC
NtWriteFileGather 0x800000ED
NtYieldExecution 0x800000EE
ObCreateObject 0x800000EF
ObDirectoryObjectType 0x800000F0
ObInsertObject 0x800000F1
ObMakeTemporaryObject 0x800000F2
ObOpenObjectByName 0x800000F3
ObOpenObjectByPointer 0x800000F4
ObpObjectHandleTable 0x800000F5
ObReferenceObjectByHandle 0x800000F6
ObReferenceObjectByName 0x800000F7
ObReferenceObjectByPointer 0x800000F8
ObSymbolicLinkObjectType 0x800000F9
ObfDereferenceObject 0x800000FA
ObfReferenceObject 0x800000FB
PhyGetLinkState 0x800000FC
PhyInitialize 0x800000FD
PsCreateSystemThread 0x800000FE
PsCreateSystemThreadEx 0x800000FF
PsQueryStatistics 0x80000100
PsSetCreateThreadNotifyRoutine 0x80000101
PsTerminateSystemThread 0x80000102
PsThreadObjectType 0x80000103
RtlAnsiStringToUnicodeString 0x80000104
RtlAppendStringToString 0x80000105
RtlAppendUnicodeStringToString 0x80000106
RtlAppendUnicodeToString 0x80000107
RtlAssert 0x80000108
RtlCaptureContext 0x80000109
RtlCaptureStackBackTrace 0x8000010A
RtlCharToInteger 0x8000010B
RtlCompareMemory 0x8000010C
RtlCompareMemoryUlong 0x8000010D
RtlCompareString 0x8000010E
RtlCompareUnicodeString 0x8000010F
RtlCopyString 0x80000110
RtlCopyUnicodeString 0x80000111
RtlCreateUnicodeString 0x80000112
RtlDowncaseUnicodeChar 0x80000113
RtlDowncaseUnicodeString 0x80000114
RtlEnterCriticalSection 0x80000115
RtlEnterCriticalSectionAndRegion 0x80000116
RtlEqualString 0x80000117
RtlEqualUnicodeString 0x80000118
RtlExtendedIntegerMultiply 0x80000119
RtlExtendedLargeIntegerDivide 0x8000011A
RtlExtendedMagicDivide 0x8000011B
RtlFillMemory 0x8000011C
RtlFillMemoryUlong 0x8000011D
RtlFreeAnsiString 0x8000011E
RtlFreeUnicodeString 0x8000011F
RtlGetCallersAddress 0x80000120
RtlInitAnsiString 0x80000121
RtlInitUnicodeString 0x80000122
RtlInitializeCriticalSection 0x80000123
RtlIntegerToChar 0x80000124
RtlIntegerToUnicodeString 0x80000125
RtlLeaveCriticalSection 0x80000126
RtlLeaveCriticalSectionAndRegion 0x80000127
RtlLowerChar 0x80000128
RtlMapGenericMask 0x80000129
RtlMoveMemory 0x8000012A
RtlMultiByteToUnicodeN 0x8000012B
RtlMultiByteToUnicodeSize 0x8000012C
RtlNtStatusToDosError 0x8000012D
RtlRaiseException 0x8000012E
RtlRaiseStatus 0x8000012F
RtlTimeFieldsToTime 0x80000130
RtlTimeToTimeFields 0x80000131
RtlTryEnterCriticalSection 0x80000132
RtlUlongByteSwap 0x80000133
RtlUnicodeStringToAnsiString 0x80000134
RtlUnicodeStringToInteger 0x80000135
RtlUnicodeToMultiByteN 0x80000136
RtlUnicodeToMultiByteSize 0x80000137
RtlUnwind 0x80000138
RtlUpcaseUnicodeChar 0x80000139
RtlUpcaseUnicodeString 0x8000013A
RtlUpcaseUnicodeToMultiByteN 0x8000013B
RtlUpperChar 0x8000013C
RtlUpperString 0x8000013D
RtlUshortByteSwap 0x8000013E
RtlWalkFrameChain 0x8000013F
RtlZeroMemory 0x80000140
XboxEEPROMKey 0x80000141
XboxHardwareInfo 0x80000142
XboxHDKey 0x80000143
XboxKrnlVersion 0x80000144
XboxSignatureKey 0x80000145
XeImageFileName 0x80000146
XeLoadSection 0x80000147
XeUnloadSection 0x80000148
READ_PORT_BUFFER_UCHAR 0x80000149
READ_PORT_BUFFER_USHORT 0x8000014A
READ_PORT_BUFFER_ULONG 0x8000014B
WRITE_PORT_BUFFER_UCHAR 0x8000014C
WRITE_PORT_BUFFER_USHORT 0x8000014D
WRITE_PORT_BUFFER_ULONG 0x8000014E
XcSHAInit 0x8000014F
XcSHAUpdate 0x80000150
XcSHAFinal 0x80000151
XcRC4Key 0x80000152
XcRC4Crypt 0x80000153
XcHMAC 0x80000154
XcPKEncPublic 0x80000155
XcPKDecPrivate 0x80000156
XcPKGetKeyLen 0x80000157
XcVerifyPKCS1Signature 0x80000158
XcModExp 0x80000159
XcDESKeyParity 0x8000015A
XcKeyTable 0x8000015B
XcBlockCrypt 0x8000015C
XcBlockCryptCBC 0x8000015D
XcCryptService 0x8000015E
XcUpdateCrypto 0x8000015F
RtlRip 0x80000160
XboxLANKey 0x80000161
XboxAlternateSignatureKeys 0x80000162
XePublicKeyData 0x80000163
HalBootSMCVideoMode 0x80000164
IdexChannelObject 0x80000165
HalIsResetOrShutdownPending 0x80000166
IoMarkIrpMustComplete 0x80000167
HalInitiateShutdown 0x80000168
snprintf 0x80000169
sprintf 0x8000016A
vsnprintf 0x8000016B
vsprintf 0x8000016C
HalEnableSecureTrayEject 0x8000016D
HalWriteSMCScratchRegister 0x8000016E

View file

@ -1,371 +0,0 @@
void *mapKernel(unsigned long id) {
switch(id) {
case 0x80000001: return (void *) kernel_AvGetSavedDataAddress;
case 0x80000002: return (void *) kernel_AvSendTVEncoderOption;
case 0x80000003: return (void *) kernel_AvSetDisplayMode;
case 0x80000004: return (void *) kernel_AvSetSavedDataAddress;
case 0x80000005: return (void *) kernel_DbgBreakPoint;
case 0x80000006: return (void *) kernel_DbgBreakPointWithStatus;
case 0x80000007: return (void *) kernel_DbgLoadImageSymbols;
case 0x80000008: return (void *) kernel_DbgPrint;
case 0x80000009: return (void *) kernel_HalReadSMCTrayState;
case 0x8000000A: return (void *) kernel_DbgPrompt;
case 0x8000000B: return (void *) kernel_DbgUnLoadImageSymbols;
case 0x8000000C: return (void *) kernel_ExAcquireReadWriteLockExclusive;
case 0x8000000D: return (void *) kernel_ExAcquireReadWriteLockShared;
case 0x8000000E: return (void *) kernel_ExAllocatePool;
case 0x8000000F: return (void *) kernel_ExAllocatePoolWithTag;
case 0x80000010: return (void *) kernel_ExEventObjectType;
case 0x80000011: return (void *) kernel_ExFreePool;
case 0x80000012: return (void *) kernel_ExInitializeReadWriteLock;
case 0x80000013: return (void *) kernel_ExInterlockedAddLargeInteger;
case 0x80000014: return (void *) kernel_ExInterlockedAddLargeStatistic;
case 0x80000015: return (void *) kernel_ExInterlockedCompareExchange64;
case 0x80000016: return (void *) kernel_ExMutantObjectType;
case 0x80000017: return (void *) kernel_ExQueryPoolBlockSize;
case 0x80000018: return (void *) kernel_ExQueryNonVolatileSetting;
case 0x80000019: return (void *) kernel_ExReadWriteRefurbInfo;
case 0x8000001A: return (void *) kernel_ExRaiseException;
case 0x8000001B: return (void *) kernel_ExRaiseStatus;
case 0x8000001C: return (void *) kernel_ExReleaseReadWriteLock;
case 0x8000001D: return (void *) kernel_ExSaveNonVolatileSetting;
case 0x8000001E: return (void *) kernel_ExSemaphoreObjectType;
case 0x8000001F: return (void *) kernel_ExTimerObjectType;
case 0x80000020: return (void *) kernel_ExfInterlockedInsertHeadList;
case 0x80000021: return (void *) kernel_ExfInterlockedInsertTailList;
case 0x80000022: return (void *) kernel_ExfInterlockedRemoveHeadList;
case 0x80000023: return (void *) kernel_FscGetCacheSize;
case 0x80000024: return (void *) kernel_FscInvalidateIdleBlocks;
case 0x80000025: return (void *) kernel_FscSetCacheSize;
case 0x80000026: return (void *) kernel_HalClearSoftwareInterrupt;
case 0x80000027: return (void *) kernel_HalDisableSystemInterrupt;
case 0x80000028: return (void *) kernel_HalDiskCachePartitionCount;
case 0x80000029: return (void *) kernel_HalDiskModelNumber;
case 0x8000002A: return (void *) kernel_HalDiskSerialNumber;
case 0x8000002B: return (void *) kernel_HalEnableSystemInterrupt;
case 0x8000002C: return (void *) kernel_HalGetInterruptVector;
case 0x8000002D: return (void *) kernel_HalReadSMBusValue;
case 0x8000002E: return (void *) kernel_HalReadWritePCISpace;
case 0x8000002F: return (void *) kernel_HalRegisterShutdownNotification;
case 0x80000030: return (void *) kernel_HalRequestSoftwareInterrupt;
case 0x80000031: return (void *) kernel_HalReturnToFirmware;
case 0x80000032: return (void *) kernel_HalWriteSMBusValue;
case 0x80000033: return (void *) kernel_InterlockedCompareExchange;
case 0x80000034: return (void *) kernel_InterlockedDecrement;
case 0x80000035: return (void *) kernel_InterlockedIncrement;
case 0x80000036: return (void *) kernel_InterlockedExchange;
case 0x80000037: return (void *) kernel_InterlockedExchangeAdd;
case 0x80000038: return (void *) kernel_InterlockedFlushSList;
case 0x80000039: return (void *) kernel_InterlockedPopEntrySList;
case 0x8000003A: return (void *) kernel_InterlockedPushEntrySList;
case 0x8000003B: return (void *) kernel_IoAllocateIrp;
case 0x8000003C: return (void *) kernel_IoBuildAsynchronousFsdRequest;
case 0x8000003D: return (void *) kernel_IoBuildDeviceIoControlRequest;
case 0x8000003E: return (void *) kernel_IoBuildSynchronousFsdRequest;
case 0x8000003F: return (void *) kernel_IoCheckShareAccess;
case 0x80000040: return (void *) kernel_IoCompletionObjectType;
case 0x80000041: return (void *) kernel_IoCreateDevice;
case 0x80000042: return (void *) kernel_IoCreateFile;
case 0x80000043: return (void *) kernel_IoCreateSymbolicLink;
case 0x80000044: return (void *) kernel_IoDeleteDevice;
case 0x80000045: return (void *) kernel_IoDeleteSymbolicLink;
case 0x80000046: return (void *) kernel_IoDeviceObjectType;
case 0x80000047: return (void *) kernel_IoFileObjectType;
case 0x80000048: return (void *) kernel_IoFreeIrp;
case 0x80000049: return (void *) kernel_IoInitializeIrp;
case 0x8000004A: return (void *) kernel_IoInvalidDeviceRequest;
case 0x8000004B: return (void *) kernel_IoQueryFileInformation;
case 0x8000004C: return (void *) kernel_IoQueryVolumeInformation;
case 0x8000004D: return (void *) kernel_IoQueueThreadIrp;
case 0x8000004E: return (void *) kernel_IoRemoveShareAccess;
case 0x8000004F: return (void *) kernel_IoSetIoCompletion;
case 0x80000050: return (void *) kernel_IoSetShareAccess;
case 0x80000051: return (void *) kernel_IoStartNextPacket;
case 0x80000052: return (void *) kernel_IoStartNextPacketByKey;
case 0x80000053: return (void *) kernel_IoStartPacket;
case 0x80000054: return (void *) kernel_IoSynchronousDeviceIoControlRequest;
case 0x80000055: return (void *) kernel_IoSynchronousFsdRequest;
case 0x80000056: return (void *) kernel_IofCallDriver;
case 0x80000057: return (void *) kernel_IofCompleteRequest;
case 0x80000058: return (void *) kernel_KdDebuggerEnabled;
case 0x80000059: return (void *) kernel_KdDebuggerNotPresent;
case 0x8000005A: return (void *) kernel_IoDismountVolume;
case 0x8000005B: return (void *) kernel_IoDismountVolumeByName;
case 0x8000005C: return (void *) kernel_KeAlertResumeThread;
case 0x8000005D: return (void *) kernel_KeAlertThread;
case 0x8000005E: return (void *) kernel_KeBoostPriorityThread;
case 0x8000005F: return (void *) kernel_KeBugCheck;
case 0x80000060: return (void *) kernel_KeBugCheckEx;
case 0x80000061: return (void *) kernel_KeCancelTimer;
case 0x80000062: return (void *) kernel_KeConnectInterrupt;
case 0x80000063: return (void *) kernel_KeDelayExecutionThread;
case 0x80000064: return (void *) kernel_KeDisconnectInterrupt;
case 0x80000065: return (void *) kernel_KeEnterCriticalRegion;
case 0x80000066: return (void *) kernel_MmGlobalData;
case 0x80000067: return (void *) kernel_KeGetCurrentIrql;
case 0x80000068: return (void *) kernel_KeGetCurrentThread;
case 0x80000069: return (void *) kernel_KeInitializeApc;
case 0x8000006A: return (void *) kernel_KeInitializeDeviceQueue;
case 0x8000006B: return (void *) kernel_KeInitializeDpc;
case 0x8000006C: return (void *) kernel_KeInitializeEvent;
case 0x8000006D: return (void *) kernel_KeInitializeInterrupt;
case 0x8000006E: return (void *) kernel_KeInitializeMutant;
case 0x8000006F: return (void *) kernel_KeInitializeQueue;
case 0x80000070: return (void *) kernel_KeInitializeSemaphore;
case 0x80000071: return (void *) kernel_KeInitializeTimerEx;
case 0x80000072: return (void *) kernel_KeInsertByKeyDeviceQueue;
case 0x80000073: return (void *) kernel_KeInsertDeviceQueue;
case 0x80000074: return (void *) kernel_KeInsertHeadQueue;
case 0x80000075: return (void *) kernel_KeInsertQueue;
case 0x80000076: return (void *) kernel_KeInsertQueueApc;
case 0x80000077: return (void *) kernel_KeInsertQueueDpc;
case 0x80000078: return (void *) kernel_KeInterruptTime;
case 0x80000079: return (void *) kernel_KeIsExecutingDpc;
case 0x8000007A: return (void *) kernel_KeLeaveCriticalRegion;
case 0x8000007B: return (void *) kernel_KePulseEvent;
case 0x8000007C: return (void *) kernel_KeQueryBasePriorityThread;
case 0x8000007D: return (void *) kernel_KeQueryInterruptTime;
case 0x8000007E: return (void *) kernel_KeQueryPerformanceCounter;
case 0x8000007F: return (void *) kernel_KeQueryPerformanceFrequency;
case 0x80000080: return (void *) kernel_KeQuerySystemTime;
case 0x80000081: return (void *) kernel_KeRaiseIrqlToDpcLevel;
case 0x80000082: return (void *) kernel_KeRaiseIrqlToSynchLevel;
case 0x80000083: return (void *) kernel_KeReleaseMutant;
case 0x80000084: return (void *) kernel_KeReleaseSemaphore;
case 0x80000085: return (void *) kernel_KeRemoveByKeyDeviceQueue;
case 0x80000086: return (void *) kernel_KeRemoveDeviceQueue;
case 0x80000087: return (void *) kernel_KeRemoveEntryDeviceQueue;
case 0x80000088: return (void *) kernel_KeRemoveQueue;
case 0x80000089: return (void *) kernel_KeRemoveQueueDpc;
case 0x8000008A: return (void *) kernel_KeResetEvent;
case 0x8000008B: return (void *) kernel_KeRestoreFloatingPointState;
case 0x8000008C: return (void *) kernel_KeResumeThread;
case 0x8000008D: return (void *) kernel_KeRundownQueue;
case 0x8000008E: return (void *) kernel_KeSaveFloatingPointState;
case 0x8000008F: return (void *) kernel_KeSetBasePriorityThread;
case 0x80000090: return (void *) kernel_KeSetDisableBoostThread;
case 0x80000091: return (void *) kernel_KeSetEvent;
case 0x80000092: return (void *) kernel_KeSetEventBoostPriority;
case 0x80000093: return (void *) kernel_KeSetPriorityProcess;
case 0x80000094: return (void *) kernel_KeSetPriorityThread;
case 0x80000095: return (void *) kernel_KeSetTimer;
case 0x80000096: return (void *) kernel_KeSetTimerEx;
case 0x80000097: return (void *) kernel_KeStallExecutionProcessor;
case 0x80000098: return (void *) kernel_KeSuspendThread;
case 0x80000099: return (void *) kernel_KeSynchronizeExecution;
case 0x8000009A: return (void *) kernel_KeSystemTime;
case 0x8000009B: return (void *) kernel_KeTestAlertThread;
case 0x8000009C: return (void *) kernel_KeTickCount;
case 0x8000009D: return (void *) kernel_KeTimeIncrement;
case 0x8000009E: return (void *) kernel_KeWaitForMultipleObjects;
case 0x8000009F: return (void *) kernel_KeWaitForSingleObject;
case 0x800000A0: return (void *) kernel_KfRaiseIrql;
case 0x800000A1: return (void *) kernel_KfLowerIrql;
case 0x800000A2: return (void *) kernel_KiBugCheckData;
case 0x800000A3: return (void *) kernel_KiUnlockDispatcherDatabase;
case 0x800000A4: return (void *) kernel_LaunchDataPage;
case 0x800000A5: return (void *) kernel_MmAllocateContiguousMemory;
case 0x800000A6: return (void *) kernel_MmAllocateContiguousMemoryEx;
case 0x800000A7: return (void *) kernel_MmAllocateSystemMemory;
case 0x800000A8: return (void *) kernel_MmClaimGpuInstanceMemory;
case 0x800000A9: return (void *) kernel_MmCreateKernelStack;
case 0x800000AA: return (void *) kernel_MmDeleteKernelStack;
case 0x800000AB: return (void *) kernel_MmFreeContiguousMemory;
case 0x800000AC: return (void *) kernel_MmFreeSystemMemory;
case 0x800000AD: return (void *) kernel_MmGetPhysicalAddress;
case 0x800000AE: return (void *) kernel_MmIsAddressValid;
case 0x800000AF: return (void *) kernel_MmLockUnlockBufferPages;
case 0x800000B0: return (void *) kernel_MmLockUnlockPhysicalPage;
case 0x800000B1: return (void *) kernel_MmMapIoSpace;
case 0x800000B2: return (void *) kernel_MmPersistContiguousMemory;
case 0x800000B3: return (void *) kernel_MmQueryAddressProtect;
case 0x800000B4: return (void *) kernel_MmQueryAllocationSize;
case 0x800000B5: return (void *) kernel_MmQueryStatistics;
case 0x800000B6: return (void *) kernel_MmSetAddressProtect;
case 0x800000B7: return (void *) kernel_MmUnmapIoSpace;
case 0x800000B8: return (void *) kernel_NtAllocateVirtualMemory;
case 0x800000B9: return (void *) kernel_NtCancelTimer;
case 0x800000BA: return (void *) kernel_NtClearEvent;
case 0x800000BB: return (void *) kernel_NtClose;
case 0x800000BC: return (void *) kernel_NtCreateDirectoryObject;
case 0x800000BD: return (void *) kernel_NtCreateEvent;
case 0x800000BE: return (void *) kernel_NtCreateFile;
case 0x800000BF: return (void *) kernel_NtCreateIoCompletion;
case 0x800000C0: return (void *) kernel_NtCreateMutant;
case 0x800000C1: return (void *) kernel_NtCreateSemaphore;
case 0x800000C2: return (void *) kernel_NtCreateTimer;
case 0x800000C3: return (void *) kernel_NtDeleteFile;
case 0x800000C4: return (void *) kernel_NtDeviceIoControlFile;
case 0x800000C5: return (void *) kernel_NtDuplicateObject;
case 0x800000C6: return (void *) kernel_NtFlushBuffersFile;
case 0x800000C7: return (void *) kernel_NtFreeVirtualMemory;
case 0x800000C8: return (void *) kernel_NtFsControlFile;
case 0x800000C9: return (void *) kernel_NtOpenDirectoryObject;
case 0x800000CA: return (void *) kernel_NtOpenFile;
case 0x800000CB: return (void *) kernel_NtOpenSymbolicLinkObject;
case 0x800000CC: return (void *) kernel_NtProtectVirtualMemory;
case 0x800000CD: return (void *) kernel_NtPulseEvent;
case 0x800000CE: return (void *) kernel_NtQueueApcThread;
case 0x800000CF: return (void *) kernel_NtQueryDirectoryFile;
case 0x800000D0: return (void *) kernel_NtQueryDirectoryObject;
case 0x800000D1: return (void *) kernel_NtQueryEvent;
case 0x800000D2: return (void *) kernel_NtQueryFullAttributesFile;
case 0x800000D3: return (void *) kernel_NtQueryInformationFile;
case 0x800000D4: return (void *) kernel_NtQueryIoCompletion;
case 0x800000D5: return (void *) kernel_NtQueryMutant;
case 0x800000D6: return (void *) kernel_NtQuerySemaphore;
case 0x800000D7: return (void *) kernel_NtQuerySymbolicLinkObject;
case 0x800000D8: return (void *) kernel_NtQueryTimer;
case 0x800000D9: return (void *) kernel_NtQueryVirtualMemory;
case 0x800000DA: return (void *) kernel_NtQueryVolumeInformationFile;
case 0x800000DB: return (void *) kernel_NtReadFile;
case 0x800000DC: return (void *) kernel_NtReadFileScatter;
case 0x800000DD: return (void *) kernel_NtReleaseMutant;
case 0x800000DE: return (void *) kernel_NtReleaseSemaphore;
case 0x800000DF: return (void *) kernel_NtRemoveIoCompletion;
case 0x800000E0: return (void *) kernel_NtResumeThread;
case 0x800000E1: return (void *) kernel_NtSetEvent;
case 0x800000E2: return (void *) kernel_NtSetInformationFile;
case 0x800000E3: return (void *) kernel_NtSetIoCompletion;
case 0x800000E4: return (void *) kernel_NtSetSystemTime;
case 0x800000E5: return (void *) kernel_NtSetTimerEx;
case 0x800000E6: return (void *) kernel_NtSignalAndWaitForSingleObjectEx;
case 0x800000E7: return (void *) kernel_NtSuspendThread;
case 0x800000E8: return (void *) kernel_NtUserIoApcDispatcher;
case 0x800000E9: return (void *) kernel_NtWaitForSingleObject;
case 0x800000EA: return (void *) kernel_NtWaitForSingleObjectEx;
case 0x800000EB: return (void *) kernel_NtWaitForMultipleObjectsEx;
case 0x800000EC: return (void *) kernel_NtWriteFile;
case 0x800000ED: return (void *) kernel_NtWriteFileGather;
case 0x800000EE: return (void *) kernel_NtYieldExecution;
case 0x800000EF: return (void *) kernel_ObCreateObject;
case 0x800000F0: return (void *) kernel_ObDirectoryObjectType;
case 0x800000F1: return (void *) kernel_ObInsertObject;
case 0x800000F2: return (void *) kernel_ObMakeTemporaryObject;
case 0x800000F3: return (void *) kernel_ObOpenObjectByName;
case 0x800000F4: return (void *) kernel_ObOpenObjectByPointer;
case 0x800000F5: return (void *) kernel_ObpObjectHandleTable;
case 0x800000F6: return (void *) kernel_ObReferenceObjectByHandle;
case 0x800000F7: return (void *) kernel_ObReferenceObjectByName;
case 0x800000F8: return (void *) kernel_ObReferenceObjectByPointer;
case 0x800000F9: return (void *) kernel_ObSymbolicLinkObjectType;
case 0x800000FA: return (void *) kernel_ObfDereferenceObject;
case 0x800000FB: return (void *) kernel_ObfReferenceObject;
case 0x800000FC: return (void *) kernel_PhyGetLinkState;
case 0x800000FD: return (void *) kernel_PhyInitialize;
case 0x800000FE: return (void *) kernel_PsCreateSystemThread;
case 0x800000FF: return (void *) kernel_PsCreateSystemThreadEx;
case 0x80000100: return (void *) kernel_PsQueryStatistics;
case 0x80000101: return (void *) kernel_PsSetCreateThreadNotifyRoutine;
case 0x80000102: return (void *) kernel_PsTerminateSystemThread;
case 0x80000103: return (void *) kernel_PsThreadObjectType;
case 0x80000104: return (void *) kernel_RtlAnsiStringToUnicodeString;
case 0x80000105: return (void *) kernel_RtlAppendStringToString;
case 0x80000106: return (void *) kernel_RtlAppendUnicodeStringToString;
case 0x80000107: return (void *) kernel_RtlAppendUnicodeToString;
case 0x80000108: return (void *) kernel_RtlAssert;
case 0x80000109: return (void *) kernel_RtlCaptureContext;
case 0x8000010A: return (void *) kernel_RtlCaptureStackBackTrace;
case 0x8000010B: return (void *) kernel_RtlCharToInteger;
case 0x8000010C: return (void *) kernel_RtlCompareMemory;
case 0x8000010D: return (void *) kernel_RtlCompareMemoryUlong;
case 0x8000010E: return (void *) kernel_RtlCompareString;
case 0x8000010F: return (void *) kernel_RtlCompareUnicodeString;
case 0x80000110: return (void *) kernel_RtlCopyString;
case 0x80000111: return (void *) kernel_RtlCopyUnicodeString;
case 0x80000112: return (void *) kernel_RtlCreateUnicodeString;
case 0x80000113: return (void *) kernel_RtlDowncaseUnicodeChar;
case 0x80000114: return (void *) kernel_RtlDowncaseUnicodeString;
case 0x80000115: return (void *) kernel_RtlEnterCriticalSection;
case 0x80000116: return (void *) kernel_RtlEnterCriticalSectionAndRegion;
case 0x80000117: return (void *) kernel_RtlEqualString;
case 0x80000118: return (void *) kernel_RtlEqualUnicodeString;
case 0x80000119: return (void *) kernel_RtlExtendedIntegerMultiply;
case 0x8000011A: return (void *) kernel_RtlExtendedLargeIntegerDivide;
case 0x8000011B: return (void *) kernel_RtlExtendedMagicDivide;
case 0x8000011C: return (void *) kernel_RtlFillMemory;
case 0x8000011D: return (void *) kernel_RtlFillMemoryUlong;
case 0x8000011E: return (void *) kernel_RtlFreeAnsiString;
case 0x8000011F: return (void *) kernel_RtlFreeUnicodeString;
case 0x80000120: return (void *) kernel_RtlGetCallersAddress;
case 0x80000121: return (void *) kernel_RtlInitAnsiString;
case 0x80000122: return (void *) kernel_RtlInitUnicodeString;
case 0x80000123: return (void *) kernel_RtlInitializeCriticalSection;
case 0x80000124: return (void *) kernel_RtlIntegerToChar;
case 0x80000125: return (void *) kernel_RtlIntegerToUnicodeString;
case 0x80000126: return (void *) kernel_RtlLeaveCriticalSection;
case 0x80000127: return (void *) kernel_RtlLeaveCriticalSectionAndRegion;
case 0x80000128: return (void *) kernel_RtlLowerChar;
case 0x80000129: return (void *) kernel_RtlMapGenericMask;
case 0x8000012A: return (void *) kernel_RtlMoveMemory;
case 0x8000012B: return (void *) kernel_RtlMultiByteToUnicodeN;
case 0x8000012C: return (void *) kernel_RtlMultiByteToUnicodeSize;
case 0x8000012D: return (void *) kernel_RtlNtStatusToDosError;
case 0x8000012E: return (void *) kernel_RtlRaiseException;
case 0x8000012F: return (void *) kernel_RtlRaiseStatus;
case 0x80000130: return (void *) kernel_RtlTimeFieldsToTime;
case 0x80000131: return (void *) kernel_RtlTimeToTimeFields;
case 0x80000132: return (void *) kernel_RtlTryEnterCriticalSection;
case 0x80000133: return (void *) kernel_RtlUlongByteSwap;
case 0x80000134: return (void *) kernel_RtlUnicodeStringToAnsiString;
case 0x80000135: return (void *) kernel_RtlUnicodeStringToInteger;
case 0x80000136: return (void *) kernel_RtlUnicodeToMultiByteN;
case 0x80000137: return (void *) kernel_RtlUnicodeToMultiByteSize;
case 0x80000138: return (void *) kernel_RtlUnwind;
case 0x80000139: return (void *) kernel_RtlUpcaseUnicodeChar;
case 0x8000013A: return (void *) kernel_RtlUpcaseUnicodeString;
case 0x8000013B: return (void *) kernel_RtlUpcaseUnicodeToMultiByteN;
case 0x8000013C: return (void *) kernel_RtlUpperChar;
case 0x8000013D: return (void *) kernel_RtlUpperString;
case 0x8000013E: return (void *) kernel_RtlUshortByteSwap;
case 0x8000013F: return (void *) kernel_RtlWalkFrameChain;
case 0x80000140: return (void *) kernel_RtlZeroMemory;
case 0x80000141: return (void *) kernel_XboxEEPROMKey;
case 0x80000142: return (void *) kernel_XboxHardwareInfo;
case 0x80000143: return (void *) kernel_XboxHDKey;
case 0x80000144: return (void *) kernel_XboxKrnlVersion;
case 0x80000145: return (void *) kernel_XboxSignatureKey;
case 0x80000146: return (void *) kernel_XeImageFileName;
case 0x80000147: return (void *) kernel_XeLoadSection;
case 0x80000148: return (void *) kernel_XeUnloadSection;
case 0x80000149: return (void *) kernel_READ_PORT_BUFFER_UCHAR;
case 0x8000014A: return (void *) kernel_READ_PORT_BUFFER_USHORT;
case 0x8000014B: return (void *) kernel_READ_PORT_BUFFER_ULONG;
case 0x8000014C: return (void *) kernel_WRITE_PORT_BUFFER_UCHAR;
case 0x8000014D: return (void *) kernel_WRITE_PORT_BUFFER_USHORT;
case 0x8000014E: return (void *) kernel_WRITE_PORT_BUFFER_ULONG;
case 0x8000014F: return (void *) kernel_XcSHAInit;
case 0x80000150: return (void *) kernel_XcSHAUpdate;
case 0x80000151: return (void *) kernel_XcSHAFinal;
case 0x80000152: return (void *) kernel_XcRC4Key;
case 0x80000153: return (void *) kernel_XcRC4Crypt;
case 0x80000154: return (void *) kernel_XcHMAC;
case 0x80000155: return (void *) kernel_XcPKEncPublic;
case 0x80000156: return (void *) kernel_XcPKDecPrivate;
case 0x80000157: return (void *) kernel_XcPKGetKeyLen;
case 0x80000158: return (void *) kernel_XcVerifyPKCS1Signature;
case 0x80000159: return (void *) kernel_XcModExp;
case 0x8000015A: return (void *) kernel_XcDESKeyParity;
case 0x8000015B: return (void *) kernel_XcKeyTable;
case 0x8000015C: return (void *) kernel_XcBlockCrypt;
case 0x8000015D: return (void *) kernel_XcBlockCryptCBC;
case 0x8000015E: return (void *) kernel_XcCryptService;
case 0x8000015F: return (void *) kernel_XcUpdateCrypto;
case 0x80000160: return (void *) kernel_RtlRip;
case 0x80000161: return (void *) kernel_XboxLANKey;
case 0x80000162: return (void *) kernel_XboxAlternateSignatureKeys;
case 0x80000163: return (void *) kernel_XePublicKeyData;
case 0x80000164: return (void *) kernel_HalBootSMCVideoMode;
case 0x80000165: return (void *) kernel_IdexChannelObject;
case 0x80000166: return (void *) kernel_HalIsResetOrShutdownPending;
case 0x80000167: return (void *) kernel_IoMarkIrpMustComplete;
case 0x80000168: return (void *) kernel_HalInitiateShutdown;
case 0x80000169: return (void *) kernel_snprintf;
case 0x8000016A: return (void *) kernel_sprintf;
case 0x8000016B: return (void *) kernel_vsnprintf;
case 0x8000016C: return (void *) kernel_vsprintf;
case 0x8000016D: return (void *) kernel_HalEnableSecureTrayEject;
case 0x8000016E: return (void *) kernel_HalWriteSMCScratchRegister;
default: return (void *) 0;
}
}

View file

@ -1,18 +0,0 @@
header = file('kernel.h', 'w')
source = file('kernel.c', 'w')
mapping = file('mapping.c', 'w')
print >>header, 'void *mapKernel(unsigned long id);'
print >>header
print >>mapping, 'void *mapKernel(unsigned long id) {'
print >>mapping, '\tswitch(id) {'
for line in file('kernel.imp', 'r'):
name, addr = [x.strip() for x in line.split(' ', 1)]
print >>source, 'void kernel_%s() { printf("Stub for %s!\n"); exit(0); }' % (name, name)
print >>source
print >>header, 'void kernel_%s();' % name
print >>mapping, '\t\tcase %s: return (void *) kernel_%s;' % (addr, name)
print >>mapping, '\t\tdefault: return (void *) 0;'
print >>mapping, '\t}'
print >>mapping, '}'

156
pe.py
View file

@ -1,156 +0,0 @@
from struct import pack
class Pe(object):
def __init__(self, xbe):
self.xbe = xbe
self.sections = []
for name, (flags, addr, size, data) in xbe.sections.items():
W = (flags & 0x1) != 0
X = (flags & 0x4) != 0
self.sections.append((name, addr, size, data, W, X))
self.sections = sorted(self.sections, lambda a, b: cmp(a[1], b[1]))
last = self.sections[-1]
self.stubLoc = highest = (last[1] + last[2] + 0x1000) & 0xFFFFE000
stub = '\x68' + pack('<L', xbe.thunkAddr)
stub += '\x68' + pack('<L', xbe.entryPoint)
stub += '\xE8\x01\x00\x00\x00'
stub += '\x90' * 12
#self.sections.append(('.stub', highest, 0x1000, stub, False, True))
self.sections.append(('.cxbximp', 0x41080, 0x80, '\0'*0x80, False, False))
self.sections.append(('.cxbxplg', 0x41100, 0x12000, '\0'*0x12000, False, True))
self.impAddr = highest + len(stub)
def write(self, fn):
fp = file(fn, 'wb')
w = fp.write
round = lambda v, m: v - ((v - 1) % m) + (m - 1)
# IMAGE_DOS_HEADER
w('MZ')
w('\0' * (29 * 2))
w(pack('<L', fp.tell() + 4))
# IMAGE_FILE_HEADER
w('PE\0\0')
w('\x4C\x01')
w(pack('<H', len(self.sections)))
w(pack('<L', self.xbe.peTimeDate))
w('\0\0\0\0')
w('\0\0\0\0')
w(pack('<H', 224))
w(pack('<H', 0x010F))
sizehere = fp.tell()
# IMAGE_OPTIONAL_HEADER
w('\x0B\x01')
w('\6\0')
w(pack('<L', round(sum(size for name, addr, size, data, W, X in self.sections if X), 0x20)))
w(pack('<L', round(sum(size for name, addr, size, data, W, X in self.sections if not X), 0x20)))
w('\0\0\0\0')
w(pack('<L', self.stubLoc - self.xbe.baseAddr))
w(pack('<L', self.sections[0][1] - self.xbe.baseAddr))
found = False
for name, addr, size, data, W, X in self.sections:
if not X:
w(pack('<L', addr - self.xbe.baseAddr))
found = True
break
assert found
# additional fields
w(pack('<L', self.xbe.baseAddr))
w('\x20\0\0\0')
w('\x20\0\0\0')
w('\x04\0\0\0')
w('\0\0\0\0')
w('\x04\0\0\0')
w('\0\0\0\0')
temp = round(sizehere + 224 + 40 * len(self.sections), 0x20)
temp2 = temp
for name, addr, size, data, W, X in self.sections:
temp2 += size
temp2 = round(temp2, 0x20)
print '%08x' % temp2
w(pack('<L', temp2))
w(pack('<L', temp))
w('\0\0\0\0')
w('\x03\0')
w('\0\0')
w(pack('<L', self.xbe.stackCommit))
w(pack('<L', self.xbe.stackCommit))
w(pack('<L', self.xbe.heapReserve))
w(pack('<L', self.xbe.heapCommit))
w('\0\0\0\0')
w(pack('<L', 16))
directories = [
(0, 0),
(0x41088, 0x28),
(0, 0),
(0, 0),
(0, 0),
(0, 0),
(0, 0),
(0, 0),
(0, 0),
(0, 0),
(0, 0),
(0, 0),
(0x41080, 8),
(0, 0),
(0, 0),
(0, 0),
]
for addr, size in directories:
if addr == 0:
w('\0\0\0\0\0\0\0\0')
else:
w(pack('<LL', addr - self.xbe.baseAddr, size))
opos = pos = fp.tell() + 40 * len(self.sections)
pos = round(pos, 0x20)
# Section headers
for name, addr, size, data, W, X in self.sections:
print '%s %08x' % (name, pos)
w(name[:8])
if len(name) < 8:
w('\0' * (8 - len(name)))
w(pack('<L', size))
w(pack('<L', addr - self.xbe.baseAddr))
w(pack('<L', round(size, 0x20)))
w(pack('<L', pos))
w('\0\0\0\0')
w('\0\0\0\0')
w('\0\0')
w('\0\0')
flags = 0x40000000
if W:
flags |= 0x80000000
if X:
flags |= 0x20000020
else:
flags |= 0x00000040
w(pack('<L', flags))
pos += size
pos = round(pos, 0x20)
pos = opos
temp = round(pos, 0x20) - pos
if temp:
w('\0' * temp)
for i, (name, addr, size, data, W, X) in enumerate(self.sections):
print name, '%08x' % fp.tell()
w(data)
if size > len(data):
w('\0' * (size - len(data)))
pos += size
if i < len(self.sections) - 1:
temp = round(pos, 0x20) - pos
if temp:
w('\0' * temp)
pos += temp
#if len(data) < size:
# w('\0' * (size - len(data)))
print

View file

@ -1,223 +0,0 @@
from xbe import Xbe
from pe import Pe
from ctypes import *
from ctypes.wintypes import BOOL
import win32process
from struct import pack
BYTE = c_ubyte
WORD = c_ushort
DWORD = c_ulong
LPBYTE = POINTER(c_ubyte)
LPTSTR = POINTER(c_char)
HANDLE = c_void_p
PVOID = c_void_p
LPVOID = c_void_p
UNIT_PTR = c_ulong
SIZE_T = c_ulong
class STARTUPINFO(Structure):
_fields_ = [("cb", DWORD),
("lpReserved", LPTSTR),
("lpDesktop", LPTSTR),
("lpTitle", LPTSTR),
("dwX", DWORD),
("dwY", DWORD),
("dwXSize", DWORD),
("dwYSize", DWORD),
("dwXCountChars", DWORD),
("dwYCountChars", DWORD),
("dwFillAttribute",DWORD),
("dwFlags", DWORD),
("wShowWindow", WORD),
("cbReserved2", WORD),
("lpReserved2", LPBYTE),
("hStdInput", HANDLE),
("hStdOutput", HANDLE),
("hStdError", HANDLE),]
class PROCESS_INFORMATION(Structure):
_fields_ = [("hProcess", HANDLE),
("hThread", HANDLE),
("dwProcessId", DWORD),
("dwThreadId", DWORD),]
class MEMORY_BASIC_INFORMATION (Structure):
_fields_ = [
("BaseAddress", c_ulong),
("AllocationBase", c_ulong),
("AllocationProtect", c_long),
("RegionSize", c_long),
("State", c_long),
("Protect", c_long),
("Type", c_long) ]
class Process(object):
def __init__(self, binary):
startupinfo = STARTUPINFO()
procinfo = PROCESS_INFORMATION()
startupinfo.dwFlags = 1
startupinfo.wShowWindow = 1
startupinfo.cb = sizeof(startupinfo)
windll.kernel32.CreateProcessA(
binary,
None,
None, None,
False,
4,
None,
None,
byref(startupinfo),
byref(procinfo)
)
self.process = procinfo.hProcess
def map(self, addr, size):
ret = windll.kernel32.VirtualAllocEx(
self.process,
addr,
size,
0x3000, # MEM_COMMIT | MEM_RESERVE
0x40 # PAGE_EXECUTE_READWRITE
)
return ret
def unmap(self, addr, size):
info = self.query(addr)
if info.State == 0x10000: # MEM_FREE
return
elif info.Type == 0x1000000: # MEM_IMAGE
windll.ntdll.ZwUnmapViewOfSection(
self.process,
addr
)
elif info.State == 0x1000: # MEM_COMMIT
windll.kernel32.VirtualFreeEx(
self.process,
addr,
0,
0x4000 # MEM_DECOMMIT
)
elif info.State == 0x2000: # MEM_RESERVE
windll.kernel32.VirtualFreeEx(
self.process,
addr,
size,
0x8000 # MEM_RELEASE
)
def query(self, addr, debug=False):
info = MEMORY_BASIC_INFORMATION()
windll.kernel32.VirtualQueryEx(
self.process,
addr,
byref(info),
sizeof(info)
)
if debug:
print '%08x' % info.BaseAddress
print '%08x' % info.AllocationBase
print '%08x' % info.AllocationProtect
print '%08x' % info.RegionSize
print '%08x' % info.State
print '%08x' % info.Protect
print '%08x' % info.Type
print
return info
def terminate(self):
windll.kernel32.TerminateProcess(self.process, 0)
def write(self, addr, data):
return 0 != windll.kernel32.WriteProcessMemory(
self.process,
addr,
c_char_p(data),
len(data),
None
)
def read(self, addr, size):
buf = size * ' '
windll.kernel32.ReadProcessMemory(
self.process,
addr,
buf,
len(buf),
None
)
return buf
def injectDll(self, name, ep, thunk):
name += '\0'
addr = self.map(0, len(name))
self.write(addr, name)
loadlib = windll.kernel32.GetProcAddress(
windll.kernel32.GetModuleHandleA('kernel32.dll'),
'LoadLibraryA'
)
thread = windll.kernel32.CreateRemoteThread(
self.process,
None,
0,
c_long(loadlib),
c_long(addr),
0,
None
)
windll.kernel32.WaitForSingleObject(thread, 2147483647)
base = win32process.GetExitCodeThread(thread)
mybase = windll.kernel32.LoadLibraryA(name)
func = windll.kernel32.GetProcAddress(mybase, 'Init')
rfunc = base + (func - mybase)
self.write(addr, pack('<LL', ep, thunk))
raw_input('Enter to run...')
thread = windll.kernel32.CreateRemoteThread(
self.process,
None,
0,
c_long(rfunc),
c_long(addr),
0,
None
)
windll.kernel32.WaitForSingleObject(thread, 2147483647)
code = win32process.GetExitCodeThread(thread)
if code != 0:
print '%08x' % code
return 1
import sys
xbefn = sys.argv[1]
xbe = Xbe(xbefn)
proc = Process('Shell\\win32_stripped.exe')
try:
data = proc.read(0x10000, 0x1000)
proc.unmap(0x10000, 0x1000)
proc.unmap(0x11000, 0x10000000)
bottom = min(addr for flags, addr, size, data in xbe.sections.values())
top = max(addr + size for flags, addr, size, data in xbe.sections.values())
assert bottom >= 0x11000 and top >= 0x11000
bottom = 0x10000
assert proc.map(bottom, top - bottom) != 0
proc.write(0x10000, data)
xbedata = file(xbefn, 'rb').read(4096)
proc.write(0x10108, xbedata[0x108:0x10C])
proc.write(0x10118, xbedata[0x118:0x11C])
for name, (flags, virtAddr, virtSize, data) in xbe.sections.items():
assert proc.write(virtAddr, data)
assert proc.injectDll('Core\\Release\\Core.dll', xbe.entryPoint, xbe.thunkAddr) != None
finally:
proc.terminate()

54
xbe.py
View file

@ -1,54 +0,0 @@
from struct import unpack
class Xbe(object):
def __init__(self, fn):
self.fp = file(fn, 'rb')
assert self.bytes(4) == 'XBEH'
sig = self.bytes(256)
uint32 = self.uint32
self.baseAddr, hdrsSize, imageSize, imageHdrSize = uint32(4)
timeDate, certAddr, numSects, sectHdrAddr = uint32(4)
initFlags, entryPoint, tlsAddr, self.stackCommit = uint32(4)
self.heapReserve, self.heapCommit, peBase, peImageSize = uint32(4)
peCsum, self.peTimeDate, debugPath, debugName = uint32(4)
debugNameU, thunkAddr, nonkImp, numLibV = uint32(4)
libVer, kernVer, xapiVer, logoAddr, logoSize = uint32(5)
if (entryPoint ^ 0x94859D4B) & 0x80000000:
entryPoint ^= 0xA8FC57AB
thunkAddr ^= 0x5B6D40B6
else:
entryPoint ^= 0x94859D4B
thunkAddr ^= 0xEFB1F152
self.entryPoint, self.thunkAddr = entryPoint, thunkAddr
self.fp.seek(sectHdrAddr - self.baseAddr, 0)
self.sections = {}
for i in xrange(numSects):
flags, virtAddr, virtSize, rawAddr = uint32(4)
rawSize, sectName, sectNameRef, headAddr = uint32(4)
tailAddr, digest = uint32(), self.bytes(20)
curLoc = self.fp.tell()
self.fp.seek(rawAddr, 0)
data = self.bytes(rawSize)
self.fp.seek(sectName - self.baseAddr, 0)
name = ''
while not name or name[-1] != '\0':
name += self.bytes(1)
self.sections[name.strip()] = (flags, virtAddr, virtSize, data)
self.fp.seek(curLoc, 0)
def uint32(self, count=None):
if count != None:
return unpack('<' + 'L'*count, self.fp.read(4*count))
return unpack('<L', self.fp.read(4))[0]
def bytes(self, count):
return self.fp.read(count)
if __name__=='__main__':
import sys
Xbe(sys.argv[1])