自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XscKernel的专栏 记录工作中做的点滴

有些是从老博客转过来的

  • 博客(14)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 多屏幕显示

获取屏幕个数EnumDisplayDevicessGetSystemMetrics读取显示器参数及其他参数windows 系统提供了多屏显示的功能,首先第一步是获取屏幕个数获取屏幕个数EnumDisplayDevicess函数原型:BOOL EnumDisplayDevices( _In_ LPCTSTR lpDevice, _In_ DWORD

2016-05-31 09:33:05 6008 2

原创 基于arm的C++反汇编 结构体和类

在C++中,结构体和类都具有构造函数、析构函数和成员函数,两者只有一个区別:结构体的访问控制默认为public,而类的默认访问控制是private。对于C++中的结构体而言, public, private、protected的访问控制都是在编译期进行检査,当越权访问时,编译过程中会检査出此类错误并给予提示。编译成功后,程序在执行的过程中不会在访问控制方面做任 何检査和限制。因此,在反汇编中,C++

2016-05-25 21:26:01 1907

原创 基于arm的C++反汇编 数组和指针的寻址

数组在函数内数组作为参数数组作为返回值下标寻址和指针寻址下标值为整型常量的寻址下标值为整型变量的寻址下标值为整型表达式的寻址数组越界多维数组存放指针类型数据的数组指向数组的指针变量  虽然数组和指针都是针对地址操作,但它们有许多不同之处。数组是相同数据类型的数 据集合,以线性方式连续存储在内存中;而指针只是一个保存地址值的4字节变量。在使用中,数组名是一个地址常量值,保存数组首元

2016-05-24 10:37:22 6350

原创 基于arm的C++反汇编 函数的工作原理

栈帧的形成和关闭各种调用方式的考擦使用 fp或sp寻址函数的参数 与返回值arm指令中立即数存放位置gdbserver 调试环境栈帧的形成和关闭栈在内存中是一块特殊的存储空同, 它的存储原则是“先进后出”, 即最先被存储的数据最后被释放, 汇编过程通常使用 push 指令与 POP指令对栈空间执行数据压入和数据弹出操作。栈结构在内存中占用一段连续的存储空间, 通过sp与 fp这两个栈指针寄

2016-05-23 19:04:14 7472

原创 基于arm的C++反汇编 基本数据类型

基本数据类型Cpp中的引用常量常量的定义基本数据类型  反汇编一个基本的知识点就是掌握数据类型,包括整形和浮点类型在内存中是如何存放的,这里要知道原码,反码,补码,以及IEEE浮点标准,这部分与处理器架构无关,《C++反汇编与逆向分析技术揭秘》 第二章已经有详细讲解,这里略过。 在此推荐下我曾经写过的一个进制转换的工具 来学习数据类型 。 Cpp中的引用

2016-05-20 17:42:22 2218 1

原创 基于arm的C++反汇编 qemu-arm环境搭建

看雪高手写了在windows 上基于x86架构的 C++ 反汇编分析,但是没有人弄过在linux下基于arm架构的C++反汇编教程,这里尝试分析下,可以看到不管在win下还是linux下,不管基于x86还是基于arm 都遵循同样的C++标准,内存布局都是一样的。  首先第一步搭建环境,为了方便这里不再从头编译而是使用网络上现成的二进制工具,参考Architectures/ARM/HowToQemu1

2016-05-20 13:35:55 2079

原创 gh0st错误修改

SetPaneText 的崩溃问题WSAIoctl 参数类型导致栈异常CIniFile 构造函数导致异常栈上对象多线程析构函数导致程序崩溃  开始看 gh0st 源码,找来了一份比较纯净的官方代码来读,有点抓狂,听说使用很老的VC6.0写的,现在需要用 VS2010 重新创建工程,并拷贝代码过去,编译,分析整个执行流程,调试每一个遇到的bug,在这过程中学到了很多,记录下来,供后来参考:Set

2016-05-17 18:45:29 2899

转载 MFC不能多线程操作控件的原因

表现错误示例网友hewwatt大致原因解释如下原因分析窗口类MFC状态模块本地数据进程本地数据线程本地数据模块线程状态包装类对象和句柄映射解决办法注意事项  对于大多数mfc对象,请不要在线程间传递它们,不管是栈上的还是堆上的!原因如下:  mfc的大多数类不是线程安全的,调用传入对象的成员函数可能不会报错,但是未必能达到程序预定的功能!  mfc与界面有关的类,其大多数成员方

2016-05-17 15:55:35 5355

原创 gh0st的IOCP模型分析

在分析了那么多IOCP相关api之后想把IOCP模型分析下,本人菜鸟一个,高手勿笑。gh0st是单文档类型的程序框架。 文档类型的都是从theApp开始的。theApp是一个全局变量。 那我们就先看一下CGh0stApp这个类的初始化函数 BOOL CGh0stApp::InitInstance() 下面很大一部分是生成的框架。我给大家指出来,就没必要再看这些了 直到 if (!Pr

2016-05-14 22:00:40 3110 1

转载 IOCP 系列函数讲解

CreateIoCompletionPort详解GetQueuedCompletionStatusPostQueuedCompletionStatusWSASocketSocket与WSASocket的区别WSAEventSelectWSARecvCreateIoCompletionPort()详解函数原型:HANDLE WINAPI CreateIoCompletionPort(

2016-05-14 16:42:26 2563

转载 IOCP 完成端口

什么是IOCP实现方法实现代码什么是IOCP先让我们看看对IOCP的评价I/O完成端口可能是Win32提供的最复杂的内核对象。[Advanced Windows 3rd] Jeffrey RichterIOCP实现高容量网络服务器的最佳方法。[Windows Sockets2.0:Write Scalable Winsock Apps Using Completion Ports] 完成端口模

2016-05-14 15:24:17 1239

原创 win下一些小工具

md5计算工具sha1工具进制转换工具MS IDE 工程清理  整理的一些小工具,需要的拿走:md5计算工具  把MD5.exe 可执行文件,拷贝到系统环境: A:\Windows\System32 里面—A是系统盘。如果想计算某个文件的MD5值可以先回到某个文件的父目录,然后按住shift ,右击出现一行菜单:在此处打开命令行窗口(W)。  打开后输入 MD5 文件名(文件名还可以t

2016-05-14 11:02:34 1406

原创 编译和使用zlib

由于要弄一个项目,在windows下用到zlib库,现成的库都是release版本的,如果项目是debug的就会导致一大堆符号错误,无奈只得自己重新编译zlib库。首先下载 源码和工程文件解压到某个目录开启VS2010 的命令行 32bit进入到zlib-1.2.5\contrib\masmx86目录执行bld_ml32.bat打开工程项目zlib-1.2.5\contrib\vstudio\vc1

2016-05-14 10:24:50 6308

原创 WaitForSingleObject -- setevent 讲解与编程示例

函数一直等待,直到指明的 Handle 处于signed 状态,或者超过规定的时间才返回。  函数原型:DWORD WINAPI WaitForSingleObject( _In_ HANDLE hHandle, _In_ DWORD dwMilliseconds);  hHandle[in]对象句柄。可以指定一系列的对象,如Event、Job、Memory resource noti

2016-05-13 22:01:26 3954

编译好的程序和源码.rar

vc++ 使用自定义字体用到的代码和程序。 很多时候,由于内部图形设计师的字体选择,应用程序中需要使用特定的字体。为了让应用程序使用字体,需要使用安装程序安装字体。用户机器上太多的字体可能会大大降低系统速度。

2020-08-20

Dropbox 离线包第二部分

Dropbox 离线包

2016-08-23

dropbox 离线包第一部分

dropbox 离线安装包

2016-08-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除