|
在做一个易语言框架,全面支持 Lua .而Cheat Engine 支持 Lua,这样就可以将Cheat Engine 自带的库与之前积累的 易库打通。
踩过的坑
1. Lua DLL 中不同版本的函数有差异,通过Lua 手册,部分找不到。
2. Lua 源码使用 Visual Studio 生成 DLL 其中的自己改写的代码会被名称。具体可通过 dumpbin export 查看
3. Lua DLL 中宏定义和常量不能被调用,需要转成函数输出。
4. 易语言掉用 Lua DLL 找不到指定函数,这个时候多半是宏定义,需要找到源码写函数实现。
Dump of file LuaCoreDLL.dll
File Type: DLL
Section contains the following exports for LuaCoreDLL.dll
00000000 characteristics FFFFFFFF time date stamp 0.00 version 1 ordinal base 154 number of functions 154 number of names
ordinal hint RVA name
1 0 00001290 _Lua_Close@4 = _Lua_Close@4 2 1 00001060 _Lua_DoString@16 = _Lua_DoString@16 3 2 000011C0 _Lua_GetGlobalString@16 = _Lua_GetGlobalString@16 4 3 00001000 _Lua_Init@0 = _Lua_Init@0 5 4 00001500 _Lua_RegisterEFunc_Number@12 = _Lua_RegisterEFunc_Number@12 6 5 000014C0 _Lua_RegisterEFunc_String@12 = _Lua_RegisterEFunc_String@12 7 6 00001480 _Lua_RegisterEFunc_Void@12 = _Lua_RegisterEFunc_Void@12 8 7 00001540 __luaL_dostring@8 = __luaL_dostring@8 9 8 00005D00 luaL_addlstring = _luaL_addlstring 10 9 00005D30 luaL_addstring = _luaL_addstring 11 A 00005E40 luaL_addvalue = _luaL_addvalue 12 B 00004EB0 luaL_argerror = _luaL_argerror 13 C 00005EF0 luaL_buffinit = _luaL_buffinit 14 D 00005F20 luaL_buffinitsize = _luaL_buffinitsize 15 E 000065F0 luaL_callmeta = _luaL_callmeta 16 F 00005650 luaL_checkany = _luaL_checkany 17 10 000058A0 luaL_checkinteger = _luaL_checkinteger 18 11 00005680 luaL_checklstring = _luaL_checklstring 19 12 00005720 luaL_checknumber = _luaL_checknumber 20 13 00005520 luaL_checkoption = _luaL_checkoption 21 14 000055E0 luaL_checkstack = _luaL_checkstack 22 15 00005620 luaL_checktype = _luaL_checktype 23 16 000054F0 luaL_checkudata = _luaL_checkudata 24 17 000070E0 luaL_checkversion_ = _luaL_checkversion_ 25 18 000050C0 luaL_error = _luaL_error 26 19 000051D0 luaL_execresult = _luaL_execresult 27 1A 00005100 luaL_fileresult = _luaL_fileresult 28 1B 00006550 luaL_getmetafield = _luaL_getmetafield 29 1C 00006BE0 luaL_getsubtable = _luaL_getsubtable 30 1D 00006DE0 luaL_gsub = _luaL_gsub 31 1E 00006660 luaL_len = _luaL_len 32 1F 00006490 luaL_loadbufferx = _luaL_loadbufferx 33 20 000061B0 luaL_loadfilex = _luaL_loadfilex 34 21 000064F0 luaL_loadstring = _luaL_loadstring 35 22 00005290 luaL_newmetatable = _luaL_newmetatable 36 23 000070C0 luaL_newstate = _luaL_newstate 37 24 00011140 luaL_openlibs = _luaL_openlibs 38 25 00005950 luaL_optinteger = _luaL_optinteger 39 26 000056B0 luaL_optlstring = _luaL_optlstring 40 27 000057C0 luaL_optnumber = _luaL_optnumber 41 28 00005AD0 luaL_prepbuffsize = _luaL_prepbuffsize 42 29 00005D70 luaL_pushresult = _luaL_pushresult 43 2A 00005E20 luaL_pushresultsize = _luaL_pushresultsize 44 2B 00005F50 luaL_ref = _luaL_ref 45 2C 00006CD0 luaL_requiref = _luaL_requiref 46 2D 00006AF0 luaL_setfuncs = _luaL_setfuncs 47 2E 000053C0 luaL_setmetatable = _luaL_setmetatable 48 2F 000053F0 luaL_testudata = _luaL_testudata 49 30 000066D0 luaL_tolstring = _luaL_tolstring 50 31 00004A40 luaL_traceback = _luaL_traceback 51 32 00006030 luaL_unref = _luaL_unref 52 33 00005020 luaL_where = _luaL_where 53 34 00001710 lua_absindex = _lua_absindex 54 35 00001E80 lua_arith = _lua_arith 55 36 000016D0 lua_atpanic = _lua_atpanic 56 37 000039B0 lua_callk = _lua_callk 57 38 000015D0 lua_checkstack = _lua_checkstack 58 39 00020490 lua_close = _lua_close 59 3A 00001EC0 lua_compare = _lua_compare 60 3B 000040E0 lua_concat = _lua_concat 61 3C 000018A0 lua_copy = _lua_copy 62 3D 00002F20 lua_createtable = _lua_createtable 63 3E 00003E00 lua_dump = _lua_dump 64 3F 00004040 lua_error = _lua_error 65 40 00003EC0 lua_gc = _lua_gc 66 41 000041C0 lua_getallocf = _lua_getallocf 67 42 00002AE0 lua_getfield = _lua_getfield 68 43 000029A0 lua_getglobal = _lua_getglobal 69 44 0000C6B0 lua_gethook = _lua_gethook 70 45 0000C6D0 lua_gethookcount = _lua_gethookcount 71 46 0000C6C0 lua_gethookmask = _lua_gethookmask 72 47 00002B90 lua_geti = _lua_geti 73 48 0000CE70 lua_getinfo = _lua_getinfo 74 49 0000C850 lua_getlocal = _lua_getlocal 75 4A 00002FC0 lua_getmetatable = _lua_getmetatable 76 4B 0000C6E0 lua_getstack = _lua_getstack 77 4C 00002A20 lua_gettable = _lua_gettable 78 4D 00001740 lua_gettop = _lua_gettop 79 4E 00004290 lua_getupvalue = _lua_getupvalue 80 4F 00003070 lua_getuservalue = _lua_getuservalue 81 50 00001AE0 lua_iscfunction = _lua_iscfunction 82 51 00001B60 lua_isinteger = _lua_isinteger 83 52 00001C00 lua_isnumber = _lua_isnumber 84 53 00001C90 lua_isstring = _lua_isstring 85 54 00001D10 lua_isuserdata = _lua_isuserdata 86 55 0000E880 lua_isyieldable = _lua_isyieldable 87 56 00004140 lua_len = _lua_len 88 57 00003CF0 lua_load = _lua_load 89 58 00020240 lua_newstate = _lua_newstate 90 59 00020120 lua_newthread = _lua_newthread 91 5A 00004200 lua_newuserdata = _lua_newuserdata 92 5B 00004050 lua_next = _lua_next 93 5C 00003AD0 lua_pcallk = _lua_pcallk 94 5D 00002890 lua_pushboolean = _lua_pushboolean 95 5E 000027F0 lua_pushcclosure = _lua_pushcclosure 96 5F 000027B0 lua_pushfstring = _lua_pushfstring 97 60 00002690 lua_pushinteger = _lua_pushinteger 98 61 000028B0 lua_pushlightuserdata = _lua_pushlightuserdata 99 62 000026C0 lua_pushlstring = _lua_pushlstring 100 63 00002650 lua_pushnil = _lua_pushnil 101 64 00002670 lua_pushnumber = _lua_pushnumber 102 65 00002720 lua_pushstring = _lua_pushstring 103 66 000028D0 lua_pushthread = _lua_pushthread 104 67 000019B0 lua_pushvalue = _lua_pushvalue 105 68 00002770 lua_pushvfstring = _lua_pushvfstring 106 69 00001D90 lua_rawequal = _lua_rawequal 107 6A 00002CD0 lua_rawget = _lua_rawget 108 6B 00002D60 lua_rawgeti = _lua_rawgeti 109 6C 00002E60 lua_rawgetp = _lua_rawgetp 110 6D 00002320 lua_rawlen = _lua_rawlen 111 6E 00003540 lua_rawset = _lua_rawset 112 6F 00003620 lua_rawseti = _lua_rawseti 113 70 000036E0 lua_rawsetp = _lua_rawsetp 114 71 0000E660 lua_resume = _lua_resume 115 72 000017B0 lua_rotate = _lua_rotate 116 73 000041E0 lua_setallocf = _lua_setallocf 117 74 00003320 lua_setfield = _lua_setfield 118 75 000031B0 lua_setglobal = _lua_setglobal 119 76 0000C670 lua_sethook = _lua_sethook 120 77 000033D0 lua_seti = _lua_seti 121 78 0000C940 lua_setlocal = _lua_setlocal 122 79 000037E0 lua_setmetatable = _lua_setmetatable 123 7A 00003230 lua_settable = _lua_settable 124 7B 00001760 lua_settop = _lua_settop 125 7C 00004380 lua_setupvalue = _lua_setupvalue 126 7D 000038E0 lua_setuservalue = _lua_setuservalue 127 7E 00003EB0 lua_status = _lua_status 128 7F 00001FE0 lua_stringtonumber = _lua_stringtonumber 129 80 00002160 lua_toboolean = _lua_toboolean 130 81 000023F0 lua_tocfunction = _lua_tocfunction 131 82 000020B0 lua_tointegerx = _lua_tointegerx 132 83 000021E0 lua_tolstring = _lua_tolstring 133 84 00002000 lua_tonumberx = _lua_tonumberx 134 85 00002580 lua_topointer = _lua_topointer 135 86 00002500 lua_tothread = _lua_tothread 136 87 00002470 lua_touserdata = _lua_touserdata 137 88 00001A60 lua_type = _lua_type 138 89 00001AD0 lua_typename = _lua_typename 139 8A 000045A0 lua_upvalueid = _lua_upvalueid 140 8B 00004640 lua_upvaluejoin = _lua_upvaluejoin 141 8C 000016F0 lua_version = _lua_version 142 8D 00001690 lua_xmove = _lua_xmove 143 8E 0000E8A0 lua_yieldk = _lua_yieldk 144 8F 00008C70 luaopen_base = _luaopen_base 145 90 00008D20 luaopen_bit32 = _luaopen_bit32 146 91 0000AA20 luaopen_coroutine = _luaopen_coroutine 147 92 0000C530 luaopen_debug = _luaopen_debug 148 93 000134D0 luaopen_io = _luaopen_io 149 94 00016730 luaopen_math = _luaopen_math 150 95 0001A780 luaopen_os = _luaopen_os 151 96 000181E0 luaopen_package = _luaopen_package 152 97 00025130 luaopen_string = _luaopen_string 153 98 000277E0 luaopen_table = _luaopen_table 154 99 000299F0 luaopen_utf8 = _luaopen_utf8
Summary
1000 .data 5000 .rdata 2000 .reloc 1000 .rsrc 2E000 .text
来源:https://www.cnblogs.com/-wrc/p/19367576 |