![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
小工具
文章平均质量分 72
LostSpeed
c++ coder
展开
-
小工具 - 用Astyle的DLL封装一个对目录进行代码格式化的工具
上一个实验(vs2019 - astyle-extension 扩展插件的编译与使用)用Astyle的vs插件,在VS中,已经可以很方便的对实现文件或者选定的代码进行格式化。正好想对自己手头要完工的工程进行入库前的全部格式化。如果在VS中,手工逐个对文件进行格式化,那就蠢的连自己都看不过去。以前做代码格式化,都是用AStyle.exe对单个文件做格式化。控制的粒度不够细,如果出了错误,也不知道啥错误。原创 2024-05-06 17:06:36 · 607 阅读 · 0 评论 -
IDA8.3 - make sig
有个reverseMe用VS2015 x64 release static MFC Dlg写的,IDA8.3只能识别一部分库函数。想做个VS2015的IDA sig库, 让IDA8.3加载sig库后再分析。原创 2024-03-30 11:29:17 · 928 阅读 · 0 评论 -
小工具 - 文件转C数组文件(.h, .cpp)
想在程序里面包含一些文件(e.g. 公钥.pem, 或者内建的一些配置文件), 只通过内存来操作这些文件.这些嵌入的文件可以作为资源放在EXE内.但是openssl库是跨平台的, 如果以后要在linux下用, ELF文件好像没有资源这一说.为了可能的扩展性, 准备将程序内嵌的资源文件用C数组代替.这就涉及到预备动作, 将文件转成C数组所在的.h.原创 2024-03-05 18:46:57 · 232 阅读 · 0 评论 -
小工具 - 浮点计算器
在学习CE, 在调试过程中, 经常要看内存中浮点对应的4字节内存到底对应的是啥具体的浮点值. e.g. 0x42860000 => 67.00转换逻辑挺简单的开始写了一个测试程序, 直接改4字节的值, 编译运行一下, 看打印出的结果.但是要经常看内存中的4字节数据对应的浮点值, 不胜其烦.花了半天, 写了一个小工具, 方便多了.原创 2024-02-19 10:56:21 · 1238 阅读 · 0 评论 -
tiny tool - get_file_path_name_by_drop_file
用EPLAN做黑盒时, 需要插入元件图片. 觉得有点麻烦.用win10资源管理器自带的文件属性, 需要自己将路径和文件名拼在一起.自己做一个小工具, 将文件拖入程序, 然后自动得到文件全路径, 然后点击拷贝按钮, 拷贝进剪切板.在EPLAN插入图片时, 就可以用剪切板中的文件全路径了.原创 2023-07-01 12:08:12 · 275 阅读 · 0 评论 -
windows device manager diff(设备管理器内容变化后的比较)
打开设备管理器, 插入了一个USB设备, 想在设备管理器中看看, 多了哪些设备.人工识别, 眼睛都看花了, 感到好无助.去找了一个网上大神写好的工程(codeproject上的DevMgr-SRC.zip, 一个简版的设备管理器), 准备添加一个导出按钮, 将当前检测结果导出成文本.在设备插入前后, 分别导出文本列表. 然后用BC4比较, 就知道USB插入后, 设备的变化了.花了1天, 将这个功能升级完了.这个实现(设备管理器导出内容的比较)有2个用处:https://www.codeproject.com原创 2022-07-08 15:25:04 · 654 阅读 · 3 评论 -
string array to c array file
笔记运维同事在现场, 和设备通讯, 得到一个大回包, 有1000多个字节的字符串.程序里面模拟分析时, 需要将同事给的回包字符串转为C数组, 这样才好模拟.开始试了一下手工对这个回包进行分行, 搞不动啊.看了一下以前的笔记,写过"string array to c array", 不过那个试验和socket操作混在一起了.重新写了一个demo, 转出来的效果还不错.转过之后的效果demo工程vs2017 vc++ console140行代码// @file string_ary_to_原创 2021-11-27 15:54:20 · 448 阅读 · 0 评论 -
串口自动应答测试程序
前言我司的小设备对接用户的一个铁坨坨设备, 串口通讯。开发时,用户将铁坨坨设备发来了,供我调试。我改完下位机程序,将我司小设备连同用户设备一起给用户邮寄过去。用户提出了一些改进建议,小设备在路上走了快10天还没到我这。我手头有我们的设备,程序也烧进去了。能确定做所的修改99.9%是正确的,不过以前出过问题(没验证,运行结果不正确的事情), 不敢直接将小设备邮给用户。我只有让我司小设备和用户设备通讯过,确认正确了,才能将新改的小设备给用户邮过去。想了想,我知道那个设备的通讯协议,在没有用户设备的原创 2020-11-21 01:12:46 · 1258 阅读 · 0 评论 -
查找弹窗软件的全路径名称
这几天开机联网后, 右下角总有弹窗, 弹窗的内容很恶心 :(不知道哪个软件搞得, 自己打造一个小工具来侦测弹窗软件的全路径名称.最后找到了, 居然是“牛牛桌面管理大师”, 大师? 我擦, 整个一个流氓...以后不再用这个软件了~罪证:弹窗的关闭按钮信息弹窗信息弹窗截图就免了.刚安装此软件时, 用户体验用的挺好. 等用了一段时间, 就出弹窗,原创 2013-06-14 14:51:46 · 4264 阅读 · 0 评论 -
从截图中提取文字的在线工具
前言今天同事从现场进行设备发包回包测试,居然将串口助手的截图发给我了,回包数据蛮多的,手工从截图上抄数据,好容易错啊,时间也浪费了。截图是用手机拍的,不是0角度的,稍微有点倾斜。尝试用QQ自带的图片识别,识别的差错率挺高的(因为他是按照每行都是0角度来识别的,行末的数据因为手机拍摄的问题有点角度)。在csdn上看到有个哥们推荐了 http://ocr.qcdest.com/, 将截图中关心部分的图截下来,上传截图文件进行分析,效果蛮好的。将OCR后的数据拷贝下来,只需要加几个换行和空格,就能用原创 2020-06-22 12:25:35 · 740 阅读 · 0 评论 -
gen_YDN23_protocol_send_cmd
前言今天同事在现场遇到一个使用电总协议的设备,开始要的协议不对,导致没回包。要来协议一看,是电总协议。要先写测试指令,拿到回包才能分析。以前同事写过电总协议的回包解析,和别的逻辑连一起,要抽出发包的拼包代码,挺麻烦的。如果手算,那基本不可能。花了4,5个小时,写了一个电总协议拼包程序,将发包指令序列打印到控制台上。这样,就可以给现场同事用了。没做交互的部分(没时间了,凑合着先将前置任务完成了),将参数都写死在测试程序中了。好在对于一个相同的设备,这些发包指令就那么多。不同的只有协议版本,设备地址原创 2020-06-21 02:27:07 · 1165 阅读 · 0 评论 -
find_same_bin_file
前言我们的程序是基于插件的,接入一个新设备,写个插件就行。用户以前给了很多设备协议,现在接入不同厂商设备的时候,一般都会向厂家要一份通讯协议。但是不确定的一点是,这个设备的插件写过没有?知道历史的同事不多了。想个办法,去插件工程库去查,用户给的通讯协议文档,在库中有没有2进制相同的文档如果有(可能是用户改的名字或前同事为了好记改的名字),如果在插件库工程目录中找到2进制相同的协议文档,那这个插件就写过了,将工程拿出来重新编译一下就行。下午花了4,5个小时,写了一个小工具,给定一个文档全路径名称,去一个原创 2020-06-20 00:18:24 · 1689 阅读 · 0 评论 -
gen_modbus_send_cmd 2020_0619_1303
前言上次写了个小工具,用来产生modbus 03命令的读数据的测试指令。这次同事在现场,用的读设备数据的指令不是03,那也不能手写啊.想了一下,modbus读数据的指令格式都是一样的,只是命令字节不一样。只要将命令字节整活了,那就不用手写了。在上次的测试工程上,草草的改了一版。测试程序用法直接运行程序,不带参数,可以看到帮助.parameter error!usage : THE_EXE modbus_device_addr modbus_cmd_byte data_addr_begin d原创 2020-06-19 13:15:46 · 982 阅读 · 0 评论 -
gen_modbus_send_cmd
前言有很多传感器是modbus协议。如果同事让我写测试指令,会写03命令的指令给他。但是这个活很重复,烦。变量是设备地址,开始地址,读几个保持寄存器的内容。写个命令行小工具, 给同事生成modebus读寄存器(03 命令)的测试指令文本。测试程序用法usage : THE_EXE modbus_device_addr data_addr_begin data_read_lene.g. device address = 1, read from hold register address 10原创 2020-06-05 16:11:37 · 639 阅读 · 0 评论 -
string array to c array
前言针对实际设备的发包和回包都抓好了。在写针对设备的查询,不在现场,还想用现场的发包收包数据来调试程序。写一个测试程序,开一个端口,来回这些固定发包的固定回包。程序简单,但是发包和回包有将近20组, 发包有12个字节,回包有接近255个字节。抓回的包,是从网络调试助手上直接拷贝下来的,如下:00 A0 00 00 00 06 11 03 00 00 00 70都是16进制的数组字符串,想变成C数组如下:unsigned char client_ask_0000_0070[] = { 0原创 2020-06-01 01:02:09 · 410 阅读 · 0 评论 -
实验: 写个计算文件SHA1的工具
起因: 工程归档时,需要记录InstallShield发行setup.exe时,包内文件exe, dll, ocx的SHA1值.需求: 对话框程序, 把文件拖入文件位置编辑框, 按下, 显示计算结果在显示区的编辑框. 设置拷贝按钮, 可以把SHA1值拷贝进剪贴板.原创 2010-12-22 19:03:00 · 1155 阅读 · 0 评论