再现理想 发表于 2015-2-16 00:23:15

ASP网站制作之Win2000下历程埋没的一种计划

因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。   非常抱愧,仓促写了几句代码有点bug,即“ZwOpenSection(&g_hMPM,SECTION_MAP_WRITE|SECTION_MAP_WRITE,&attributes)”使得第一次运转前往掉败,请删除原文,更正为:

pjf (jfpan20000@sina.com)

前次在CVC提到了这器材,由于很复杂感觉没需要多说甚么,但有人请求写全,所以增补几句:

良多帖子对此论题作了剖析,好比APIHOOK、体系办事HOOK等等,至于远线程注入没有本人的历程,本不算“埋没”。

这里写一个2000下的完整埋没办法,很复杂,也没甚么新意。

在解说之前,起首提一提一些布局,历程履行体块中无数个历程相干链,个中之一是举动历程链。此链的主要
感化之一就是在查询体系信息时供遍历以后举动历程,很成心思的是M$能够因效力要素使它被扫除出历程中心块,
意味进线程切换等操作时其实不使用它,进一步说改写它也不应有不成无视的成绩(此即本计划的基本)。

怎样做很分明了,在举动历程双向链中删除想要得埋没的历程既可,中心调试器(如softice/proc)亦查不出来。



2000下的埋没以后历程的代码以下:

#include
#include
#include

#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)

typedef LONG NTSTATUS;
typedef struct _IO_STATUS_BLOCK
{
NTSTATUS Status;
ULONG Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;

typedef struct _UNICODE_STRING
{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;

#define OBJ_INHERIT 0x00000002L
#define OBJ_PERMANENT 0x00000010L
#define OBJ_EXCLUSIVE 0x00000020L
#define OBJ_CASE_INSENSITIVE 0x00000040L
#define OBJ_OPENIF 0x00000080L
#define OBJ_OPENLINK 0x00000100L
#define OBJ_KERNEL_HANDLE 0x00000200L
#define OBJ_VALID_ATTRIBUTES 0x000003F2L

typedef struct _OBJECT_ATTRIBUTES
{
ULONG Length;
HANDLE RootDirectory;
PUNICODE_STRING ObjectName;
ULONG Attributes;
PVOID SecurityDescriptor;
PVOID SecurityQualityOfService;
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;

typedef NTSTATUS (CALLBACK* ZWOPENSECTION)(
OUT PHANDLE SectionHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes
);

typedef VOID (CALLBACK* RTLINITUNICODESTRING)(
IN OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString


非常抱愧,仓促写了几句代码有点bug,即“ZwOpenSection(&g_hMPM,SECTION_MAP_WRITE|SECTION_MAP_WRITE,&attributes)”使得第一次运转前往掉败,请删除原文,更正为:

pjf (jfpan20000@sina.com)

前次在CVC提到了这器材,由于很复杂感觉没需要多说甚么,但有人请求写全,所以增补几句:

良多帖子对此论题作了剖析,好比APIHOOK、体系办事HOOK等等,至于远线程注入没有本人的历程,本不算“埋没”。

这里写一个2000下的完整埋没办法,很复杂,也没甚么新意。

在解说之前,起首提一提一些布局,历程履行体块中无数个历程相干链,个中之一是举动历程链。此链的主要
感化之一就是在查询体系信息时供遍历以后举动历程,很成心思的是M$能够因效力要素使它被扫除出历程中心块,
意味进线程切换等操作时其实不使用它,进一步说改写它也不应有不成无视的成绩(此即本计划的基本)。

怎样做很分明了,在举动历程双向链中删除想要得埋没的历程既可,中心调试器(如softice/proc)亦查不出来。



2000下的埋没以后历程的代码以下:

#include
#include
#include

#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)

typedef LONG NTSTATUS;
typedef struct _IO_STATUS_BLOCK
{
NTSTATUS Status;
ULONG Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;

typedef struct _UNICODE_STRING
{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;

#define OBJ_INHERIT 0x00000002L
#define OBJ_PERMANENT 0x00000010L
#define OBJ_EXCLUSIVE 0x00000020L
#define OBJ_CASE_INSENSITIVE 0x00000040L
#define OBJ_OPENIF 0x00000080L
#define OBJ_OPENLINK 0x00000100L
#define OBJ_KERNEL_HANDLE 0x00000200L
#define OBJ_VALID_ATTRIBUTES 0x000003F2L

typedef struct _OBJECT_ATTRIBUTES
{
ULONG Length;
HANDLE RootDirectory;
PUNICODE_STRING ObjectName;
ULONG Attributes;
PVOID SecurityDescriptor;
PVOID SecurityQualityOfService;
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;

typedef NTSTATUS (CALLBACK* ZWOPENSECTION)(
OUT PHANDLE SectionHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes
);

typedef VOID (CALLBACK* RTLINITUNICODESTRING)(
IN OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString


asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!

海妖 发表于 2015-2-16 00:39:22

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

爱飞 发表于 2015-2-17 07:50:19

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

小女巫 发表于 2015-3-5 17:15:36

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

若相依 发表于 2015-3-12 10:37:40

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

再见西城 发表于 2015-3-19 20:30:40

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

活着的死人 发表于 2015-4-1 04:36:33

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

飘灵儿 发表于 2015-4-15 01:28:27

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

愤怒的大鸟 发表于 2015-4-18 05:38:31

下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。

不帅 发表于 2015-4-24 08:20:37

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

小魔女 发表于 2015-5-4 20:22:56

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

透明 发表于 2015-5-6 04:09:59

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

admin 发表于 2015-5-6 23:10:06

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

乐观 发表于 2015-5-7 17:46:24

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

谁可相欹 发表于 2015-5-8 14:22:38

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

简单生活 发表于 2015-5-12 09:07:24

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

第二个灵魂 发表于 2015-6-20 21:18:55

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

山那边是海 发表于 2015-7-29 00:41:15

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

小妖女 发表于 2015-9-26 13:50:44

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

因胸联盟 发表于 2015-9-29 23:06:29

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
页: [1]
查看完整版本: ASP网站制作之Win2000下历程埋没的一种计划