易语言与python交互源码
系统结构:PyInit_python_e,wnxd,PyModule_Create,Py_BuildValue,PyArg_ParseTuple,GetLP_PyMethodDef_Array,GetLP_Array,GetLP_String,PyMethodDef_Array,LocalAlloc,LocalSize,lpPyModuleDef,lpPyMethodDef,lpString,PyModule_Create2,Py_VaBuildValue,PyArg_VaParse,RtlMoveMemory_PyModuleDef,RtlMoveMemory_PyMethodDef,RtlMoveMemory,VirtualProtect,字节集2文本,PyRun_SimpleString,Py_Initialize,Py_Finalize,PyRun_SimpleStringFlags,
======程序集1
| |
| |------ _启动子程序
| |
| |------ PyInit_python_e
| |
| |------ wnxd
| |
| |------ __cdecl
| |
| |
======python
| |
| |------ PyModule_Create
| |
| |------ Py_BuildValue
| |
| |------ PyArg_ParseTuple
| |
| |------ GetLP_PyMethodDef_Array
| |
| |------ GetLP_Array
| |
| |------ GetLP_String
| |
| |------ PyMethodDef_Array
| |
| |
======调用的Dll
| |
| |---[dll]------ LocalAlloc
| |
| |---[dll]------ LocalSize
| |
| |---[dll]------ lpPyModuleDef
| |
| |---[dll]------ lpPyMethodDef
| |
| |---[dll]------ lpString
| |
| |---[dll]------ PyModule_Create2
| |
| |---[dll]------ Py_VaBuildValue
| |
| |---[dll]------ PyArg_VaParse
| |
| |---[dll]------ RtlMoveMemory_PyModuleDef
| |
| |---[dll]------ RtlMoveMemory_PyMethodDef
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ VirtualProtect
======程序集1
| |
| |------ _启动子程序
| |
| |------ 字节集2文本
| |
| |
======python
| |
| |------ PyRun_SimpleString
| |
| |
======调用的Dll
| |
| |---[dll]------ Py_Initialize
| |
| |---[dll]------ Py_Finalize
| |
| |---[dll]------ PyRun_SimpleStringFlags
调用的DLL命令:
.DLL命令 LocalAlloc, 整数型, "kernel32", "LocalAlloc"
.参数 wFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 LocalSize, 整数型, "kernel32", "LocalSize", , ,返回本地内存块大小
.参数 hMem, 整数型
.DLL命令 lpPyModuleDef, 整数型, , "lstrcpyn"
.参数 hMem, PyModuleDef
.参数 hMem, PyModuleDef
.参数 len, 整数型
.DLL命令 lpPyMethodDef, 整数型, , "lstrcpyn"
.参数 hMem, PyMethodDef
.参数 hMem, PyMethodDef
.参数 len, 整数型
.DLL命令 lpString, 整数型, , "lstrcpyn"
.参数 hMem, 文本型
.参数 hMem, 文本型
.参数 len, 整数型
.DLL命令 PyModule_Create2, 整数型, "python34", "@PyModule_Create2"
.参数 module, PyModuleDef
.参数 apiver, 整数型
.DLL命令 Py_VaBuildValue, 整数型, "python34", "@Py_VaBuildValue"
.参数 format, 文本型
.参数 va, 整数型
.DLL命令 PyArg_VaParse, 整数型, "python34", "@PyArg_VaParse"
.参数 args, 整数型
.参数 format, 文本型
.参数 va, 整数型
.DLL命令 RtlMoveMemory_PyModuleDef, , , "RtlMoveMemory"
.参数 Destination, PyModuleDef
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_PyMethodDef, , , "RtlMoveMemory"
.参数 Destination, PyMethodDef
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory, , , "RtlMoveMemory"
.参数 Destination, 整数型
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 VirtualProtect, 整数型, "kernel32", "VirtualProtect"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
调用的DLL命令:
.DLL命令 Py_Initialize, 整数型, "python34", "@Py_Initialize"
.DLL命令 Py_Finalize, 整数型, "python34", "@Py_Finalize"
.DLL命令 PyRun_SimpleStringFlags, 整数型, "python34", "@PyRun_SimpleStringFlags"
.参数 command, 文本型
.参数 flags, 整数型