- 博客(21)
- 资源 (7)
- 收藏
- 关注
原创 ESP32-S3学习笔记:关于我的开发板介绍
我用的开发板型号为“ESP32-S3-DevKitC-1”,是官方高仿版,电路原理图与官方的基本一样。开发板采用ESP32-S3-WROOM-1模组,N16R8,模组内部包含16MB的flash芯片,S3芯片内部集成8MB的PSRAM内存。
2024-10-22 19:54:43 433
原创 Windows环境下C语言获取系统时间和时间差:精确到微秒(ms)级
#define _CRT_SECURE_NO_DEPRECATE#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>#include <Windows.h>#include <time.h>SYSTEMTIME g_TimeStart;SYSTEMTIME g_TimeEnd;int main(.
2023-01-31 11:09:55 1989 2
原创 DLL劫持 - 以间谍的方式获取EXE主调程序与DLL被调程序的交互数据
本文讲解了在知道DLL接口函数调用规则的情况下,如何劫持DLL,使程序调用自己开发的DLL,从而改变程序的一些行为。这种方法经常用在破解收费软件上。下图是基本原理:EXE原定调用“a.dll”,但是“b.dll”改名为“a.dll”,又将原来的“a.dll”改名为“a1.dll”,并在自己开发的“b.dll”中加入了调用“a1.dll”的代码,从而实现了一种“中继”的效果。一旦劫持成功,自己开发的“b.dll”中就能获取EXE到DLL之间交互的数据。待解读完这些数据后,自己便可以开发这个DLL,从而实现
2020-07-03 15:01:21 585
原创 通过注册表实现,将开发的EXE添加到鼠标右键菜单中,使右击文件可以打开EXE并将文件路径传递给EXE
前几天产生一个想法:把自己之前写的一个计算文件MD5值的EXE,添加到鼠标右键菜单,这样将“打开EXE”和“选择文件”这两步操作结合起来,就方便很多了。如下所示:1.“win+R”组合键,打开运行对话框,输入“regedit”,按下“enter”键,就打开了注册表编辑器,然后做如图操作,建立一个项。2.上面一步我建立的项是“AlgorithmCalculator”,这是我开发的EXE的名字。在这个项下面,将那个自动生成的“默认”键值改成你想在右击文件时显示的快捷菜单名称。3.在.
2020-06-19 09:52:43 1201
原创 HEAP CORRUPTION DETECTED: after Normal block (#xxxxxx) at 0xxxxxxx的相关分析
一次做公司的一个项目,遇到这么个问题:写的DLL的工程需要被第三方EXE调用,编译成功后运行,过一会就出现弹框提示:Debug Error! HEAP CORRUPTION DETECTED: after Normal block (#xxxxxx) at 0xxxxxxx。如下图:我的工程生成的是debug版本的DLL,所以运行时会弹出这个提示框,告诉我内存哪里崩溃了。如果你生成的rel...
2020-02-24 12:24:27 999
转载 一文看懂ARM Cortex-M处理器
ARM Cortex-M处理器家族现在有8款处理器成员。在本文中,我们会比较Cortex-M系列处理器之间的产品特性,重点讲述如何根据产品应用选择正确的Cortex-M处理器。本文中会详细的对照Cortex-M 系列处理器的指令集和高级中断处理能力,以及 SoC系统级特性,调试和追踪功能和性能的比较。1、简介今天, ARM Cortex-M 处理器家族有8款处理器成员。除此之外,ARM的产...
2019-12-03 19:31:40 3764
原创 DLL函数接口:使导出的函数接口,同时以“函数名”和“_函数名@数字”的形式出现
我主要想说,怎么让编译的DLL产生“函数名”和“_函数名@数字”这两种接口函数,然而这两种接口函数在内存中指向同一个地址。例如,DLL的导出函数可以为“add”和“_add@8”,然而代码中函数原型为“void add (int, int);”。函数接口生成“add”好理解,但是同时又产生“_add@8”,而且两个接口都是由同一个函数生成。揭秘:因为代码中以这么一行“#pragma comme...
2019-11-14 10:04:08 769
原创 使用批处理工具将EXE的快捷方式发送到桌面等指定路径
话不多说,先上代码。将下面的代码写入到TXT文档中,将扩展名改为bat,然后把bat批处理文件放到你的EXE同一目录下,双击运行即可。@echo mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""...
2019-08-07 10:21:48 2469 1
原创 通过批处理快速获取当前路径下的文件名和其他信息
先不多说,直接上代码。不懂批处理的小白,可以将下面的代码全部复制到一个新建的TXT文档中,然后将扩展名“txt” 改为“bat”,双击运行该文件即可。@echo offecho *********************提示********************echo 自动解析当前运行路径下的文件和文件夹组成,echo 并将结果存放在当前路径的TXT文档中。echo *****...
2019-08-07 08:46:13 3540 2
原创 关于分析VC++的一个报错:error LNK2019: 无法解析的外部符号 __imp__。。。。。。
提前说明一下,我这个问题跟网上很多网友分享的问题不太一样,而且我认为导致问题出现的原因不重要,重点在于我分析这个问题的过程用到了一些知识,我认为值得分享一下。博客中用的到工程:https://download.csdn.net/download/xundao255/11264177(如果有经验的话,完全可以根据博客内容自己创建工程,毕竟下载工程是需要C币的。补充:我没找到怎么免C币下载资...
2019-06-29 12:17:49 1088
原创 Visual Studio 2005的“dumpbin”命令解析静态库lib和动态库dll
一、 在VS中打开对应菜单二、 命令提示符:dumpbin.exe就在此路径下,所以要在这里才能调用dumpbin命令三、 执行命令1. 对lib静态库文件 命令:dumpbin /LINKERMEMBER a.lib > 1.txt 说明:解析静态库“a.lib”的函数接口等信息,并将解析结果输出到“1.txt” 注意:当前命令执行的...
2019-06-29 10:09:13 1098
原创 关于Keil uVision V4.73开发时,如何将C语言的全局变量高亮显示
当前在公司开发一个单片机程序,原程序是其他同事写的,我只是负责维护和后期开发。所以需要先看懂别人的代码,工程里面声明了很多全局变量,懂C语言代码的都知道,全局变量将多个函数模块串联起来,如果不显式标注(参考匈牙利命名法,变量名首字符为“g”),看起来会很吃力。然而Keil在高亮显示和快速索引标签上做的不如VS好,所以如果手动设置高亮显示会减轻看代码负担。1. 我用的Keil版本...
2018-09-16 17:17:48 8981 3
转载 ZIP压缩算法详细分析及解压实例解释
转载地址:http://www.cnblogs.com/esingchan/p/3958962.html最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没啥区别,在数学家看来,都是映射。一方面在进行通信的时候,有必要将待传输的数...
2018-08-04 16:00:31 1534
原创 U盘安装CentOS 7遇到的问题:引导未找到U盘,导致进入emergency mode紧急模式
我是用UltraISO将CentOS官网下载的ISO解开到U盘的,电脑BIOS各种设置已经设置好,电脑启动boot引导程序时,可以正确显示U盘引导项,也能正确进入U盘引导项,如图:图1 当选择上图第一项“Install CentOS 7”后,不多时就可以看见下图所示的界面:dracut-initqueue[600]: Waring: dracut-initqueue ti...
2018-07-31 09:11:41 11501 1
原创 C语言实现遍历指定路径下的所有文件(Visual Studio 2015环境编写)
1. main()函数部分:获取当前程序运行路径,将其整理传递给主要功能函数。int main( int argc, char * argv[] ){ byte pcFolderPath[CUR_PATH_MAX] = { '\0' }; uint32 u32Circle = 0; uint32 u32FolderPathLen = 0; //当前程序运行的文件夹路径偏移 /...
2018-07-30 01:21:09 2103
原创 通过虚拟磁盘技术给电脑安装双系统或多系统
如今市场上出现了很多双硬盘(小容量固态硬盘做系统盘+大容量机械硬盘用于数据备份)电脑,将操作系统安装到一整块硬盘上,那么通过拆机将装系统的硬盘,移到另一台相同配置的电脑上,就可以完美运行。前些天由于工作原因,本人用到了微软的虚拟硬盘技术,发现虚拟硬盘既可以当做实体硬盘来看待,又可以当做一个独立文件来管理。那么将操作系统安装到虚拟磁盘上之后,可以将其复制很多备份,通过EasyBCD设置引导,就完
2017-12-31 14:40:54 6496
SharpZipLibAPI文档-html离线版.zip
2020-10-18
程序分析小工具.zip
2020-07-22
DLL劫持示例程序:EXE+DLL
2020-07-03
XCP标准协议.zip
2019-08-06
lib静态库的生成和调用示例_VS2005开发.zip
2019-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人