随笔分类 -  common_C/C++

摘要:前置知识 思路 通过PEB获取kernel32.dll 基地址 在windows操作系统中每一个进程系统都维护着一个描述该进程的结构体,我们称之为peb(进程环境块),如可执行文件加载到内存的位置,模块列表(DLL),指示进程是否被调试的标志,不同发行版的windows系统该结构体可能存在着差异,在 阅读全文
posted @ 2019-11-19 14:32 17bdw 阅读(702) 评论(0) 推荐(0) 编辑
摘要:下载安装 OpenSSL 要编译 libssh2,必须先编译好 OpenSSL 的静态库,直接从 http://slproweb.com/products/Win32OpenSSL.html 下载已经编译好的包含 lib 和 include 文件的安装包即可。访问该网站点击下载完整的安装包,注意,不 阅读全文
posted @ 2019-07-20 02:04 17bdw 阅读(3553) 评论(0) 推荐(0) 编辑
摘要:场景 反向shell的场景下使用 原理 ICMP作为获取反向shell的通道 实践 运行 run.sh报错,可能是因为用的Parrot。改一下就可以了 或者直接运行主要命令。 攻击者机器运行: 目标机运行: 代码 VS2013编译通过 https://github.com/inquisb/icmps 阅读全文
posted @ 2019-04-22 00:24 17bdw 阅读(559) 评论(0) 推荐(0) 编辑
摘要:思路 IPC12D EF` 3、获取服务器的时间 3、设定计划任务按时间执行 用到的Windows API 建立网络驱动器 WNetAddConnection2() 断开网络驱动器 WNetCancelConne 阅读全文
posted @ 2019-02-16 02:12 17bdw 阅读(659) 评论(0) 推荐(0) 编辑
摘要:测试结果 如果调用yara非要变成共享DLL的形式,加那么多的DLL,不如直接调用EXE文件。反而依赖vcruntime运行库的DLL会少很多。。。 调用libyara 调用libraya和C++调用动态链接库的基础没什么区别。 官方说明 https://yara.readthedocs.io/en 阅读全文
posted @ 2019-02-15 23:06 17bdw 阅读(682) 评论(0) 推荐(0) 编辑
摘要:解决方法1 搜索msvcrt.lib所在的路径 把lib目录填写到【链接器】 【常规】 【附加库目录】里 解决方法2 spectre缓解 禁用 参考 https://stackoverflow.com/questions/6228112/link fatal error lnk1104 cannot 阅读全文
posted @ 2019-02-15 10:01 17bdw 阅读(5491) 评论(1) 推荐(0) 编辑
摘要:过年也没法阻挡写代码的热情。 场景 上机检查恶意木马。 功能截图 阅读全文
posted @ 2019-02-08 23:40 17bdw 阅读(335) 评论(0) 推荐(0) 编辑
摘要:场景 c++从文件路径获取目录 实现代码 阅读全文
posted @ 2019-02-08 19:48 17bdw 阅读(3733) 评论(0) 推荐(0) 编辑
摘要:nsis下载地址:http://www.pc6.com/softview/SoftView_14342.html nsis使用: 启动NSIS程序主界面,选择“可视化脚本编辑器(VNISEdit)”菜单,开始制作自己的安装包 选择“使用脚本向导创建新的脚本文件”,确定 进步脚本向导,下一步 第一步, 阅读全文
posted @ 2019-02-07 17:32 17bdw 阅读(1110) 评论(0) 推荐(0) 编辑
摘要:MFC创建线程示例 AfxBeginThread() 创建现场的方法是AfxBeginThread()函数。 在【.CPP】文件定义一个全局变量,决定什么时候退出这个线程。 拖一个BUTTON按钮控件,【创建线程】(IDC_BUTTON_THREAD),绑定单击事件函数。 回调函数 退出线程 阅读全文
posted @ 2019-02-07 16:45 17bdw 阅读(2847) 评论(0) 推荐(1) 编辑
摘要:目的 调用命令行程序,返回结果。 思路 把命令行结果输入到管道中,exe的输出信息都存在了strOutput这个变量里。 实现代码 阅读全文
posted @ 2019-02-06 03:24 17bdw 阅读(1286) 评论(0) 推荐(0) 编辑
摘要:说明 做一个批量进程内搜索字符串的工具。 试了processhacker 2.39 src.zip。 https://sourceforge.net/projects/processhacker/files/processhacker2/ 总是提示一个 。 不知道怎么解决。 找到这个版本可以进行编译 阅读全文
posted @ 2019-02-05 19:48 17bdw 阅读(850) 评论(0) 推荐(0) 编辑
摘要:场景 使用D盾扫描到WEBSHELL后可以导出有路径的文本文件。 最后手动去把WEBSHELL复制到桌面然后以文件路径命名,挨个删除。 D盾界面是这样的。 手动一个个找WEBSHELL并且改名效率太低,使用MFC写一个小工具方便去现场以后查WEBSHELL的工作。 技术思路 D盾导出路径TXT 复制 阅读全文
posted @ 2019-01-16 21:52 17bdw 阅读(555) 评论(0) 推荐(0) 编辑
摘要:场景 替换某个路径的所有“\\”为“_”。 很多时候取证需要把恶意代码文件取回来,然后清除。 如果在 这样的目录下,我会把路径也一并记录下来。 技术思路 分别替换掉“:"和“\\”就可以了 string::npos npos 是一个常数,用来表示不存在的位置 find find函数的返回值是整数,假 阅读全文
posted @ 2019-01-16 21:36 17bdw 阅读(2143) 评论(0) 推荐(0) 编辑
摘要:场景 在MFC中有时候只需要选择一个文件夹而不需要选择文件,这时候可以通过下列方式来进行选择 技术点 BROWSEINFO CoTaskMemFree 是一种函数,此函数用于释放被分配的内存块。 TRACE 宏有点象我们以前在C语言中用的Printf函数,使程序在运行过程中输出一些调试信息,使我们能 阅读全文
posted @ 2019-01-16 13:08 17bdw 阅读(2550) 评论(0) 推荐(0) 编辑
摘要:MFC 小型工具通用界面框架 0x1 场景 由于工作需要我会写代码开发工具给客户或者同事用。代码都能实现,但写个黑乎乎的命令行工具给别人用确实显得不够专业,用别人写好的成型工具又担心有后门。 所以掌握积累几个MFC的常用控件随时调用,代码量堆起来了就是不断反复利用的过程了。未来还是会把精力用在实现实 阅读全文
posted @ 2019-01-08 14:46 17bdw 阅读(1161) 评论(0) 推荐(1) 编辑
摘要:1、前言 前一篇笔记记录了怎么修改PE,此篇记录下如何利用自身的资源文件。 2、编程思路 获得资源句柄 获得资源文件大小 加载资源文件 锁定资源并获得其指针。 3、实践代码 1)编译以下代码将EXE作为资源导入到MFC的资源。 服务端 声明三个已经初始化值的变量 2)来到代码编辑区,我们在需要使用这 阅读全文
posted @ 2018-02-27 17:06 17bdw 阅读(773) 评论(0) 推荐(0) 编辑
摘要:模板 模板是一种工具,模板可以使程序员能建立具有通用类型的函数库与类库; 模板具有两种不同的形式; 函数模板 类模板 函数模板 当一个add()函数接收两个参数,因为某种特定情况,所传入的实参数据类型不同,两个函数主体内行为处理是一样的;一个是处理int型的,另一个是处理double型的, 这种情况 阅读全文
posted @ 2016-11-29 08:30 17bdw 阅读(405) 评论(0) 推荐(0) 编辑
摘要:多态 多态性是指对不同类的对象发出相同的消息将返回不同的行为,消息主要是指类的成员函数的调用,不同的行为是指不同的实现; 函数重载 函数重载是多态性的一种简单形式,它是指允许在相同的作用域内,相同的函数名对应着不同的实现; 函数重载的条件是要求函数参数的类型或个数有所不同。对成员函数的重载有以下的三 阅读全文
posted @ 2016-11-24 01:18 17bdw 阅读(296) 评论(0) 推荐(0) 编辑
摘要:运算符重载 重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成。重载的运算符是遵循函数重载的选择原则,根据不同类型或不同参数来选择不同的重载运算符。 运算符重载的基本语法 成员函数形式 参数表列出该运算符需要的操作数。 运算符函数体对重载的运算符的含义 阅读全文
posted @ 2016-11-23 07:04 17bdw 阅读(933) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示