有个 dll 的函数原型是这样
//C++原型 extern "C" __declspec(dllexport) void __stdcall EncryptBuff(int lengthbuff,void* pbuff);
c 代码里面会对 pbuff 做修改 py 代码
import os
from ctypes import *
PWD = os.path.dirname(os.path.abspath(__file__))
lib = windll.LoadLibrary(os.path.join(PWD, "buff1.dll")) # 要全路径
phone="18267919970".encode("utf-16").hex()[4:]
suff = "0001410001000600010002"
all = "0001410001000600010002"+phone
print("len:", len(suff))
print("all:", all)
cmp = b"000141000100060001000231003800320036003700390031003900390037003000"
print(all==cmp)
print("slice:", all[20:22])
index = 20
p=c_void_p(bytes.fromhex(all[index:]))
print("p.value:",p.value, ",size:", sizeof(p))
lib.EncryptBuff(c_int(sizeof(p)), byref(p))
# print(p.value)
print(all[:index]+p.value.hex()[4:])
代码运行成功了,但是结果和 dephi 调用的不一样呀,