可以注入到宿主程序内对lua脚本进行调试,还可以设置断点观察变量的值,功能非常强大。decoda可能是最好的Lua调试工具。
如果你会VS,那么你一定会用decoda调试lua程序。
decoda之前是收费软件,因为巴拉巴拉巴拉~~最近开源了。
由于需要,工作中的所有Lua文件都是UTF8格式的。之前我是在破解decoda主文件以后,直接在文件末尾添加的shellcode实现把UTF8文本转换为ASCII格式。累死我了,写了几个小时终于实现了打开UTF8文件,但是只能看见中文,而不能输入中文,开源以后一切都方便了……
shuax汉化版:
1、去除运行库依赖,减小发布包大小2、支持UTF8文件的打开(另外会自动把文件保存为UTF8格式)
3、去除Update.dll的依赖(这货没开源,不敢用)
4、配置文件保存在本目录,增强文件关联。
5、调整初始化窗口大小(表示我的1366*768直接看不见标题栏了,泪奔~)
6、汉化了大部分地方(版本控制相关没汉化,不知道怎么用)
decoda使用方法:
首先找到一个使用了lua的程序,我这里用wireshark举例,这是个很好很强大的网络截包工具,wireshark内部使用了lua。没有wireshark的请下去google一下并下载安装,此为开源软件。调试使用lua的宿主程序有两种启动方式,一种是从Decoda启动宿主程序,另一种是先启动宿主程序然后用decoda注入。
介绍如何从Decoda启动宿主程序
启动Decoda并点击Debug目录下的StartDebuging,弹出一个工程设置对话框,点击对话框里的第一行的Command右边的按钮,然后找到你的wireshark.exe可执行文件,点击OK。此时wireshark程序开始执行,稍等一会在左边的窗口中会出现一个init.lua文件,这就是这个wireshark使用的lua文件。(decoda可以检测程序使用的所有lua文件并将他们显示在左边的窗口中)
现在你可以在这个init.lua里面设置断点了,在disable_lua = true; do return end;这一句下断点,聪明人都看得出来,只能在这里下断点,因为下面的语句都是不会执行的,除非将这一句注释。选择Debug菜单中的Stop Debugging退出调试,然后再选择Start Debugging重新启动调试,此时程序就会断点到你设置断点的这一行。
整个流程就是这样,你可以在Watch里面输入要监视的变量,这些操作都和visual studio中一样。




















大小: 8KB
大小: 89.5M
终端仿真器 SecureCRTv7.1.1.264 最新版
串口调试小助手1.3 免费版
WinHex 十六进制编辑器v20.2 SR-5 绿色中文注册版
小旋风ASP服务器安装版
16进制转换工具V1.0 中文绿色版
Adobe AIRV33.1.1.932 官方最新版
github离线安装包64位版V2.9.11官方最新版(github desktop)
mysql数据库.net开发驱动(mysql connector net )8.0.11 官方最新版
MSDN Library Visual Studio 6.0(VC、VB、VF、VJ)中文版win32开发人员必备
版本控制软件(SourceTree)v3.4.6 官方最新版
Memory Analyzer (MAT)V1.01 免费绿色版
Delphi Distillerv1.85绿色版
IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)V4.3.3 绿色版
.NETv3.0 可再发行组件包
一键安装JSP环境安装版
slave4j(基于eclipse插件的java代码生成器)V1.0.0 正式版
Auto DebugProfessional 5.6.5.18 中文绿色版
Understand For C++V1.4.319英文安装版