|
[求助]卡巴斯基的监控进程注入 是怎么实现的?
use device driver and hook CreateRemoteThread() |
|
[原创]Windows系统程序设计之内存映射
Windows在做File Mapping的时候,是通过Windows memory manager创建一个section object,同时分配一块virtual address space里的memory block。一般有两类section object: pagefile-based:作为进程间共享数据用,并且可以映射到任何地址,包括user space和kernel space。 file-based:方便对文件的访问。好像从Windows XP开始,拷贝小于32KB的文件,系统实际上是通过基于文件的memory mapping来实现的。 |
|
[调查]这里的delphi程序员多吗?
我在面试一些声称搞了多年Delphi的程序员时,最爱出的一个题目是: 请告诉我short string,ANSI string,WideString在内部表达上的区别。 如果说是玩儿C/C++有5年以上的经验,下面的题目也可以试一试,它们的区别在哪里: int s1[65536]; int s2[65536] = {0}; int s3[65536] = {0,}; 如果说也是搞计算机安全和逆向工程的,加一个问题:在PE文件里它们是如何储存的? |
|
用任务管理器结束任务多半会引起内存泄漏是吗?[讨论]
但是肯定会有handle leak |
|
|
|
|
|
关于VirtualQueryEx这个API的使用,急切盼高手指点
假定你想访问地址0x1234 5678。因为内存分页和硬件有关,你在安装操作系统的时候,它会据此安装对应的程序。 WinCE等小玩具: 2 KB x86: 4 KB AMD64/IA64: 8KB 假定你在x86上,则所在地址的页面起始地址是0x1234 5000,x64的机器则是0x1234 4000。 SIZE_T VirtualQueryEx( HANDLE hProcess, LPCVOID lpAddress, // == 0x12345000 PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength ); typedef struct _MEMORY_BASIC_INFORMATION { PVOID BaseAddress; PVOID AllocationBase; DWORD AllocationProtect; SIZE_T RegionSize; DWORD State; DWORD Protect; DWORD Type; } MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION; 如果VirtualQueryEx的lpvAddress实在一个EXE或DLL中时,AllocationBase就是此EXE或DLL的基地址(ImageBase)。 |
|
|
|
请问有没有人成功nmake过Microsoft的Detours Pack啊?
1. Try VS2003 or 2005, that should work. 2. Detours是帮助你写你自己的DLL,它本身只是一些function call。 |
|
[求助]不知道哪位用过pageheap,特此请教
Please tell me the URL, do not understand what you mean here. |
|
[求助]hook RtlFreeHeap以后出现访问错误
通过指针访问当然可以,只是你的访问越界,很多人编程容易出这个问题。 |
|
|
|
[原创]基于Windows的二级文件系统开发
更多的改进可以参考:TurboPower B-Tree Filer (http://sourceforge.net/projects/tpbtreefiler) B-Tree Filer is a fast library of file-based database routines for Borland Turbo Pascal & Delphi. B-Tree Filer supports stand-alone programs or those running on Microsoft-compatible networks including Novell Netware. |
|
[调查]这里的delphi程序员多吗?
“你在它上面编译的什么语言,都一回事,都要经过平台的二次转译才行” Java不就是这样的吗? 而且谁说.NET不能做自修改的程序?你以为只有汇编才可以吗?看看MSIL/Gastropod,就是利用System.Reflection.Emit namespace来修改自己的。 “然后向我们收取入门费” 这里有几个人是自己掏银子买的正版?连版权费都不交,就不要奢谈什么入门费和别的了。你以为Linux真的免费吗?不然那么多高喊“open source”的公司靠什么活下去? 敢情Ivanov是学Lisp才体会出指针是对付class的。在下不才,本科时也玩过Lisp和prolog,可能我是学错了,但我的理解是: 一是Lisp里的pointer和C/C++没有大的区别,都是对对象的引用,而对象(object)和类(class)是有区别的。二,Lisp里确实有很多递归,这是这个语言的特点,但是我还是想象不出来这里的指针的处理还需要加减乘除以外的什么运算和特别的数学基础?敬请指教。Lisp里指针的作用主要只是对地址的引用,其能力远较C/C++的逊色。 Lisp主要是做人工智能的,但1960年代开发的语言和现在的需求还是有很大差距,语言本身的局限也很大。那个时候人工智能刚刚起步,而且主流的思想是通过构造严格的逻辑推理系统,就能产生新的知识,专家系统就是一个例子。但到80年代就走入了死胡同。 记得读本科时一次西北工业大学的一个搞人工智能的教授来讲座,他是做模式识别的,说很惭愧,一大帮硕士博士老师搞出来的东西比不过几岁的小孩。一张一块钱的纸币仍在地上和报纸上,小家伙都能马上发现;你用程序来做,能累死人。他知道圆杯子能喝水,给他一个方形的,他知道这还是杯子;计算机就做不到,Lisp推理不出来。 人工智能有很多方向,Lisp只是一门相关的编程语言,和研究方向以及.NET风牛马不相及,扯不到一起去。 |
|
求MIME编码、解码算法
你完全可以自己编。 MIME的编码格式可参考相对应的RFC标准,这个链接不错: http://www.livinginternet.com/e/ea_att_mime.htm |
|
[调查]这里的delphi程序员多吗?
ANSI: http://web.ansi.org/ more: http://www.csci.csusb.edu/dick/c++std/ 为什么gcc不100%符合C++标准: “Extensions to the C++ Language” http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_5.html |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值