- 博客(30)
- 资源 (9)
- 收藏
- 关注
转载 SFTP协议
SFTP协议SCP协议本身打开SSH通道时指定的是scp命令,而是用SFTP时指定的sftp。以下是一些具体的介绍,详细内容需要参考对应的RFC文件。下面是目前整理的使用的一份:1) 协议中数据包格式通过安全通道传输的所有包的格式如下: uint32 length byte ty
2013-03-31 14:38:11 7602 1
原创 修改系统记事本程序,启动前加了一段音乐
昨天开始反汇编系统原有的记事本程序notepad.exe(就是开始菜单->程序->附件->记事本),此程序是window*系统的一个自带的一个文本编辑工具,用来编写一些简单的文本文件还是很方便的。但这个程序很简单方便,就是有点枯燥,所以准备把它修改一下,让其在启动的时候播放一段歌曲或旋律。 我们使用给exe文件添加节的方式来注入我们的代码,我没有使用在页面的之间的空隙之间注入代码的方式,
2013-03-31 14:34:24 1707
原创 如何直接修改exe文件
在以前学习的时候,无法想象在没有源码的时候如何对exe文件添加功能,觉得简直不可思议,在了解汇编和反编译的一些知识后,原来这种想法是可以实现的。我们需要对exe文件进行直接修改,把我们的代码直接写入exe文件,这样就能实现我们的功能了。 当然,要想直接对exe文件进行直接修改必须有较好的汇编基础,对反汇编技术有一定的基础。否则会很茫然的。 一般有两种方法可以对exe文件添加我们
2013-03-31 14:32:13 81019 2
原创 汇编初时化内存空间为空的函数
procedure InitZero(sText:Pchar;Count:Integer);asm push edi lea edi,[sText] mov ecx,Count mov al,0 rep stosb pop ediend;//可以用这个替换zeromemory函数
2013-03-31 14:25:06 796
原创 使用inno setup心得
今天研究了一天的inno setup安装程序制作软件,这个东西确实很强大,压缩比很高,inno setup强大而复杂,因为它使用了脚本的方法来编写安装程序。复杂的东西好处多多,用inno setup制作安装程序几乎可以说可以定制任何需要的界面或个性化的安装程序,并且它可以调用API函数和使用事件。研究了一天也算是把它研究的比较熟悉了,呵呵,看来以后要多用这个编写安装程序了。强烈推荐给大家哟。 忘了
2013-03-31 14:20:21 1119
原创 对COM的重新认识
最近把COM的内容重新看了下,有了新的认识和感悟,个人觉得微软设计COM不仅仅是为了丰富内容和夸语言兼容代码,COM这个东西,更多是思想(这个很重要)上的提升,对设计模式,架构设计都有很好的提高。COM虽然比较复杂但有条理,其中的思路是很值得学习的,设计思想上的东西往往比编码更为重要,也并非说编码不重要,只是相对而言,把COM的设计思想搞明白,会更容易理解COM为什么会出现,和它的意义。编程思想上
2013-03-31 14:18:43 729
原创 字符串查找汇编修改版,可供C++调用了
今天测试了一个PASCAL中的字符串搜索函数Pos,这个函数速度很快,由于需要所以修改了供C++使用,由于语言差异,内置的Pos函数参数都是ansistring类型,C++无法使用这种类型,所以修改了下,可以供C++使用了,函数如下:(参数为指针和整形,都是基本数据类型,就可以很好的供其他语言调用了)function MyPos(const substr, str: PChar; Subs
2013-03-31 14:08:38 879
转载 float和double在的存储方式
C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用 32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范 的,float遵从的是IEEE R32.24 ,而d
2013-03-31 14:05:24 655
转载 Windows下安装wxWidgets
Windows os下安装wxWindows的详细过程:1、 登陆http://www.wxwidgets.org/,下载wxMSW-2.8.8-Setup.exe2、 运行wxMSW-2.8.8-Setup.exe,将wxWidgets安装到D:\wxWidgets-2.8.83、 安装完毕后还需要进行编译,要求有IDE,我用的是MS Visual S
2013-03-31 14:02:30 755
原创 Delphi 2010支持泛型了,更复杂更强大
因为工作原因,使用了Delphi2010,发现Delphi 2010支持泛型了,这个东西以前一直是C++的东西,现在尽然Object Pascal也支持了,虽然更复杂,但更符合逻辑语言了,非常的好,因为2007都还没有支持泛型,估计是在2009版本中支持的,有了对泛型的支持,则更趋完美,更符合人类语言,但确实是理解上更难一些,但一旦理解透彻,使用将得心应手。简单举两个列子吧:TList到
2013-03-30 21:58:50 5778 1
原创 COM+试水
今天对COM+进行了实际的测试,简单说,COM+本质也是COM,COM+引入了一种方式,也就是说可以对COM的虚对象进行子类化,这个有点像面向对象中从父类(纯虚类)中派生了一个子类,通过调用父类的虚方法,进而调用子类的方法。这个思想更切合面向对象的设计思想了。不过,COM+的安装确实复杂,不像COM那么简单,COM+在系统中是做为一个服务组件在运行,要安装COM+的组件必须要在系统组件服务的COM
2013-03-30 21:56:44 936
转载 C++连接MYSQL数据库
001//下面的代码是一个实现C++连接MYSQL数据库的很好的例子002//这里用了建表,插入,检索,删表等常用功能003//我用VC++6.0生成,已经成功连接了。004//在VC++6.0中要想把做一下两步准备工作才可以。005//(
2013-03-30 21:55:03 709
转载 WinDbg 调试无源码驱动方法
在 SoftICE 不再更新以后,WinDbg 几乎成了 windows 内核专有调试器,另有国人开发的一款 Syser 单机内核调试器,不过不争气的是总是喜欢蓝屏,真不知道是自己写的程序先崩溃还是Syser先崩溃,不过毕竟是国货,期望它能够越来越完美。WinDbg 不仅能调试用户态进程,还能调试内核,最近逆向一个驱动程序,有些地方不进行调试还真不好猜测其运行方式。之前使用WinDbg都是
2013-03-30 21:53:47 2629
转载 控制寄存器(CR0,CR1,CR2,CR3,CR4)
CR0 是系统内的控制寄存器之一。控制寄存器是一些特殊的寄存器,它们可以控制CPU的一些重要特性。 0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。 1 位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码WAIT是否产生一个“协处理
2013-03-30 21:51:32 2992
转载 使用VS2008编译驱动程序
一.用VS2008创建一个Win32控制台应用程序,在“附加选项”处勾选“空项目”二.将编写好的源代码文件导入项目中三.修改VS2008设置,添加支持驱动程序编译链接的头文件和库文件 在Include目录中添加: D:\软件\WINDDK\2600\inc\w2k D:\软件\WINDDK\2600\inc\ddk\w2k D
2013-03-30 21:49:34 1092
转载 BCD码指令 AAA DAA AAS DAS AAM AAD
十进制数(BCD码)运算指令 以上我们介绍的是二进制数的算术运算指令,二进制数在计算机上进行运算是非常简单的。但是,通常人们习惯于用十进制数。在计算机中十进制数是用BCD码来表示的,BCD码有两类:一类叫压缩型BCD码,一类叫非压缩型BCD码。用BCD码进行加、减、乘、除运算,通常采用两种方法:一种是在指令系统中设置一套专用于BCD码运算的指令;另一种是利用二进制数的运算指令算出结果
2013-03-30 21:48:12 28125 5
原创 逆向分析能做什么或应用范围、应该怎么做
逆向分析的应用范围有哪些,我想主要的有几点:1、病毒行为特征的分析,更好进行反病毒软件的编写。2、内部算法的了解分析,进行软件行为的模拟。3、软件的破解,去除各类软件的限制。4、解密算法,解密各类加密文件。5、分析其算法,进行各类外挂的设计。6、在没有源码的情况下,对现有软件进行直接的修改,扩展其功能。7、分析网络数据包格式,模拟发送网络数据
2013-03-30 21:45:30 3246
转载 MFC DLL中添加DllMain的方法
使用的是MFC DLL,但是却想添加DllMain作为入口函数,但是很明显直接编译肯定编不过.因为在MFC框架中DllMain已经被封装了.所以在这里介绍一个通过编译的简单方法:右键 -] 项目属性 -] 配置属性 -] c++ -] 预处理器删除_USRDLL即可
2013-03-30 21:44:33 1229
原创 C++与Pascal
C++代码,每一句都交代的很清楚,复杂的语句也是用操作符重载的方式来说明,C++特点就是不会隐藏太多的细节,但是从某种程度上说你的代码复杂度就增加了,而Pascal对某些操作可以用一种抽象的,编译器允许的方式表达,比如对COM对象的后期绑定的表达方式,可以直接用(OLEVariant.方法)的表达方式来引用COM对象的接口,这种表示方式对用户来讲使用更简单更方便了,但是从语法的角度讲,编译器隐藏了
2013-03-30 21:43:17 2148
原创 VMware与Virtual Box
两个虚拟机都用过,早起一直都用VMware,由于VMware是老牌,所以早期使用,一直以来都对VMware运行的速度和内存占用不太满意,主要是资源消耗太大,直到使用了Virtual Box就基本没有使用VMware了,因为他解决了最主要的问题,资源和速度,Virtual Box的速度很快,资源消耗也小,体验很好,建议大家尝试。Virtual Box现在是Oracle的产品了。
2013-03-30 21:42:21 1307
转载 Windbg调试
微软中国技术中心在帮助国内硬件厂商开发驱动程序和获得 DESIGHED FOR WINDOWS徽标时,发现有些开发驱动程序的工程师没有利用windbg这个功能强大的调试工具,所以本期特别向读者介绍调试工具Windbg。前言绝大多数在Windows平台上研发软件的工程师都非常熟悉Microsoft Visual Studio, Visual Studio方便友好的界面,强大的调试功能
2013-03-30 21:41:39 775
转载 内核同步对象
内核同步对象(上) Windows NT提供了五种内核同步对象(Kernel Dispatcher Object),你可以用它们控制非任意线程(普通线程)的流程。表4-1列出了这些内核同步对象的类型及它们的用途。在任何时刻,任何对象都处于两种状态中的一种:信号态或非信号态。有时,当代码运行在某个线程的上下文中时,它可以阻塞这个线程的执行,调用KeWaitForSingleObjec
2013-03-30 21:39:46 1975
原创 谨慎驱动开发
驱动开发最难的我想不是编写代码,而是代码调试,一个简单的空指针访问就会导致直接蓝屏,因为驱动调试本身比较麻烦,所以尽可能的多打印调试信息,在每编写一行C代码的时候,都需要非常谨慎,否则随着代码的增多,就会更难定位到问题,今天遇到3次蓝屏都是因为对象没有初始化,内核和系统紧密联系在一起,所以要编写稳定的代码,需备加小心,能静心,临危不乱。优秀的设计者是对自己有信心。
2013-03-30 21:38:23 587
转载 分配和释放 BSTR 的内存
分配和释放 BSTR 的内存Visual Studio .NET 2003当创建 BSTR 并在 COM 对象之间传递它们时,必须小心地处理它们所使用的内存以避免内存泄漏。当 BSTR 停留在接口中时,在完成其使用后必须释放出它的内存。但是,如果 BSTR 传递出了接口,那么接收对象将负责它的内存管理。一般情况下,分配和释放分配给 BSTR 的内存的
2013-03-30 21:37:07 664
转载 vs2008/2005 MFC资源编辑添加成员变量向导出现脚本错误的解决方法
今天用vs.net 2005修改一个以前做的mfc应用项目,编辑一个对话框界面,右键单击一个文本编辑框,添加成员变量,弹出成员变量编辑对话框时出现错误信息:对象不支持此属性或方法。 这是一个常见的网页脚本错误信息,出错的页面文件就是vs2005成员变量编辑对话框的界面页面文件,文件路径是file:///c/Program Files:/Microsoft Visual Studio 8/VC/
2013-03-30 21:35:54 893
转载 SFTP协议
SCP协议本身打开SSH通道时指定的是scp命令,而是用SFTP时指定的sftp。以下是一些具体的介绍,详细内容需要参考对应的RFC文件。下面是目前整理的使用的一份:1) 协议中数据包格式通过安全通道传输的所有包的格式如下: uint32 length byte type uint3
2013-03-30 21:33:05 1141
转载 Boost 1.48.0编译
1. 至http://www.boost.org/users/history/version_1_48_0.html下载boost最新版1.48.0;2. 解压缩后,运行bootstrap.bat批处理文件,得到bjam.exe;3. 进入VS2008的Command Prompt (方法:Tools -> Visual Studio 2008 Command Prompt),转到
2013-03-30 21:31:35 650
转载 VS2005下wxWidgets-2.8.x环境的搭建
wxWidgets的下载、安装和编译1. 去http://www.wxwidgets.org/downloads/下载一个wxMSW版本的wxWidgets。2. 运行安装文件。在安装好后设置环境变量WXWIN,指向wxWidgets的安装目录。因为安装过程仅仅是把文件拷贝到指定的目录,所以还需要对wxWidgets进行编译。3. 进入$(WXWIN)\build\msw目录,用VS2
2013-03-30 21:29:32 618
转载 C++ 调用Lua简单例子
1 #include 2 3 extern "C"{ 4 #include "lua.h" 5 #include "lualib.h" 6 #include "lauxlib.h" 7 }; 8 9 10 lua_State *L;11 int luaAdd(int x, int y)12 {13 int sum;14 lua_getglobal(L
2013-03-29 16:01:49 711
转载 成员函数指针与高效C++委托 (delegate)
原文地址: http://www.codeproject.com/KB/cpp/FastDelegate.aspx下载实例源代码 - 18.5 Kb下载开发包库文件 - 18.6 Kb概要很遗憾, C++ 标准中没能提供面向对象的函数指针. 面向对象的函数指针也被称为闭包(closures) 或委托(delegates), 在类似的语言中已经体现出了它的价值. 在 De
2013-03-29 10:07:11 848
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人