Files
python_tools/coder_2ch/lookdll/call_dll.py
2024-03-12 17:04:07 +08:00

71 lines
1.9 KiB
Python

import ctypes as C
import os
class uid:
def __init__(self) -> None:
path="./creat_uid.dll"
try:
if os.path.exists(path):
self.dll=C.windll.LoadLibrary(path)
else:
print(f"dll {path} not found.")
self.dll=None
except Exception as e:
print("load dll faled.",str(e))
self.dll=None
def info(self):
if(self.dll is None):
return ""
p_info=C.create_string_buffer(50)
self.dll.info(p_info,C.c_int(50))
return p_info.value.decode()
def shell_to_uid_gen1(self,shell:bytearray,year:bytearray):
if(self.dll is None):
return ""
p_info=C.create_string_buffer(50)
self.dll.shell_to_uid_gen1(p_info,C.c_char_p(shell),C.c_char_p(year))
# print(len(p_info.value))
return p_info.value.decode()
def uid_to_save_psw_gen1(self,shell:bytearray,year:bytearray):
uid=self.shell_to_uid_gen1(shell,year)
p_save=C.create_string_buffer(50)
p_psw=C.create_string_buffer(50)
self.dll.uid_to_save_psw_gen1(p_save,p_psw,C.c_char_p(uid.encode()))
return p_save.value.hex(),p_psw.value.hex()
def shell_to_uid_gen2(self,shell:bytearray,year:bytearray):
if(self.dll is None):
return ""
p_info=C.create_string_buffer(50)
self.dll.shell_to_uid_gen2(p_info,C.c_char_p(shell),C.c_char_p(year))
# print(len(p_info.value))
return p_info.value.decode()
def uid_to_save_psw_gen2(self,shell:bytearray,year:bytearray):
uid=self.shell_to_uid_gen2(shell,year)
p_save=C.create_string_buffer(50)
p_psw=C.create_string_buffer(50)
self.dll.uid_to_save_psw_gen2(p_save,p_psw,C.c_char_p(uid.encode()))
return p_save.value.hex(),p_psw.value.hex()
if __name__ == "__main__":
u=uid()
for i in range(10000):
u.shell_to_uid_gen1(b"6640124G08001J",b"2024")
u.shell_to_uid_gen2(b"6640124G08001J",b"2024")
u.uid_to_save_psw_gen1(b"6640124G08001J",b"2024")[1]
u.uid_to_save_psw_gen2(b"6640124G08001J",b"2024")[1]
print("end")