Open Source Python String Execution Hook - Exec

Güzel konu, geliştirilebilir
1-Detour yerine minhook, polyhook2 veya safetyhook kullanabilirsin
2-VMP için antihook bypass eklenebilir
3-stryi ekrana loglamak yerine bir metin belgesine yazdırabilirsin
Minhook böyle küçük kodlar için sağlıklı değil ve minhook'da bazı lib hataları var, uğraşmak dahi istemedim. Detours böyle işlemler için en uygunudur. 'VMP için antihook bypass eklenebilir.' Eğer exe pyinstaller ise VMProtect zaten basamaz. Nuitka kullanıyorsan da onu sen yap. Cout'u log'a çeviremeyecek birisi var ise kullanmasın zaten.
 
Korumasını bu şekilde yapabilirsiniz

Python:
import ctypes
from ctypes import wintypes

def check_hook():
    pythondllkardesim = ctypes.windll.kernel32.GetModuleHandleW("python311.dll")
    if pythondllkardesim == 0:
        return False

    digerpyrunstringflags = ctypes.windll.kernel32.GetProcAddress(pythondllkardesim, b"PyRun_StringFlags")
    if digerpyrunstringflags == 0:
        return False

    first_byte = ctypes.cast(digerpyrunstringflags, ctypes.POINTER(ctypes.c_ubyte)).contents.value
    if first_byte in (0xE8, 0xE9, 0xEA, 0xEB):
        return False

    return True

#################

if check_hook():
    print("hook tespit edilmedi.")
else:
    print("hook tespit edildi!")
 
Korumasını bu şekilde yapabilirsiniz

Python:
import ctypes
from ctypes import wintypes

def check_hook():
    pythondllkardesim = ctypes.windll.kernel32.GetModuleHandleW("python311.dll")
    if pythondllkardesim == 0:
        return False

    digerpyrunstringflags = ctypes.windll.kernel32.GetProcAddress(pythondllkardesim, b"PyRun_StringFlags")
    if digerpyrunstringflags == 0:
        return False

    first_byte = ctypes.cast(digerpyrunstringflags, ctypes.POINTER(ctypes.c_ubyte)).contents.value
    if first_byte in (0xE8, 0xE9, 0xEA, 0xEB):
        return False

    return True

#################

if check_hook():
    print("hook tespit edilmedi.")
else:
    print("hook tespit edildi!")
Ya da koruma sahibi, exec kullanmayabilir.
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt