仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3470|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网站制作之Win2000下历程埋没的一种计划

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:23:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因为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 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
若相依 该用户已被删除
5#
发表于 2015-3-12 10:37:40 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
再见西城 该用户已被删除
6#
发表于 2015-3-19 20:30:40 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
活着的死人 该用户已被删除
7#
发表于 2015-4-1 04:36:33 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
飘灵儿 该用户已被删除
8#
发表于 2015-4-15 01:28:27 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-4-18 05:38:31 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
不帅 该用户已被删除
10#
发表于 2015-4-24 08:20:37 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
小魔女 该用户已被删除
11#
发表于 2015-5-4 20:22:56 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
透明 该用户已被删除
12#
发表于 2015-5-6 04:09:59 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
admin 该用户已被删除
13#
发表于 2015-5-6 23:10:06 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
乐观 该用户已被删除
14#
发表于 2015-5-7 17:46:24 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
谁可相欹 该用户已被删除
15#
发表于 2015-5-8 14:22:38 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
简单生活 该用户已被删除
16#
发表于 2015-5-12 09:07:24 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
第二个灵魂 该用户已被删除
17#
发表于 2015-6-20 21:18:55 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
山那边是海 该用户已被删除
18#
发表于 2015-7-29 00:41:15 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
小妖女 该用户已被删除
19#
发表于 2015-9-26 13:50:44 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
因胸联盟 该用户已被删除
20#
发表于 2015-9-29 23:06:29 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 13:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表