53 {16,
'q'},{17,
'w'},{18,
'e'},{19,
'r'},{20,
't'},
54 {21,
'z'},{22,
'u'},{23,
'i'},{24,
'o'},{25,
'p'},
55 {30,
'a'},{31,
's'},{32,
'd'},{33,
'f'},{34,
'g'},
56 {35,
'h'},{36,
'j'},{37,
'k'},{38,
'l'},
57 {44,
'y'},{45,
'x'},{46,
'c'},{47,
'v'},{48,
'b'},
59 {2,
'1'},{3,
'2'},{4,
'3'},{ 5,
'4'},{ 6,
'5'},
60 {7,
'6'},{8,
'7'},{9,
'8'},{10,
'9'},{11,
'0'},
62 {0x39,
' '},{0x35,
'-'},{0x34,
'.'},{0x1b,
'+'},
69 {16,
'Q'},{17,
'W'},{18,
'E'},{19,
'R'},{20,
'T'},
70 {21,
'Z'},{22,
'U'},{23,
'I'},{24,
'O'},{25,
'P'},
71 {30,
'A'},{31,
'S'},{32,
'D'},{33,
'F'},{34,
'G'},
72 {35,
'H'},{36,
'J'},{37,
'K'},{38,
'L'},
73 {44,
'Y'},{45,
'X'},{46,
'C'},{47,
'V'},{48,
'B'},
78 {7,
'&'},{8,
'/'},{9,
'('},{10,
')'},{11,
'='},
80 {0x39,
' '},{0x35,
'_'},{0x34,
':'},{0x1b,
'*'},
87 {16,
'q'},{17,
'w'},{18,
'e'},{19,
'r'},
88 {20,
't'},{21,
'y'},{22,
'u'},{23,
'i'},
89 {24,
'o'},{25,
'p'},{30,
'a'},{31,
's'},
90 {32,
'd'},{33,
'f'},{34,
'g'},{35,
'h'},
91 {36,
'j'},{37,
'k'},{38,
'l'},{44,
'z'},
92 {45,
'x'},{46,
'c'},{47,
'v'},{48,
'b'},
93 {49,
'n'},{50,
'm'},{2,
'1'},{3,
'2'},
94 {4,
'3'},{5,
'4'},{6,
'5'},{7,
'6'},
95 {8,
'7'},{9,
'8'},{10,
'9'},{11,
'0'},{12,
'-'},
96 {0x39,
' '},{0x35,
'/'},{0x34,
'.'},{0x1b,
']'},
97 {0x1a,
'['},{0x33,
','},{0x27,
';'},{0x0d,
'='},
98 {0x2b,
'\\'},{0x28,
'\''},{0x29,
'`'},
105 {16,
'Q'},{17,
'W'},{18,
'E'},{19,
'R'},
106 {20,
'T'},{21,
'Y'},{22,
'U'},{23,
'I'},
107 {24,
'O'},{25,
'P'},{30,
'A'},{31,
'S'},
108 {32,
'D'},{33,
'F'},{34,
'G'},{35,
'H'},
109 {36,
'J'},{37,
'K'},{38,
'L'},{44,
'Z'},
110 {45,
'X'},{46,
'C'},{47,
'V'},{48,
'B'},
111 {49,
'N'},{50,
'M'},{2,
'!'},{3,
'@'},
112 {4,
'#'},{5,
'$'},{6,
'%'},{7,
'^'},
113 {8,
'&'},{9,
'*'},{10,
'('},{11,
')'},{12,
'_'},
114 {0x39,
' '},{0x35,
'?'},{0x34,
'>'},{0x1b,
'}'},
115 {0x1a,
'{'},{0x33,
'<'},{0x27,
':'},{0x0d,
'+'},
116 {0x2b,
'|'},{0x28,
'\"'},{0x29,
'~'},
124 {16,
'q'},{17,
'w'},{18,
'e'},{19,
'r'},
125 {20,
't'},{21,
'y'},{22,
'u'},{23,
'i'},
126 {24,
'o'},{25,
'p'},{30,
'a'},{31,
's'},
127 {32,
'd'},{33,
'f'},{34,
'g'},{35,
'h'},
128 {36,
'j'},{37,
'k'},{38,
'l'},{44,
'z'},
129 {45,
'x'},{46,
'c'},{47,
'v'},{48,
'b'},
130 {49,
'n'},{50,
'm'},{2,
'1'},{3,
'2'},
131 {4,
'3'},{5,
'4'},{6,
'5'},{7,
'6'},
132 {8,
'7'},{9,
'8'},{10,
'9'},{11,
'0'},{12,
'+'},
133 {0x39,
' '},{0x35,
'-'},{0x34,
'.'},{0x1b,
'¨'},
134 {0x1a,
'å'},{0x33,
','},{0x27,
'æ'},{0x0d,
'´'},
135 {0x2b,
'\''},{0x28,
'ø'},{0x29,
' '},
142 {16,
'Q'},{17,
'W'},{18,
'E'},{19,
'R'},
143 {20,
'T'},{21,
'Y'},{22,
'U'},{23,
'I'},
144 {24,
'O'},{25,
'P'},{30,
'A'},{31,
'S'},
145 {32,
'D'},{33,
'F'},{34,
'G'},{35,
'H'},
146 {36,
'J'},{37,
'K'},{38,
'L'},{44,
'Z'},
147 {45,
'X'},{46,
'C'},{47,
'V'},{48,
'B'},
148 {49,
'N'},{50,
'M'},{2,
'!'},{3,
'"'},
149 {4,
'#'},{5,
'¤'},{6,
'%'},{7,
'&'},
150 {8,
'/'},{9,
'('},{10,
')'},{11,
'='},{12,
'?'},
151 {0x39,
' '},{0x35,
'_'},{0x34,
':'},{0x1b,
'^'},
152 {0x1a,
'Å'},{0x33,
';'},{0x27,
'Æ'},{0x0d,
'`'},
153 {0x2b,
'*'},{0x28,
'Ø'},{0x29,
'§'},
160 {16,
' '},{17,
' '},{18,
' '},{19,
' '},
161 {20,
' '},{21,
' '},{22,
' '},{23,
' '},
162 {24,
' '},{25,
' '},{30,
' '},{31,
' '},
163 {32,
' '},{33,
' '},{34,
' '},{35,
' '},
164 {36,
' '},{37,
' '},{38,
' '},{44,
' '},
165 {45,
' '},{46,
' '},{47,
' '},{48,
' '},
166 {49,
' '},{50,
' '},{2,
' '},{3,
'@'},
167 {4,
'£'},{5,
'$'},{6,
'€'},{7,
' '},
168 {8,
'{'},{9,
'['},{10,
']'},{11,
'}'},{12,
' '},
169 {0x39,
' '},{0x35,
' '},{0x34,
' '},{0x1b,
'~'},
170 {0x1a,
' '},{0x33,
' '},{0x27,
' '},{0x0d,
'|'},
171 {0x2b,
' '},{0x28,
' '},{0x29,
' '},
230 unsigned char *p2 = (
unsigned char *)
p;
273 DPRINT((0,
"PICE_strchr(): ********************\n"));
274 DPRINT((0,
"PICE_strchr(): EXCEPTION @ %.8X\n",(
ULONG)
s));
275 DPRINT((0,
"PICE_strchr(): ********************\n"));
339 return ((
c>=0x30) && (
c<=0x39));
344 return (
PICE_isdigit(
c) || ((
c>=0x41) && (
c<=0x46)) || ((
c>=0x61) && (
c<=0x66)));
349 return ((
c>=0x61) && (
c<=0x7a));
354 return ((
c >=
'A' &&
c <=
'Z') || (
c >=
'a' &&
c <=
'z'));
447 if( (*
s1 != *
s2) || *
s1==
'@' || *
s2==
'@' )
453 if((*
s1==0 || *
s1==
'@') && (*
s2==0 || *
s2 ==
'@')){
483 if( (*
s1 != *
s2) || *
s1==
'@' || *
s2==
'@' )
491 if((*
s1==
'\0' || *
s1==
'@') && (*
s2==
'\0' || *
s2 ==
'@')){
499 if (
c>=
L'A' &&
c<=
L'Z' )
500 return (
c - (
L'A' -
L'a'));
563 for (; (*str1 = *str2); ++str2, ++str1);
595 for(
j=0;pWide[
j]!=0;
j++)
597 if((
char)(pWide[
j]>>8)==0)
598 pAnsi[
j]=(
char)(pWide[
j]);
747 for(
i=0;
i<NumPages;
i++)
769 __asm__(
"sgdt %0;":
"=m" (gdtr));
795 DPRINT((0,
"GetLinearAddress(): pGDT = %.8X\n",pGdt));
801 DPRINT((0,
"GetLinearAddress(): Segment is in LDT\n"));
809 DPRINT((0,
"GetLinearAddress(): no LDT\n"));
828 (pGdt[OriginalSegment>>3].Base_31_24<<24);
881 ULONG enable_mask = 0x3;
883 DPRINT((0,
"SetHardwareBreakPoint(%x,DR%x)\n",ulAddress,ulReg));
885 enable_mask <<= (ulReg*2);
892 xorl %%eax,%%eax\n\t \ 893 mov %%eax,%%dr6\n\t \ 894 mov %%dr7,%%eax\n\t \ 896 mov %%eax,%%dr7\n\t \ 908 mov %%eax,%%dr0\n\t \ 918 mov %%eax,%%dr1\n\t \ 928 mov %%eax,%%dr2\n\t \ 938 mov %%eax,%%dr3\n\t \ 956 ULONG LinAddr0,LinAddr1,LinAddr2,LinAddr3;
957 PULONG LinAddr[4]={&LinAddr0,&LinAddr1,&LinAddr2,&LinAddr3};
976 DPRINT((0,
"breakpoint %u at %.8X\n",
i,
Bp[
i].LinearAddress));
984 andl $0x000000FF,%%eax\n\t \ 985 orl $0x300,%%eax\n\t \ 986 mov %%eax,%%dr7\n\t \ 988 mov %%eax,%%dr0\n\t \ 990 mov %%eax,%%dr1\n\t \ 992 mov %%eax,%%dr2\n\t \ 994 mov %%eax,%%dr3\n\t \ 997 :
"m" (
mask),
"m" (LinAddr0),
"m" (LinAddr1),
"m" (LinAddr2),
"m" (LinAddr3));
1014 DPRINT((0,
"IsCallInstrAtEIP()\n"));
1019 if(*linear== 0xE8 ||
1020 (*linear== 0xFF && ( ((*(linear+1)>>3)&0x7)==0
x2 || ((*(linear+1)>>3)&0x7)==0x3) ) ||
1044 DPRINT((0,
"IsRetAtEIP()\n"));
1071 static UCHAR FlagNames[]={
'c',0,
'p',0,
'a',0,
'z',
's',
't',
'i',
'd',
'o'};
1073 static char temp[32];
1075 for(
j=0,
i=0;
i<
sizeof(FlagNames);
i++)
1082 temp[
j++] = FlagNames[
i];
1099 char tempDisplayRegs[48];
1389 DPRINT((1,
"GetKeyPolled(): key = %x bExtended=%s\n",ucKey,bExtended?
"TRUE":
"FALSE"));
1393 DPRINT((1,
"extended switched ON\n"));
1488 PICE_sprintf(
tempUtil,
"\n LOAD WILL CONTINUE IN %u SEC (HIT 'C' TO CONTINUE OR ANY OTHER KEY TO ABORT)\n",5-
i/1000);
1498 if((ucKey&0x7f)!=46)
1532 PULONG pFrame, pPrevFrame;
1535 DPRINT((0,
"IntelStackWalk(): pc = %X ebp = %X esp = %X\n",pc,
ebp,esp));
1542 DPRINT((0,
"IntelStackWalk(): pFrame = %X pPrevFrame = %X pc =%X\n",(
ULONG)pFrame,(
ULONG)pPrevFrame,pc));
1543 if ( ( (
ULONG)pFrame & 3 ) ||
1544 ( (pFrame <= pPrevFrame) ) )
1546 DPRINT((0,
"IntelStackWalk(): pFrame is either unaligned or not less than previous\n"));
1549 DPRINT((0,
"IntelStackWalk(): pFrame not valid pointer!\n"));
1563 pPrevFrame = pFrame;
1565 pFrame = (
PULONG)pFrame[0];
1622 mov %%cr3,%%ecx\n\t \ 1642 DPRINT((0,
"ReadPhysMem(): Page = %.8X\n",
Page));
1644 DPRINT((0,
"ReadPhysMem(): pPTE = %.8X\n",pPTE));
1648 DPRINT((0,
"ReadPhysMem(): oldPTE = %.8X\n",oldPTE));
1650 DPRINT((0,
"ReadPhysMem(): page-aligned Address = %.8X\n",
temp));
1652 DPRINT((0,
"ReadPhysMem(): new PTE = %.8X\n",*pPTE));
1745 #define is_digit(c) ((c) >= '0' && (c) <= '9') 1752 i =
i*10 + *((*s)++) -
'0';
1766 #define NUM_ZEROPAD 1 1771 #define NUM_SPECIAL 32 1772 #define NUM_LARGE 64 1774 #define do_div(n,base) ({ \ 1776 __res = ((unsigned long) n) % (unsigned) base; \ 1777 n = ((unsigned long) n) / (unsigned) base; \ 1783 char c,
sign,tmp[66];
1784 const char *
digits=
"0123456789abcdefghijklmnopqrstuvwxyz";
1788 digits =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
1817 else while (
num != 0)
1830 else if (
base==16) {
1888 else if (*
fmt ==
'*') {
1892 if (field_width < 0) {
1893 field_width = -field_width;
1904 else if (*
fmt ==
'*') {
1915 if (*
fmt ==
'h' || *
fmt ==
'l' || *
fmt ==
'L') {
1926 while (--field_width > 0)
1929 while (--field_width > 0)
1941 while (
len < field_width--)
1943 for (
i = 0;
i <
len; ++
i)
1945 while (
len < field_width--)
1961 while (
len < field_width--)
1963 for (
i = 0;
i <
len; ++
i)
1965 while (
len < field_width--)
1978 while (
len < field_width--)
1980 for (
i = 0;
i <
len; ++
i)
1981 *
str++ = (
unsigned char)(*sw++);
1982 while (
len < field_width--)
1988 if (field_width == -1) {
1989 field_width = 2*
sizeof(
void *);
2102 DPRINT((0,
"AsciiFromScan(): no translation for key\n"));
2145 DPRINT((0,
"AsciiToScan(): no translation for ASCII code\n"));
2230 DWORD NumberOfBytesRead;
2247 return NumberOfBytesRead;
2252 DWORD dwAccessMask = 0;
2253 DWORD dwShareMode = 0;
2261 DPRINT((0,
"PICE_open: %S\n", lpPathName));
2294 DPRINT((0,
"PICE_open: NtOpenFile error: %x\n",
status));
2306 DPRINT((0,
"ZwClose failed:\n"));
2318 DPRINT((0,
"PICE_len: ZwQueryInformationFile error: %x\n",
status));
2322 return (
size_t)
fs.EndOfFile.u.LowPart;
2344 int InStringLength = 0;
2365 || (
NULL == lpMultiByteStr)
2368 DPRINT((0,
"ERROR_INVALID_PARAMETER\n"));
2374 if (-1 == cchMultiByte)
2380 InIsNullTerminated =
FALSE;
2381 InStringLength = cchMultiByte;
2387 if (0 == cchWideChar)
2389 DPRINT((0,
"ERROR_SUCCESS\n"));
2390 return InStringLength;
2396 if (cchWideChar < InStringLength)
2398 DPRINT((0,
"ERROR_INSUFFICIENT_BUFFER: cchWideChar: %d, InStringLength: %d\n", cchWideChar, InStringLength));
2404 for ( cchConverted = 0,
2405 r = (
PCHAR) lpMultiByteStr,
2408 ((*r) && (cchConverted < cchWideChar));
2419 if (
TRUE == InIsNullTerminated)
2428 return cchConverted;
static size_t double int int int * sign
int PICE_close(HANDLE hFile)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
static PIO_STATUS_BLOCK iosb
void SetForegroundColor(ECOLORS c)
void KeyboardFlushKeyboardQueue(void)
BOOLEAN PICE_isprint(char c)
void PutStatusText(LPSTR p)
GLubyte GLubyte GLubyte GLubyte w
_In_ ULONG _In_ ULONG _In_ ULONG Length
UCHAR inportb(PUCHAR port)
void EnablePassThrough(void)
SCANTOASCII ucShiftScanToAscii_DK[]
ecx edi ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl edx movl TEMP incl eax andl eax ecx incl ebx eax jnz xchgl ecx incl TEMP esp ecx subl ebx pushl ecx ecx edx ecx ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 mm1 mm5 paddd mm0 paddd mm4 mm0 mm4 packssdw mm0 packssdw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi esi edx edi decl ecx jnz popl ecx ecx jecxz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 mm1 paddd mm0 mm0 packssdw mm0 movd eax movw edi esi edx esi ecx mm0 mm4 mm0 mm4 mm1 mm5 mm1 mm5 mm2 mm6 mm2 mm6 mm3 mm7 mm3 mm7 paddd mm0 paddd mm4 paddd mm0 paddd mm4 paddd mm0 paddd mm4 movq mm1 movq mm5 mm1 mm5 paddd mm1 paddd mm5 mm1 mm5 packssdw mm1 packssdw mm5 psubd mm0 psubd mm4 psubsw mm0 psubsw mm4 mm1 punpckldq mm0 pand mm1 pand mm0 por mm1 movq edi esi edx edi decl ecx jnz mm0 mm0 mm1 mm1 mm2 mm2 mm3 mm3 paddd mm0 paddd mm0 paddd mm0 movq mm1 mm1 paddd mm1 mm1 packssdw mm1 psubd mm0 psubsw mm0 movd eax movw edi emms popl ebx popl esi popl edi mov ebp
#define READ_PORT_UCHAR(p)
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
#define I8042_PHYSICAL_BASE
GLdouble GLdouble GLdouble r
PKEYBOARD_LAYOUT CurrentKeyboard
SCANTOASCII ucScanToAscii_DE[]
GLuint GLuint GLsizei count
SCANTOASCII ucScanToAscii_US[]
BOOLEAN CheckLoadAbort(void)
int PICE_sprintf(char *buf, const char *fmt,...)
SCANTOASCII ucAltScanToAscii_DK[]
USHORT PICE_strlen(const char *s)
ULONG PICE_wcsicmp(WCHAR *s1, WCHAR *s2)
ULONG NTAPI READ_PORT_ULONG(IN PULONG Port)
BOOLEAN IsAddressWriteable(ULONG address)
GLenum GLsizei GLenum GLenum const GLvoid * table
LPSTR GetShortName(LPSTR p)
ULONG PICE_strncmpi(char *s1, char *s2, ULONG len)
char tempFlowChanges[256]
char * PICE_strchr(char *s, char c)
unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base)
#define OF_SHARE_DENY_WRITE
void Print(USHORT Window, LPSTR p)
#define MOUSE_OUTPUT_BUFFER_FULL
INT WINAPI PICE_MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cchMultiByte, LPWSTR lpWideCharStr, int cchWideChar)
char * PICE_strcpy(char *s1, char *s2)
GLenum GLuint GLenum GLsizei const GLchar * buf
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
#define FILE_NO_INTERMEDIATE_BUFFERING
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
LPSTR FindFunctionByAddress(ULONG ulValue, PULONG pulstart, PULONG pulend)
__asm__("\t.globl GetPhys\n" "GetPhys:\t\n" "mflr 0\n\t" "stwu 0,-16(1)\n\t" "mfmsr 5\n\t" "andi. 6,5,0xffef\n\t" "mtmsr 6\n\t" "isync\n\t" "sync\n\t" "lwz 3,0(3)\n\t" "mtmsr 5\n\t" "isync\n\t" "sync\n\t" "lwz 0,0(1)\n\t" "addi 1,1,16\n\t" "mtlr 0\n\t" "blr")
char * PICE_strrev(char *s)
void outb_p(UCHAR data, PUCHAR port)
UCHAR AsciiFromScan(UCHAR s)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
_Out_opt_ int _Out_opt_ int * cy
char * PICE_strncpy(char *s1, char *s2, int len)
static APTTYPEQUALIFIER * qualifier
#define I8042_DATA_REGISTER_OFFSET
void * PICE_malloc(size_t numBytes, BOOLEAN fromPaged)
void ShowRunningMsg(void)
GLenum GLint GLint * precision
int PICE_vsprintf(char *buf, const char *fmt, va_list args)
#define OF_SHARE_DENY_READ
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
void outportb(PUCHAR port, UCHAR data)
NTSYSAPI NTSTATUS NTAPI NtOpenFile(OUT PHANDLE phFile, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG ShareMode, IN ULONG OpenMode)
volatile BOOLEAN bControl
BOOLEAN IsRangeValid(ULONG Addr, ULONG Length)
char * PICE_strcat(char *s1, char *s2)
void IntelStackWalk(ULONG pc, ULONG ebp, ULONG esp)
PEPROCESS NTAPI IoGetCurrentProcess(VOID)
PULONG FindPteForLinearAddress(ULONG address)
#define NT_SUCCESS(StatCode)
void RestoreGraphicsState(void)
ULONG TwoPagesForPhysMem[2 *_PAGE_SIZE]
UCHAR AsciiToScan(UCHAR s)
void PICE_memcpy(void *t, void *s, int sz)
#define SCANCODE_EXTENDED
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
LPSTR VisualizeFlags(ULONG EFlags)
long PICE_read(HANDLE hFile, LPVOID lpBuffer, long lBytes)
#define FILE_SHARE_DELETE
ULONG GetLinearAddress(USHORT Segment, ULONG Offset)
KEYBOARD_LAYOUT ucKeyboard[]
#define WRITE_PORT_UCHAR(p, d)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define ExAllocatePool(type, size)
#define memcpy(s1, s2, n)
ULONG ReadPhysMem(ULONG Address, ULONG ulSize)
void FlushKeyboardQueue(void)
GLsizei const GLfloat * value
void ShowStoppedMsg(void)
#define I8042_STATUS_REGISTER_OFFSET
void CopyWideToAnsi(LPSTR pAnsi, PWSTR pWide)
void SetHardwareBreakPoint(ULONG ulAddress, ULONG ulReg)
long simple_strtol(const char *cp, char **endp, unsigned int base)
void SaveGraphicsState(void)
_In_ ULONG _In_ ULONG Offset
void WritePhysMem(ULONG Address, ULONG Datum, ULONG ulSize)
void PutChar(LPSTR p, ULONG x, ULONG y)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HANDLE PICE_open(LPCWSTR lpPathName, int iReadWrite)
SCANTOASCII ucScanToAscii_DK[]
PKEYBOARD_LAYOUT GetKeyboardLayout()
VOID outl(ULONG data, PULONG port)
PKEYBOARD_LAYOUT SetKeyboardLayoutByName(LPSTR Name)
#define OUTPUT_BUFFER_FULL
static int skip_atoi(const char **s)
ULONG PICE_fnncmp(char *s1, char *s2, ULONG len)
GLint GLint GLint GLint GLint GLint y
void SetBackgroundColor(ECOLORS c)
BOOLEAN SetAddressWriteable(ULONG address, BOOLEAN bSet)
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
ULONG PICE_fncmp(char *s1, char *s2)
#define FileStandardInformation
char PICE_toupper(char c)
SCANTOASCII ucShiftScanToAscii_US[]
WCHAR * PICE_wcscpy(WCHAR *str1, const WCHAR *str2)
ULONG PICE_strcmp(char *s1, char *s2)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define InitializeObjectAttributes(p, n, a, r, s)
_In_ ULONG _In_ BOOLEAN Active
GLuint GLuint GLsizei GLenum type
void Clear(USHORT Window)
GLboolean GLboolean GLboolean GLboolean a
UCHAR KeyboardGetKeyPolled(void)
size_t PICE_len(HANDLE hFile)
#define OF_SHARE_DENY_NONE
BOOLEAN IsCallInstrAtEIP(void)
static SERVICE_STATUS status
void PrintLogo(BOOLEAN bShow)
SCANTOASCII ucShiftScanToAscii_DE[]
wchar_t PICE_towlower(wchar_t c)
void SetHardwareBreakPoints(void)
static const int digits[]
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static VOID WaitForKey(VOID)
VOID NTAPI KeStallExecutionProcessor(IN ULONG MicroSeconds)
void PICE_memset(void *p, unsigned char c, int sz)
NTSTATUS NTAPI NtReadFile(HANDLE FileHandle, HANDLE Event, PIO_APC_ROUTINE ApcRoutine, PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, PVOID Buffer, ULONG Length, PLARGE_INTEGER ByteOffset, PULONG Key)
#define OF_SHARE_EXCLUSIVE
BOOLEAN IsAddressValid(ULONG address)
static char * PICE_number(char *str, long num, int base, int size, int precision, int type)
size_t PICE_strnlen(const char *s, size_t count)
ULONG PICE_strcmpi(char *s1, char *s2)