pykd

Форк
0
/
createfile.py 
43 строки · 1.2 Кб
1

2
import pykd
3

4
GENERIC_READ = 0x80000000
5
GENERIC_WRITE = 0x40000000
6
NULL = 0
7

8
CREATE_ALWAYS = 2
9

10
FILE_ATTRIBUTE_NORMAL  = 0x80
11

12
def main():
13

14
    kernel32 = pykd.module("kernel32")
15

16
    HANDLE = pykd.typeInfo("Void*")
17
    LPCWSTR = pykd.typeInfo("WChar*")
18
    DWORD = pykd.typeInfo("UInt4B")
19
    LPSECURITY_ATTRIBUTES = pykd.typeInfo("Void*")
20

21
    CreateFileW_Type = pykd.defineFunction(HANDLE, pykd.callingConvention.NearStd)
22
    CreateFileW_Type.append("lpFileName", LPCWSTR )
23
    CreateFileW_Type.append("dwDesiredAccess", DWORD )
24
    CreateFileW_Type.append("dwShareMode", DWORD )
25
    CreateFileW_Type.append("lpSecurityAttributes", LPSECURITY_ATTRIBUTES )
26
    CreateFileW_Type.append("dwCreationDisposition", DWORD )
27
    CreateFileW_Type.append("dwFlagsAndAttributes", DWORD )
28
    CreateFileW_Type.append("hTemplateFile", HANDLE )
29

30
    CreateFileW = pykd.typedVar( CreateFileW_Type, kernel32.CreateFileW )
31

32
    fileHandle = CreateFileW( 
33
        "C:\\temp\\testfile.txt",
34
        GENERIC_READ | GENERIC_WRITE,
35
        0,
36
        NULL,
37
        CREATE_ALWAYS,
38
        FILE_ATTRIBUTE_NORMAL,
39
        NULL )
40

41
    print "File Handle", hex(fileHandle)
42

43
if __name__ == "__main__":
44
    main()
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.