![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Visual Studio环境下C语言编程
JhonDao
这个作者很懒,什么都没留下…
展开
-
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 · 1871 阅读 · 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 · 526 阅读 · 0 评论 -
通过注册表实现,将开发的EXE添加到鼠标右键菜单中,使右击文件可以打开EXE并将文件路径传递给EXE
前几天产生一个想法:把自己之前写的一个计算文件MD5值的EXE,添加到鼠标右键菜单,这样将“打开EXE”和“选择文件”这两步操作结合起来,就方便很多了。如下所示:1.“win+R”组合键,打开运行对话框,输入“regedit”,按下“enter”键,就打开了注册表编辑器,然后做如图操作,建立一个项。2.上面一步我建立的项是“AlgorithmCalculator”,这是我开发的EXE的名字。在这个项下面,将那个自动生成的“默认”键值改成你想在右击文件时显示的快捷菜单名称。3.在.原创 2020-06-19 09:52:43 · 1162 阅读 · 0 评论 -
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 · 963 阅读 · 0 评论 -
DLL函数接口:使导出的函数接口,同时以“函数名”和“_函数名@数字”的形式出现
我主要想说,怎么让编译的DLL产生“函数名”和“_函数名@数字”这两种接口函数,然而这两种接口函数在内存中指向同一个地址。例如,DLL的导出函数可以为“add”和“_add@8”,然而代码中函数原型为“void add (int, int);”。函数接口生成“add”好理解,但是同时又产生“_add@8”,而且两个接口都是由同一个函数生成。揭秘:因为代码中以这么一行“#pragma comme...原创 2019-11-14 10:04:08 · 723 阅读 · 0 评论 -
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 · 2068 阅读 · 0 评论 -
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 · 1020 阅读 · 0 评论 -
关于分析VC++的一个报错:error LNK2019: 无法解析的外部符号 __imp__。。。。。。
提前说明一下,我这个问题跟网上很多网友分享的问题不太一样,而且我认为导致问题出现的原因不重要,重点在于我分析这个问题的过程用到了一些知识,我认为值得分享一下。博客中用的到工程:https://download.csdn.net/download/xundao255/11264177(如果有经验的话,完全可以根据博客内容自己创建工程,毕竟下载工程是需要C币的。补充:我没找到怎么免C币下载资...原创 2019-06-29 12:17:49 · 1019 阅读 · 0 评论