- 博客(17)
- 资源 (22)
- 收藏
- 关注
原创 CreateRemoteThread 失败,错误码5
GetLastError为5表示拒绝访问采用远程线程向explorer.exe注入dll,调用CreateRemoteThread时总是失败,错误码为5。原因:OS是64位,explorer.exe也是64位的,注入程序和dll都应该是64位的才可以。而自己的注入程序和dll都是32位的。修改一下,再次运行就可以了。
2017-02-19 15:47:50 6002 1
原创 位域
1、为什么使用位域 (1) 节省空间,可以把几个变量压缩到一个存储空间; (2) 处理位操作;2、注意事项 (1) C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它类型类型的存在。 (2) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止;
2016-12-18 11:18:21 533
原创 字节对齐
测试环境:ubuntu 64位1、对齐原因在设计不同cpu下的通信协议,或者编写硬件驱动程序时,可能需要按字节对齐。即使是看起来就是自然对齐的,也要设置字节对齐,以免不同编译器生成的代码不一样。理论上来说,处理器可以访问内存的任何一个地址,但出于效率考虑,多会对数据存储进行特殊设计。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地
2016-12-17 12:36:08 483
原创 ubuntu16.04LTS 安装 broadcom网卡驱动
电脑是ThinkPad E531,无线网卡是broadcom BCM431421、用U盘制作启动盘,完成ubuntu16.04LTS安装;2、进入系统后,无线网不能用(已经见怪不怪啦);系统设置->附加驱动,进度条前进一点后,一直停止不前,这种方式安装不了;3、从系统文件ubuntu-16.04.1-desktop-amd64.iso中提取dkms_2.2.0.3-2ubuntu11.
2016-12-10 15:29:19 10738 3
转载 用特征码秒杀各程序语言按钮事件
1 2010-10-30, 13:43:54 【原创】用特征码秒杀各程序语言按钮事件 作者:小童工具:OllyDbg、Delphi程序一个、易语言程序一个、MFC程序一个-------------------------------------------------------------------------------------------------------
2016-10-09 22:01:16 1206
原创 Base64编码
Base64编码说明 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。 为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是
2016-09-11 12:06:10 635
原创 Linux mv 重命名文件问题
1、问题描述 1)ubuntu下用复制和粘贴的方式新建一个文件“echo (复件)”,文件名是系统自动命名的。 2)重命名时输入命令:sudo mv echo(复件) algrithm,提示错误“bash: 未预期的符号 `(' 附近有语法错误” 3)把括号改为中文方式也不行,添加\也不行2、解决过程 1)直接复制文件名。右键选中文件->重命名,然
2016-07-16 11:34:23 2132
原创 windows7 64位 编译 openssl
操作系统:windows7(64位)编译器:vs20151、安装perl5.2、下载openssl最新版本,并解压。3、从vs2015命令提示进入命令行模式。开始->所有程序->Microsoft Visual Studio 2015->Microsoft Feedback Client 2015->Visual Studio Tools->Developer Comman
2016-06-23 21:14:15 495
原创 dos窗口直接进入指定目录
在桌面建立cmd.exe的快捷方式,通过添加命令参数,使得双击快捷方式时直接进入指定目录,不用每次都进行切换。1、找到cmd.exe所在的目录,比如c:\windows\system32\cmd.exe,右键选择“发送到桌面快捷方式”即可。2、右键选择cmd.exe的快捷方式,单击“属性”,如图所示:在目标后面添加命令"cmd /k cd /d 目录",(比如e:\masm\pro
2016-05-15 09:50:06 1575
转载 函数调用约定
以下摘自《IDA Pro》,貌似有一些细节之处没有交代清楚呢,需要进一步思考、实践。了解栈帧的基本概念后,接下来详细介绍它们的结构。下面的例子涉及x86体系结构和与常见的x86编译器(如Microsoft Visual C/C++或GNU的gcc/g++)有关的行为。创建栈帧的最重要的步骤是,通过调用函数将函数存入栈中。调用函数必须存储被调用函数所需要的参数,否则可能导致严重的问题。各个函数会
2016-03-10 21:55:11 745
原创 64位CPU
本文摘自《逆向工程原理》 在32位CPU时代,Intel主导着技术主流(x86),AMD生产x86兼容芯片,形成追击之势。但64位CPU中出现了比较有意思的事情。Intel最初发布的64位cpu IA-64(产品名称:Itanium)是一款64位的功能强大的芯片。有意思的是,全新IA-64采用了与原x86系列(IA-32)CPU完全不同的芯片。就像IBM的PowerPC系列一样,搭载的寄
2016-01-12 21:15:43 539
原创 归并排序
归并排序算法,参考网上http://blog.sina.com.cn/s/blog_4d3a41f401010jbf.html算法,测试并进一步修改。void MergeArray(int a[], int first, int mid, int last){ int leftNum = mid-first+1, rightNum = last-mid; int* left = (int*)
2015-08-13 22:05:42 439
原创 二叉排序树(模板类)
根据《算法导论》实现的二叉排序树#include <iostream>template<typename KeyType> class TreeNode { typedef KeyType _KeyType; typedef TreeNode* _NodePtr; typedef TreeNode& _NodeRef; public: TreeNode() { _left = NULL; _right = NU
2015-08-09 12:36:53 624
原创 3*3方阵旋转算法
void TestRe(){int a[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};int b[3][3]; //旋转for (int i = 0; i {for (int j = 0; j { b[j][2-i]= a[i][j];}} //输出旋转后的方阵for
2015-08-02 10:45:32 956
转载 C++ 关键字typeid
C++ 关键字typeid转载网址:http://www.cppblog.com/smagle/archive/2010/05/14/115286.aspx在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来
2014-08-30 10:08:53 568
转载 Visual Studio 2010 安装MSDN Library
VS2010正式版不再有单独的MSDN Library安装选项,以至于很多同学找不到本地的MSDN Library来用,其实VS2010的ISO安装光盘里已经包含有MSDN Library,只不过要手动安装,方法如下:1、安装完VS2010后,在开始菜单中打开Microsoft Visual Studio 2010 - Visual Studio Tools – Manage Help
2014-04-19 09:57:07 983
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人