这个是主程序,它的模块信息: 名称 基址 大小 入口点 f:\embed\etools\Debug\bin\bash.exe 00400000 0006f000 0045bb30 对应的内存块: 这些块的类型都是MEM_IMAGE,且分配时的保护标志都是PAGE_EXECUTE_WRITECOPY,MSDN这样解释这 个标志位: Enables execute, read, and write acc 发布时间:2012-06-30 作者: 佚名技术 views(546)
还在Dos时代,人们就在寻求一种多任务的实现。于是出现了TSR类型的后台驻留程序,比较有代表性的有Side Kick、Vsafe等优秀的TSR程序,这类程序的出现和应用确实给用户使用计算机带来了极大的方便,比如Side Kick,我们编程可以在不用进编辑程序的状态下,一边编辑源程序,一边编译运行,非常方便。但是,Dos单任务操作系统的 发布时间:2012-06-30 作者: 佚名技术 views(380)
《windows核心编程》告诉我们,对于每个应用程序的4G虚拟空间可以分为4个大块: 0x0000 0000 ~ 0x0000 ffff:空指针赋值分区 0x0001 0000 ~ 0x7ffe ffff:用户模式分区 0x7fff 0000 ~ 0x7fff ffff:64K禁入分区 0x8000 0000 ~ 0xffff ffff:内核模式分区 但是再要具体点就需要自己研究了。 咱就来看看一个应用程序是怎么使用 发布时间:2012-06-30 作者: 佚名技术 views(166)
每个线程都有自己的栈空间,这个空间大小是在CreateThread时指定的,而主线程的栈则是由xp在创 建进程时指定的,在vs2008下设置一个断点,中断程序的执行,可以看到主线程ESP的值为0x00124914, 这个指针落在下面这个区域: 这块空间的上限是0x0013 0000,这个值与我们读出来的NT_TIB结构体里面的StackBase的值是一致的 , 发布时间:2012-06-30 作者: 佚名技术 views(201)
在去除前面的部分后,看看内存里还剩下什么: 基址 分配基址 分配保护 大小 状态 保护 类型 00010000 00010000 00000004 PAGE_READWRITE 00002000 00001000 MEM_COMMIT 00000004 PAGE_READWRITE 00020000 MEM_PRIVATE 发布时间:2012-06-30 作者: 佚名技术 views(372)
***非静态成员函数(Nonstatic Member Functions)*** C++的设计准则之一就是: nonstatic member function至少必须和一般的nonmember function有相同的效率。也就是说,如果我们 要在以下两个函数之间作选择: float magnitude3d(const Point3d *this) { ... } float Point3d::magnitude3d() const { ... } 那么选择member 发布时间:2012-06-30 作者: 佚名技术 views(695)
软件试用次数的限制有很多种方法,其关键是把次数这个值存储在哪里。本文介绍一种方法,通过改变文件的时间来存储试用次数,从而限制软件的试用。 一、通过改变文件时间来限制软件的试用次数 在MS-DOS中,文件的时间是 通过一个16位的值来保存的,位 15~11用来保存小时数,位10~5用 来保存分钟数,位4~0用来保存秒钟数。这个 发布时间:2012-06-30 作者: 佚名技术 views(563)
在WIN9X中,只需要将进程注册为系统服务就能够从进程查看器中隐形,可是这一切在WINNT中却完全不同,无论木马从端口、启动文件上如何巧妙地隐藏自己,始终都不能欺骗WINNT的任务管理器,以至于很多的朋友问我:在WINNT下难道木马真的再也无法隐藏自己的进程了?本文试图通过探讨WINNT中木马的几种常用隐藏进程手段,给大家揭 发布时间:2012-06-30 作者: 佚名技术 views(581)
|