【技术实现步骤摘要】
本专利技术涉及计算机
,特别涉及一种基于Lua语言的编程方法和装置。
技术介绍
软件的应用程序通常是由C语言实现的,但随着IDA(Interactive Disassembler,交互式反汇编程序)、OD(OllyDebug)等反编译工具的盛行,破解者可以通过这些反编译工具跟踪应用程序所调用的每一个API(Application Programming Interface,应用程序编程接口)以及API的参数和返回结果,大大降低了破解难度。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于Lua语言的编程方法和装置。所述技术方案如下:第一方面,提供了一种基于Lua语言的编程方法,所述方法包括:为Lua语言实现调用应用程序编程接口API的功能;为Lua语言实现创建内存对象的功能;基于具备调用API功能和创建内存对象功能的Lua语言,实现目标程序代码。第二方面,提供了一种基于Lua语言的编程装置,所述装置包括:第一功能实现模块,用于为Lua语言实现调用应用程序编程接口API的功能;第二功能实现模块,用于为Lua语言实现创建内存对象的功能;代码实现模块,用于基于具备调用API功能和创建内存对象功能的Lua语言,实现目标程序代码。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例提供的方法和装置,通过为Lua语言扩展调用API的功能 ...
【技术保护点】
一种基于Lua语言的编程方法,其特征在于,所述方法包括:为Lua语言实现调用应用程序编程接口API的功能;为Lua语言实现创建内存对象的功能;基于具备调用API功能和创建内存对象功能的Lua语言,实现目标程序代码。
【技术特征摘要】
1.一种基于Lua语言的编程方法,其特征在于,所述方法包括:
为Lua语言实现调用应用程序编程接口API的功能;
为Lua语言实现创建内存对象的功能;
基于具备调用API功能和创建内存对象功能的Lua语言,实现目标程序代
码。
2.根据权利要求1所述的方法,其特征在于,所述为Lua语言实现调用应
用程序编程接口API的功能包括:
基于预设开发语言,生成指定调用函数,所述指定调用函数用于调用不同
的应用程序编程接口API,所述预设开发语言具备调用API的功能;
基于所述预设开发语言,将所述指定调用函数添加至Lua语言的全局表,
使得Lua语言具备调用API的功能;
根据所述全局表中的指定调用函数,基于Lua语言调用API。
3.根据权利要求2所述的方法,其特征在于,所述根据所述全局表中的指
定调用函数,基于Lua语言调用API包括:
基于所述预设开发语言,从动态链接库DLL的导出表中,获取待调用的API
地址,将所述待调用的API地址存放在所述指定调用函数的闭包中;
基于所述预设开发语言,从所述指定调用函数的闭包中,获取待调用的API
地址,根据所述API地址,获取所述API在运行时所需的参数,将获取到的API
地址和参数压入堆栈;
基于Lua语言,从所述堆栈中获取所述API地址和所述参数,基于所述API
地址、所述参数和所述全局表中的指定调用函数,调用所述API,得到所述API
的返回值,将所述返回值压入所述堆栈;
基于所述预设开发语言,从所述堆栈中获取所述返回值。
4.根据权利要求1所述的方法,其特征在于,所述为Lua语言实现创建内
存对象的功能包括:
基于所述预设开发语言,定义一个结构体,所述结构体包括一个内存的指
针和内存长度;
基于所述预设开发语言,实现第一函数和第二函数,所述第一函数用于获
取所述结构体的内存指针,所述第二函数用于获取所述结构体的内存长度;
基于所述预设开发语言,创建一个元表,将所述第一函数和所述第二函数
添加至所述元表,使得所述元表具备获取所述结构体的内存指针和内存长度的
功能;
将所述元表添加至Lua语言的全局表,使得Lua语言具备创建内存对象的
功能;
其中,所述预设开发语言具备创建内存对象的功能。
5.根据权利要求4所述的方法,其特征在于,所述为Lua语言实现创建内
存对象的功能还包括:
基于所述预设开发语言,实现第三函数,所述第三函数用于释放所述结构
体;
将所述第一函数、所述第二函数和所述第三函数添加至所述元表。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于Lua语言,创建一个指定程序段;
基于Lua语言,将所述全局表中的元表设置给所述指定程序段,则所述指
定程序段用于创建内存对象。
7.根据权利要求1所述的方法,其特征在于,所述基于具备调用API功能
和创建内存对象功能的Lua语言,实现目标程序代码之后,所述方法还包括:
删除所述目标程序代码对应的调试文件,以去除所述目标程序代码的调试
功能。
8.一种基于Lua语言的编程装置,其特征在于,所述装置包括:
第一功能实现模块,用于为Lua语言实现调用应用程序编程接口A...
【专利技术属性】
技术研发人员:黄俊,
申请(专利权)人:广州华多网络科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。