黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

用delphi獲取主板BIOS信息

瀏覽:7日期:2024-07-05 11:53:40

1、讀取主板序列號

2、AWard Bios密碼讀取

3、讀取BIOS信息

4、獲取BIOS日期信息

=========================================

1、讀取主板序列號

uses SHA1, Base64;function GetHashedBiosInfo: string;var  SHA1Context: TSHA1Context;  SHA1Digest: TSHA1Digest;begin  // Get the BIOS data  SetString(Result, PChar(Ptr($F0000)), $10000);  // Hash the string  SHA1Init(SHA1Context);  SHA1Update(SHA1Context, PChar(Result), Length(Result));  SHA1Final(SHA1Context, SHA1Digest);  SetString(Result, PChar(@SHA1Digest), sizeof(SHA1Digest));  // Return the hash string encoded in printable characters  Result := B64Encode(Result);end;function GetBiosInfoAsText: string;var  p, q: pchar;begin  q := nil;  p := PChar(Ptr($FE000));  repeat if q <> nil then begin  if not (p^ in [#10, #13, #32..#126, #169, #184]) then begin if (p^ = #0) and (p - q >= 8) then begin  Result := Result + TrimRight(String(q)) + #13#10; end; q := nil;  end; end else  if p^ in [#33..#126, #169, #184] then q := p; inc(p);  until p > PChar(Ptr($FFFFF));  Result := TrimRight(Result);end;procedure TForm1.FormCreate(Sender: TObject);begin  Memo1.Lines.Text := GetBiosInfoAsText;end;========================2、AWard Bios密碼讀取(應該是jingtao的文章,但是ID沒有記錄)

Unit AwardBiosPas;//Write by lovejingtao//http://www.138soft.cominterfaceuses windows,SysUtils;function My_GetBiosPassword:String;implementationfunction CalcPossiblePassword(PasswordValue: WORD): string;varI: BYTE;C: CHAR;S: string[8];beginI := 0;while PasswordValue <> 0 do  begin Inc(I); if $263 > PasswordValue then  begin if $80 > PasswordValue then  S[I] := CHAR(PasswordValue) else if $B0 > PasswordValue then  S[I] := CHAR(PasswordValue and $77) else if $11D > PasswordValue then  S[I] := CHAR($30 or (PasswordValue and $0F)) else if $114 > PasswordValue then  begin S[I] := CHAR($64 or (PasswordValue and $0F)); if '0' > S[I] then  S[I] := CHAR(BYTE(S[I]) + 8);  end else if $1C2 > PasswordValue then  S[I] := CHAR($70 or (PasswordValue and $03)) else if $1E4 > PasswordValue then  S[I] := CHAR($30 or (PasswordValue and $03)) else  begin S[I] := CHAR($70 or (PasswordValue and $0F)); if 'z' < S[I] then  S[I] := CHAR(BYTE(S[I]) - 8);  end;  end else  S[I] := CHAR($30 or (PasswordValue and $3)); PasswordValue := (PasswordValue - BYTE(S[I])) shr 2;  end;S[0] := CHAR(I);PasswordValue := I shr 1;while PasswordValue < I do  begin {this is to do because award starts calculating with the last letter} C := S[BYTE(S[0]) - I + 1]; S[BYTE(S[0]) - I + 1] := S[I]; S[I] := C; Dec(I);  end;CalcPossiblePassword := S;end;function readcmos(off: byte): byte;varvalue: byte;beginasm xor ax, ax mov al, off out 70h, al in al, 71h mov value, alend;readcmos := value;end;function My_GetBiosPassword:String;varsuperpw, userpw: word;S:String;beginif Win32Platform <> VER_PLATFORM_WIN32_NT then //不是NTbeginpchar(@superpw)[0] := char(readcmos($1C));pchar(@superpw)[1] := char(readcmos($1D));pchar(@userpw)[0] := char(readcmos($64));pchar(@userpw)[1] := char(readcmos($65));S:='超級用戶密碼為:'+CalcPossiblePassword(superpw)+#13+'用戶密碼為:'+CalcPossiblePassword(userpw);Result:=S;endelseResult:='用戶系統為NT,無法獲取BISO密碼!';end;end.=========================

3、讀取BIOS信息

{程序使用Windows 95/2000平臺,自動檢測系統類型,然后進行不同調用}

uses BiosHelp;procedure TForm1.Button1Click(Sender: TObject);varDump: TRomBiosDump;i: Integer;beginReadRomBios(Dump, rrbmAutomatic);for i := 1 to $000FFFFF - $000F0000 - 1 do  Memo1.Lines.Add(IntToHex(Dump[i + $000FFFFF], 2));end;(******************************************************************************** ** BIOS Help - read ROM BIOS on Windows 95/98/SE/ME/NT/2K/XP** ** Copyright (C) 2001, Nico Bendlin (nico@bendlin.de)  ** ** Compiler: Delphi 4.03/5.01/6.00 ** Version: 1.03, 2001-09-02** ********************************************************************************){ postum scriptum: sorry for the bad english, i wrote it in a hurry }unit BiosHelp;{$ALIGN ON}{$MINENUMSIZE 4}interfaceusesWindows;typePRomBiosDump = ^TRomBiosDump;TRomBiosDump = array[$000F0000..$000FFFFF] of Byte;typeTReadRomBiosMethod = (  rrbmAutomatic, { Autodetect OS type and use proper method }  rrbmGeneric,{ Use 16-bit COM program to dump the BIOS }  rrbmMemory, { Read from memory (Win9x) }  rrbmPhysical{ Read from physical memory object (WinNT) }  );function ReadRomBios(var Dump: TRomBiosDump; Method: TReadRomBiosMethod;Timeout: DWORD = INFINITE): Boolean;function GetRomBiosBuffer(const Dump: TRomBiosDump; Address: Pointer;var Buffer; BufferSize: Cardinal): Cardinal;function GetRomBiosString(const Dump: TRomBiosDump; Address: Pointer): string;function GetRomBiosLongLong(const Dump: TRomBiosDump; Address: Pointer): LONGLONG;function GetRomBiosDWord(const Dump: TRomBiosDump; Address: Pointer): DWORD;function GetRomBiosWord(const Dump: TRomBiosDump; Address: Pointer): Word;function GetRomBiosByte(const Dump: TRomBiosDump; Address: Pointer): Byte;implementation{################################################################################ ## GENERIC METHOD  ## ## Create an temporary folder, save an 16bit COM program (RomDump.com) into it, ## execute program redirected to an file (Rom.dmp, RomDump.com simply dumps the ## memory range F000:0000-F000:FFFF to STDOUT), read dump file into the buffer, ## and finally cleanup all temporary files and directories. ## ## (the function RomDumpCode is x86 specific, which i wrote to generate 16-bit ## code with the help of the 23-bit Delphi compiler, never try to execute the ## pseudo-code in your program! it will not work in 32-bit protected mode) ## ################################################################################}{ *INTERNAL* - Pseudo 16-bit code }typePRomDumpCodeInfo = ^TRomDumpCodeInfo;TRomDumpCodeInfo = (rdciStart, rdciEnd, rdciSize);function _RomDumpCode(Info: TRomDumpCodeInfo): Pointer;varCodeStart: Pointer;CodeEnd: Pointer;beginasm JMP @@End { *BEGIN* 16-bit code } { -- never use it in your program! -- } { COM which writes ROM-BIOS to StdOut }@@Start: { Dump F000:0000-F000:FFFE } XOR eDX, eDX // DS = 0xF000  ; Data segment MOV DH, 0F0h MOV DS, eDX XOR eDX, eDX // DX = 0x0000  ; Data offset XOR eCX, eCX // CX = 0xFFFF  ; Data length DEC eCX XOR eBX, eBX // BX = 0x0001  ; STDOUT (file handle) INC eBX MOV AH, 40h  // DosCall(0x40) ; INT21, DOS_WRITE_TO_HANDLE INT 21h JC @@Exit// On error exit ; AL = Error code { Dump F000:FFFF } XOR eDX, eDX // DS = 0xF000  ; Data segment MOV DH, 0F0h MOV DS, eDX XOR eDX, eDX // DX = 0xFFFF  ; Data offset DEC eDX XOR eCX, eCX // CX = 0x0001  ; Data length INC eCX MOV eBX, eCX // BX = 0x0001  ; STDOUT (file handle) MOV AH, 40h  // DosCall(0x40) ; INT21, DOS_WRITE_TO_HANDLE INT 21h JC @@Exit// On error exit ; AL = Error code MOV AL, 0 // no error ; AL = 0@@Exit: MOV AH, 4Ch  // DosCall(0x4C) ; INT21, DOS_TERMINATE_EXE INT 21h@@End: { *END* 16-bit code } MOV CodeStart, OFFSET @@Start MOV CodeEnd, OFFSET @@Endend;case Info of  rdciStart: Result := CodeStart;  rdciEnd: Result := CodeEnd;  rdciSize: Result := Pointer(Cardinal(CodeEnd) - Cardinal(CodeStart));else  Result := nil;end;end;{ *INTERNAL* - Save 16-bit code to file }function _RomDumpCodeToFile(const Filename: string): Boolean;varComFile: THandle;Size: Cardinal;beginResult := False;ComFile := CreateFile(PChar(Filename), GENERIC_WRITE, FILE_SHARE_READ, nil,  CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);if ComFile <> INVALID_HANDLE_VALUE thentry  Result := WriteFile(ComFile, _RomDumpCode(rdciStart)^, Cardinal(_RomDumpCode(rdciSize)), Size, nil) and (Size = Cardinal(_RomDumpCode(rdciSize)));  if not Result then DeleteFile(PChar(Filename));finally  CloseHandle(ComFile);end;end;{ *INTERNAL* - Execute 16-bit code redirected to file }function _RomDumpCodeExecute(const Com, Dmp: string; Timeout: DWORD): Boolean;varComSpec: string;si: TStartupInfo;pi: TProcessInformation;beginResult := False;SetLength(ComSpec, MAX_PATH);SetLength(ComSpec,  GetEnvironmentVariable('ComSpec', PChar(@ComSpec[1]), MAX_PATH));if Length(ComSpec) > 0 thenbegin  FillChar(si, SizeOf(TStartupInfo), 0);  si.cb := SizeOf(TStartupInfo);  si.dwFlags := STARTF_USESHOWWINDOW;  si.wShowWindow := SW_HIDE;  if CreateProcess(nil, PChar(ComSpec + ' /C ' + Com + ' > ' + Dmp), nil, nil, False, CREATE_NEW_CONSOLE or CREATE_NEW_PROCESS_GROUP, nil, nil, si, pi) then  try Result := WaitForSingleObject(pi.hProcess, Timeout) <> WAIT_TIMEOUT;  finally CloseHandle(pi.hProcess); CloseHandle(pi.hThread);  end;end;end;function DirectoryExists(const Dir: string): Boolean;varAttr: DWORD;beginAttr := GetFileAttributes(PChar(Dir));Result := (Attr <> $FFFFFFFF) and  (Attr and FILE_ATTRIBUTE_DIRECTORY = FILE_ATTRIBUTE_DIRECTORY);end;{ Get BIOS dump the generic way }function ReadRomBios16(var Buffer: TRomBiosDump; Timeout: DWORD): Boolean;constTempSub = '~RomDmp';ComName = 'RomDump.com';DmpName = 'Rom.dmp';varTempPath: string;TempDir: string;TempIdx: Integer;TempIdxStr: string;ComFile: string;DmpFile: string;DmpHandle: THandle;Written: DWORD;beginResult := False;SetLength(TempPath, MAX_PATH);SetLength(TempPath, GetTempPath(MAX_PATH, PChar(@TempPath[1])));if Length(TempPath) > 0 thenbegin  if (TempPath[Length(TempPath)] <> '') then TempPath := TempPath + '';  TempIdx := 0;  repeat Inc(TempIdx); Str(TempIdx, TempIdxStr); TempDir := TempPath + TempSub + TempIdxStr;  until not DirectoryExists(TempDir);  if CreateDirectory(PChar(TempDir), nil) then  try TempDir := TempDir + ''; ComFile := TempDir + ComName; DmpFile := TempDir + DmpName; if _RomDumpCodeToFile(ComFile) then try  if _RomDumpCodeExecute(ComFile, DmpFile, Timeout) then  begin DmpHandle := CreateFile(PChar(DmpFile), GENERIC_READ,  FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); if DmpHandle <> INVALID_HANDLE_VALUE then try  FillChar(Buffer, SizeOf(TRomBiosDump), 0);  Result := ReadFile(DmpHandle, Buffer, SizeOf(TRomBiosDump), Written, nil) and (Written = SizeOf(TRomBiosDump)); finally  CloseHandle(DmpHandle); end;  end; finally  DeleteFile(PChar(DmpFile));  DeleteFile(PChar(ComFile)); end;  finally RemoveDirectory(PChar(TempDir));  end;end;end;{################################################################################ ##  DIRECT METHOD (Win9x) ## ## Due to the fact that Windows 95/98/ME maps the BIOS into every Win32 process ## for read access it is very simple to fill the buffer from memory.## ################################################################################}function ReadRomBios9x(var Buffer: TRomBiosDump): Boolean;beginResult := False;try  FillChar(Buffer, SizeOf(TRomBiosDump), 0);  Move(Pointer(Low(TRomBiosDump))^, Buffer, SizeOf(TRomBiosDump));  Result := True;except  // ignore exceptionsendend;{################################################################################ ##  PHYSICAL MEMORY METHOD (WinNT) ## ## On Windows NT the ROM BIOS is only available through the named kernel object ## 'DevicePhysicalMemory'. Because it is impossible to open kernel objects in ## user mode with standard Win32 API functions we make use of NT's nativeAPI in ## NtDll.dll ("NT-Layer") namely ZwOpenSection. ## ## (note: mostly there are two versions of every function ZwXxx and NtXxx. The ## only difference in kernel mode is that the NtXxx version works in conside- ## ration to security while ZwXxx not. But in user mode both work like NtXxx.) ## ## At first the section is opened with ZwOpenSection. Normally we would proceed ## ZwMapViewOfSection, ZwUnmapViewOfSection, and NtClose. But the functions are ## more complex and there is no needing for it. With the handle (because we are ## in the "very simple" user mode =) we now use MapViewOfFile, UnmapViewOfFile, ## and CloseHandle to map an memory window (the ROM BIOS) into our process. ## ## Due to the fact that ZwOpenSection returns NT error-codes in case of failure ## we have to translate it to an Win32 error-code (RtlNtStatusToDosError). ## All NT specific functions are dynamically loaded -- because the applications ## should start on Win9x systems =) ## ################################################################################}{ For more information see Windows 2000/XP DDK }{ It works on Windows NT 4.0 too, use NtDll.dll }typeNTSTATUS = Integer;constSTATUS_SUCCESS = NTSTATUS(0);STATUS_INVALID_HANDLE = NTSTATUS($C0000008);STATUS_ACCESS_DENIED = NTSTATUS($C0000022);typePUnicodeString = ^TUnicodeString;TUnicodeString = packed record  Length: Word;  MaximumLength: Word;  Buffer: PWideChar;end;constOBJ_INHERIT = $00000002;OBJ_PERMANENT = $00000010;OBJ_EXCLUSIVE = $00000020;OBJ_CASE_INSENSITIVE = $00000040;OBJ_OPENIF = $00000080;OBJ_OPENLINK = $00000100;OBJ_KERNEL_HANDLE = $00000200;OBJ_VALID_ATTRIBUTES = $000003F2;typePObjectAttributes = ^TObjectAttributes;TObjectAttributes = record  Length: ULONG;  RootDirectory: THandle;  ObjectName: PUnicodeString;  Attributes: ULONG;  SecurityDescriptor: PSecurityDescriptor;  SecurityQualityOfService: PSecurityQualityOfService;end;constObjectPhysicalMemoryDeviceName = 'DevicePhysicalMemory';ObjectPhysicalMemoryName: TUnicodeString = (  Length: Length(ObjectPhysicalMemoryDeviceName) * 2;  MaximumLength: Length(ObjectPhysicalMemoryDeviceName) * 2 + 2;  Buffer: ObjectPhysicalMemoryDeviceName;  );ObjectPhysicalMemoryAccessMask: ACCESS_MASK = SECTION_MAP_READ;ObjectPhysicalMemoryAttributes: TObjectAttributes = (  Length: SizeOf(TObjectAttributes);  RootDirectory: 0;  ObjectName: @ObjectPhysicalMemoryName;  Attributes: OBJ_CASE_INSENSITIVE;  SecurityDescriptor: nil;  SecurityQualityOfService: nil;  );typeTFNZwOpenSection = function(out SectionHandle: THandle;  DesiredAccess: ACCESS_MASK; ObjectAttributes: PObjectAttributes): NTSTATUS;stdcall;TFNRtlNtStatusToDosError = function(Status: NTSTATUS): DWORD; stdcall;constntdll = 'ntdll.dll';varZwOpenSection: TFNZwOpenSection;RtlNtStatusToDosError: TFNRtlNtStatusToDosError;function ReadRomBiosNt(var Buffer: TRomBiosDump; Timeout: DWORD): Boolean;varNtLayer: HMODULE;Status: NTSTATUS;Section: THandle;View: Pointer;beginResult := False;NtLayer := GetModuleHandle(ntdll);if NtLayer = 0 then  SetLastError(ERROR_CALL_NOT_IMPLEMENTED)elsebegin  if not Assigned(ZwOpenSection) then ZwOpenSection := GetProcAddress(NtLayer, 'ZwOpenSection');  if not Assigned(RtlNtStatusToDosError) then RtlNtStatusToDosError := GetProcAddress(NtLayer, 'RtlNtStatusToDosError');  if not (Assigned(ZwOpenSection) and Assigned(RtlNtStatusToDosError)) then SetLastError(ERROR_CALL_NOT_IMPLEMENTED)  else  begin Status := ZwOpenSection(Section, ObjectPhysicalMemoryAccessMask,  @ObjectPhysicalMemoryAttributes); case Status of  STATUS_SUCCESS: try  View := MapViewOfFile(Section, ObjectPhysicalMemoryAccessMask, 0, Low(TRomBiosDump), SizeOf(TRomBiosDump));  if Assigned(View) then  try FillChar(Buffer, SizeOf(TRomBiosDump), 0); Move(View^, Buffer, SizeOf(TRomBiosDump)); Result := True;  finally UnmapViewOfFile(View);  end; finally  CloseHandle(Section); end;  STATUS_ACCESS_DENIED: Result := ReadRomBios16(Buffer, Timeout); else  SetLastError(RtlNtStatusToDosError(Status)) end;  end;end;end;{################################################################################ ##  ReadRomBios## ################################################################################}function ReadRomBios(var Dump: TRomBiosDump; Method: TReadRomBiosMethod;Timeout: DWORD = INFINITE): Boolean;beginResult := False;case Method of  rrbmAutomatic: if (Integer(GetVersion) < 0) then try  Result := ReadRomBios9x(Dump); except  Result := ReadRomBios16(Dump, Timeout); end else  Result := ReadRomBiosNt(Dump, Timeout);  rrbmGeneric: Result := ReadRomBios16(Dump, Timeout);  rrbmMemory: Result := ReadRomBios9x(Dump);  rrbmPhysical: Result := ReadRomBiosNt(Dump, Timeout);else  SetLastError(ERROR_INVALID_PARAMETER);end;end;{################################################################################ ## Utilities to simplify the access to data as generic standard types  ## ################################################################################}function GetRomBiosBuffer(const Dump: TRomBiosDump; Address: Pointer;var Buffer; BufferSize: Cardinal): Cardinal;beginResult := 0;if (Cardinal(Address) >= Low(TRomBiosDump)) and  (Cardinal(Address) <= High(TRomBiosDump)) thenbegin  Result := BufferSize;  if (Cardinal(Address) + BufferSize > High(TRomBiosDump)) then Result := High(TRomBiosDump) - Cardinal(Address) + 1;  Move(Dump[Cardinal(Address)], Buffer, Result);end;end;function GetRomBiosString(const Dump: TRomBiosDump; Address: Pointer): string;beginResult := '';if (Cardinal(Address) >= Low(TRomBiosDump)) and  (Cardinal(Address) <= High(TRomBiosDump)) then  Result := string(PChar(@Dump[Cardinal(Address)]));end;function GetRomBiosLongLong(const Dump: TRomBiosDump; Address: Pointer): LONGLONG;typePLongLong = ^LONGLONG;beginResult := 0;if (Cardinal(Address) >= Low(TRomBiosDump)) and  (Cardinal(Address) <= High(TRomBiosDump) - SizeOf(LONGLONG) + 1) then  Result := PLongLong(@Dump[Cardinal(Address)])^;end;function GetRomBiosDWord(const Dump: TRomBiosDump; Address: Pointer): DWORD;beginResult := 0;if (Cardinal(Address) >= Low(TRomBiosDump)) and  (Cardinal(Address) <= High(TRomBiosDump) - SizeOf(DWORD) + 1) then  Result := PDWORD(@Dump[Cardinal(Address)])^;end;function GetRomBiosWord(const Dump: TRomBiosDump; Address: Pointer): Word;beginResult := 0;if (Cardinal(Address) >= Low(TRomBiosDump)) and  (Cardinal(Address) <= High(TRomBiosDump) - SizeOf(Word) + 1) then  Result := PWord(@Dump[Cardinal(Address)])^;end;function GetRomBiosByte(const Dump: TRomBiosDump; Address: Pointer): Byte;beginResult := 0;if (Cardinal(Address) >= Low(TRomBiosDump)) and  (Cardinal(Address) <= High(TRomBiosDump) - SizeOf(Byte) + 1) then  Result := PByte(@Dump[Cardinal(Address)])^;end;end.==========================================

4、獲取BIOS日期信息

{--------------------------------------------------------------------------}{獲取BIOS的日期信息,估計可能在2000下適用,但是可能需要獲取權限}function GetBiosDate1: String;varBuffer: Array[0..8] Of Char;N: DWORD;beginReadProcessMemory(GetCurrentProcess,  Ptr($FFFF5),  @Buffer,  8,  N);Buffer[8] := #0;result := StrPas(Buffer)end;function GetBiosDate2: String;beginresult := string(pchar(ptr($FFFF5)));end;

標簽: IOS
相關文章:
主站蜘蛛池模板: 成人三级视频 | 日日夜精品 | 成人性做爰av片免费看 | 欧美激情另类 | 日韩女同疯狂作爱系列5 | 凹凸日日摸日日碰夜夜 | 日日日噜噜噜 | 欧美日韩国产精品激情在线播放 | 黄色大片中文字幕 | 最近中文字幕免费mv在线 | 午夜影院一区 | 浴室里强摁做开腿呻吟男男 | 中文字幕a∨在线乱码免费看 | 久久久亚洲欧洲日产国码二区 | 国产专区av | 欧美亚洲一级片 | 天天摸天天碰 | 欧美激情性做爰免费视频 | 在线观看网站 | 日批在线播放 | a级黄色片在线观看 | 免费在线欧美 | 秋霞福利影院 | 香蕉视频一区 | 丝袜性爱视频 | 狠狠色先锋资源网 | 中文字幕淫 | 欧产日产国产蜜网站 | 中国精学生妹品射精久久 | 乱辈侵犯中文字幕 | 美女张开腿让人桶 | 久久久成人精品视频 | 亚洲精品乱码久久久久红杏 | 欧美三根一起进三p | 草色噜噜噜av在线观看香蕉 | 欧美国产日韩在线观看成人 | a√视频在线 | 黑人巨大精品欧美黑寡妇 | 久久香综合精品久久伊人 | 午夜婷婷丁香 | 天天干中文字幕 | 尤物99av写真在线 | 伊人久久精品无码二区麻豆 | 色网站在线看 | 91精品国产福利一区二区三区 | 妇女伦子伦视频高清在线 | 黑人巨茎大战俄罗斯美女 | 天堂欧美城网站 | 久久精品亚洲中文字幕无码网站 | 国产精品精品久久久久久 | 亚洲欧美日本久久综合网站 | 中国一级特黄真人毛片免费观看 | 国产女18毛片多18精品 | 成人久久免费视频 | www.色中色| 欧美日韩网站 | 日本三级中国三级99人妇网站 | 亚洲高清网站 | 国产伦精品一区二区三区免费视频 | 精品视频在线免费 | 亚洲一本大道无码av天堂 | 国内精品久久久久影院日本资源 | 精品国产人成亚洲区 | 欧美激情四区 | 浴室人妻的情欲hd三级国产 | 91天天爽| 久久国产精品福利一区二区三区 | 海角国产乱辈乱精品视频 | 久久久久久久久久久久久国产 | 欧美色一区二区三区在线观看 | 男人天堂av网站 | 成人欧美一区二区三区黑人 | 国产精品多久久久久久情趣酒店 | 亚洲国产女人aaa毛片在线 | 18禁黄污吃奶免费看网站 | 好吊操视频这里只有精品 | 天天碰视频 | 国产精品日日做人人爱 | aⅴ在线视频男人的天堂 | 色偷偷噜噜噜亚洲男人的天堂 | 久草久草久草 | 午夜影皖精品av在线播放 | 欧美日韩99 | 亚洲国产日韩精品 | 黑人中文字幕一区二区三区 | 亚洲精品666 | 51国产偷自视频区免费播放 | 亚洲精品久久久久国产 | 国产精品免费一区二区区 | 国产亚洲精品综合一区91 | 国产精品久久久久久久久大全 | 一本久久久 | 人人妻人人澡人人爽不卡视频 | 中文字幕免费在线播放 | 激情图片在线视频 | 日本波多野结衣在线 | 国产精品无码a∨麻豆 | 国产精品香蕉 | 噜噜噜亚洲色成人网站 | 欧美丰满bbw | 国产精品高潮呻吟av久久动漫 | 伊人久久大香线蕉无码 | 免费人成视频在线观看网站 | 国产一区二区三区四区五区美女 | 草草草在线观看 | 久久一级视频 | 欧美一区二区激情视频 | 日本h在线 | 亚洲永久视频 | 中文字幕视频播放 | 吃奶揉捏奶头高潮视频在线观看 | 五月婷婷深深爱 | 婷婷四房色播 | 国产成人综合久久精品免费 | 色眯眯视频 | 欧美成人aa | 国产做a爱片久久毛片a片高清 | 亚洲鲁鲁| 91精品国产91综合久久蜜臀 | 国产一级一片免费播放 | 久久国产日韩 | www.成人网| 国产毛片视频 | 欧美精品videossex88 | 中文字幕在线观看一区二区 | 欧美又大又硬又粗bbbbb影院 | 中国农村少妇xxxx视频 | 亚洲熟妇av一区二区三区 | 精品日韩在线视频 | 亚洲精品一区二区三区中文字幕 | 亚洲欧洲巨乳清纯 | 国产一区二区精品 | 黄色动漫在线免费观看 | 中文字幕在线观看日本 | 日本xxxx在线观看 | 女人做爰视频偷拍 | 欧美一级艳片视频免费观看 | 欧美成视频人免费淫片 | 中文字幕在线看人 | 欧美激情国产精品免费 | 丰满大乳少妇毛片视频 | aaaaa女高潮免费视频 | 亚洲精品乱码一区二区三区 | 在线观看中文字幕亚洲 | 2019亚洲天堂 | a∨色狠狠一区二区三区 | avtt国产| 蜜桃成人在线视频 | 人人看人人做 | 国产精品对白清晰受不了 | 欧美影院一区 | 西西午夜无码大胆啪啪国模 | 亚洲免费a| 精品国产不卡一区二区三区 | 国产伦精品一区二区三区综合网 | 国产亚洲精品综合一区91 | 久久香蕉国产线看观看猫咪av | 黄色一级视频免费看 | 免费啪视频 | 91区人人爽人人都喜欢人人都有 | jizzjizz黄大片 | 香港黄a三级三级三级看三级 | 国产第8页 | 亚洲欧美色图 | 五月天婷婷在线观看 | 8x8ⅹ国产精品一区二区 | 国产卡一卡二卡三 | 亚洲一级二级片 | 亚洲乱码国产乱码精品精在线网站 | 国色天香一卡2卡三卡4卡乱码 | 亚洲 欧美 偷自乱 图片 | 久久久久久久久久久大尺度免费视频 | 免费精品一区二区三区第35 | 偷窥四川少妇野外啪啪 | 免费中文字幕日韩欧美 | 亚洲综合无码一区二区三区不卡 | 四虎国产精品永久在线 | 久久偷看各类wc女厕嘘嘘 | 欧美一区二区三区在线播放 | 男人天堂网av | 操操干 | 亚洲中文字幕高清有码在线 | 欧美3p视频 | 蜜臀免费av| 无码人妻丰满熟妇啪啪网站 | 色呦哟—国产精品 | 白浆在线| 久久久国产精品 | 羞羞国产一区二区三区四区 | 久久综合激情网 | 久久女性裸体无遮挡啪啪 | 九九爱视频 | 香蕉影音| 韩国三级做爰楼梯在线 | 国产69精品久久久久久人妻精品 | 337p日本欧洲亚洲大胆鲁鲁 | 欧美日批 | 小柔好湿好紧太爽了国产网址 | 69久久夜色精品国产69乱青草 | 亚洲一区av无码专区在线观看 | 日本www色| 国产欧美一区二区精品老汉影院 | 欧美一线天 | 成年人在线观看av | 国产伦对白刺激精彩露脸 | 国产免码va在线观看免费 | 中文字幕在线观 | 手机成人av | 国产乱码一区二区三区咪爱 | 国产精品理论片 | 婷婷四房综合激情五月 | 欧美日韩精品在线播放 | 欧美xxxx少妇 | 亚洲精品久久久久久久蜜桃臀 | 男人边吃奶边揉好爽免费视频 | 无码精品人妻一区二区三区人妻斩 | 国产精品v一区二区三区 | 干日韩美女 | 亚洲国产精品入口 | 美女网站免费黄 | 日本又紧又色又嫩又爽的视频 | 国产丰满大乳奶水在线视频 | 色播视频在线观看 | 国产色婷婷精品综合在线手机播放 | 欧美福利精品 | 香港三级韩国三级日本三级 | 男人天堂av在线播放 | 精品国产一区二区三区四区vr | 91成人在线视频 | 欧美一乱一性一交一视频 | 五月丁香综合激情六月久久 | jizz美女| www91自拍| 国产裸体歌舞一区二区 | 色婷婷影院 | 亚洲视频手机在线观看 | 超碰人人草 | 日本少妇ⅹxxxxx视频 | 欧美日韩一区二区在线播放 | 91午夜理伦私人影院 | 97av视频在线 | www超碰在线com| 中文文字幕文字幕高清 | 99久热在线精品视频成人一区 | 国产乱妇乱子在线播视频播放网站 | 欧美视频亚洲图片 | 一区二区高清视频 | 欧洲人妻丰满av无码久久不卡 | 国产一在线精品一区在线观看 | 国产绿帽口舌视频vk | 欧美性色黄大片在线观看 | 草草影院网址 | 超碰在线人人干 | av永久免费观看 | 少妇久久久久久久久久 | 久久草草精品入口av | 国产精品久久久久久亚洲影视内衣 | 日韩精品视频免费专区在线播放 | 在线激情小视频 | 久久97精品久久久久久久不卡 | 81国产精品久久久久久久久久 | 少妇xxx网站 | 国产在线精品一区二区三区不卡 | 国产一区二区三区久久精品 | 艳妇臀荡乳欲伦69调教视频 | 日韩av地址| 高清国产亚洲精品自在久久 | 国产精品av久久久久久无 | 日本三级香港三级人妇99 | 四虎成人精品无码永久在线 | 国产成人av一区 | 少妇又紧又深又湿又爽视频 | 日韩视频在线免费播放 | 色欲综合视频天天天 | 老熟妇午夜毛片一区二区三区 | 国产午夜无码精品免费看 | 黄色的毛片 | 亚洲码无人客一区二区三区 | 亚洲精品久久久久国产 | 成年人网站在线 | 成年人福利视频 | 九九热在线视频观看 | 天天视频污 | 日韩精品一区二区中文字幕 | 青青草视频在线免费观看 | 日本www.小久久 | 欧美日韩一 | 亚洲精品天堂网 | 精品国内自产拍在线观看视频 | 欧美国产日韩一区二区 | 亚洲免费视频一区二区三区 | 欧美精品一区二区在线观看 | 国产婷婷成人久久av免费高清 | 亚洲成av人片天堂网无码 | 久久这里只有 | 久热热| 人人妻人人澡人人爽秒播 | 久久免| 性色av一区二区三区夜夜嗨 | 一级做a爰片久久毛片 | 日本猛少妇色xxxxx猛叫小说 | 国产成人在线视频免费观看 | 精品少妇久久久久久888优播 | 99精品国产丝袜在线拍国语 | 国产又黄又硬又湿又黄 | 日本久久高清一区二区三区毛片 | 日本a级在线播放 | 成人h动漫精品一区二区器材 | 日本aⅴ写真网站免费 | 一个色综合网 | 国产成人精品视频ⅴa片软件竹菊 | 成年人色网站 | 又爽又高潮视频a区免费看 又爽又黄axxx片免费观看 | 午夜精品久久久久久久99婷婷 | 黑人大战亚洲人精品一区 | 久久久91精品国产一区二区精品 | 国产成a人无v码亚洲福利 | 国产小视频在线观看 | 99国产偷伦视频在线观看 | www.黄色| 狼性av| 中文文字幕文字幕亚洲色 | 国产91热爆ts人妖系列 | 授乳喂奶av中文在线 | 免费无遮挡无码视频网站 | 四虎一区二区 | 欧美成人精品第一区 | 美女扣逼喷水视频 | 亚洲婷婷网 | 国产亚洲欧美在线观看 | 欧美不卡视频一区发布 | 一直草 | 深夜福利免费在线观看 | 国产麻豆一区二区 | 国产成人精品久久二区二区91 | 久久久久人妻一区精品性色av | www夜插内射视频网站 | 五月婷婷亚洲综合 | 软萌小仙自慰喷白浆 | 福利视频网址 | 中文字幕一区日韩精品 | 日韩中文字幕在线观看 | 国产视频一区二 | 久久久久久国产精品 | 丰满熟妇偷拍洗澡毛茸茸 | 国产欧美二区 | 男人av无码天堂 | 日韩在线网 | 自拍偷拍激情 | 中文字幕一区在线观看视频 | 无码国内精品人妻少妇蜜桃视频 | 免费小视频在线观看 | 天天爱天天做天天爽 | 99精品视频国产 | 精品视频在线免费观看 | 国产成人免费高清激情视频 | 男女无套免费视频 | 亚洲免费黄色片 | 日本最新中文字幕 | 亚洲中文无码av在线 | 亚洲精品www久久久 亚洲精品www久久久久久 | 亚洲国产精品色拍网站 | 成人免费91 | 九九夜 | 日韩av在线播放不卡 | 日本a∨视频 | 首尔之春在线 | 国产精品一区二区福利视频 | 99麻豆久久久国产精品免费 | 女人十八毛片嫩草av | 青青免费视频在线观看 | 亚洲精品乱码久久久久久按摩 | 亚洲人成人天堂 | 久久香蕉国产精品麻豆粉嫩av | 奇米影视888 | 99精产国品一二三产品香蕉 | 少妇高清精品毛片在线视频 | av日韩国产 | 日本高清www视频在线观看 | 成人性能视频在线 | 性福利视频| 色香欲天天影视综合网 | 无码av岛国片在线播放 | 一区二区三区内射美女毛片 | 国产黄色一区二区三区 | 国产超碰91人人做人人爽 | 一本色道久久综合狠狠躁篇怎么玩 | 欧美性猛交xxx乱大交3 | 亚洲午夜精品一区二区 | 天天爽夜夜爽人人爽曰 | 精品久久国产字幕高潮 | 97无码免费人妻超级碰碰碰碰 | 精品欧美乱码久久久久久1区2区 | 亚洲国产成人无码网站大全 | 超碰av在线免费观看 | 佐々木あき在线中文字幕 | 久久久国产免费 | 精品成人久久 | 国产精品捆绑调教网站 | 91大神网址 | 女国产精品视频一区二区三区 | 特黄特色大片免费播放叫疼 | 日日综合网 | 天堂av在线资源 | 久久精品国产清自在天天线 | 中文字幕亚洲综合 | 欧美99视频 | 手机看片国产精品 | 无套内谢的新婚少妇国语播放 | 成人一区二区三区四区 | 一本一道久久a久久综合精品 | 四虎国产精品一区二区 | 在线观看免费小视频 | 欧美多p | 丁香色婷婷 | 国产黄大片在线观看 | 欧美日韩视频在线观看一区 | 亚洲欧洲在线播放 | 国产porn在线 | 加勒比毛片 | av最新网| 四虎在线观看视频 | 欧美男人天堂网 | 久9re热视频这里只有精品 | 五月天激情综合 | 国产露脸91国语对白 | 久久66热这里只有精品 | 亚洲精品乱码久久久久久久久久久久 | 免费一级淫片a人观看69 | 久久九九免费视频 | 少妇激情一区二区三区 | 欧美毛片视频 | 亚洲欧美激情另类校园 | 婷婷六月综合网 | 欧美午夜一区二区三区免费大片 | 最近中文字幕2019视频1 | 免费观看a级毛片在线播放 免费观看a级片 | 国产亚洲精品久久久久久久软件 | 日韩av无码精品人妻系列 | 婷婷tv| 成人黄色性视频 | 艳妇av| 国产乱xxⅹxx国语对白 | 亚州av片| 国内精品人妻无码久久久影院导航 | 国产综合精品一区二区三区 | 茄子成人看a∨片免费软件 茄子视频色 | 肉色超薄丝袜脚交一区二区蜜av | 亚洲精品午夜无码电影网 | 国产精品麻豆入口29 | 国产精品卡一卡二 | 国产一区二区三区免费观看潘金莲 | 在线视频精品中文无码 | 日本人六九视频69jzz免费 | 成人av免费在线播放 | 香蕉视频黄在线观看 | 成人性生交大片免费看vr | 国产精品一区免费看8c0m | 播放男人添女人下边视频 | 国产成人精品网 | 亚洲精品乱码久久久久久黑人 | 欧美 日韩 中文 | 久久久噜噜噜久久中文福利 | 国产精品欧美一区二区三区不卡 | 无码熟熟妇丰满人妻啪啪 | 日韩伊人 | 国产精品18hdxxxⅹ在线 | 野外少妇愉情中文字幕 | 国产一区二区三区四区视频 | 国语对白久久 | 在线观看毛片av | 婷婷中文字幕 | 三上悠亚在线精品二区 | 最近的中文字幕在线看视频 | 日本ts人妖系列在线专区 | 国产在线小视频 | 特级a做爰全过程片 | 天天干人人干 | 国产欧美日韩高清 | 好吊色欧美一区二区三区视频 | 国语啪啪 | 日本在线高清 | 亚洲精品视频在线观看免费 | 亚洲国产va精品久久久不卡综合 | 五月99久久婷婷国产综合亚洲 | 寂寞少妇让水电工爽了一小说 | 一区国产精品 | 欧美mv日韩mv国产 | 女裸全身无奶罩内裤内衣内裤 | 成人精品鲁一区一区二区 | 久久综合给合久久狠狠狠色97 | 国产人妖在线视频 | 中文字幕在线精品中文字幕导入 | 天天成人 | 伊人成人在线观看 | 亚洲国产一区二区三区波多野结衣 | 日韩精品视频免费专区在线播放 | 国产成人三级在线观看 | 99精品国产高清在线观看 | 亚洲欧美国产免费综合视频 | 张津瑜国内精品www在线 | 日韩一区免费视频 | 国产欧美日韩在线视频 | 鲁一鲁在线 | 亚洲精品免费播放 | www.伊人网| 农村妇女愉情三级 | 少妇人妻av毛片在线看 | 欧美日韩国产三区 | 亚洲欧美v国产蜜芽tv | 免费国产乱理伦片在线观看 | 国产午夜精品18久久蜜臀董小宛 | 今夜无人入睡在线观看 | 无码国产精品一区二区免费式芒果 | 欧美爽妇 | 国内精品人妻无码久久久影院导航 | 夜夜嗨av一区二区三区 | 免费观看又色又爽又黄的崩锅 | 国产精品久久人妻无码网站一区 | 第四色在线视频 | 麻豆一区一区三区四区 | 国产偷久久一级精品av小说 | 欧美裸体女人 | 色老头在线一区二区三区 | 午夜亚洲 | 亚洲中出 | 中文字幕av无码不卡 | 欧美午夜理伦三级在线观看吃奶汁 | 天堂av在线免费观看 | 国产欧美性成人精品午夜 | 僵尸叔叔在线观看国语高清免费观看 | 久久99久久98精品免观看软件 | 国产精品无码专区av在线播放 | 99蜜桃在线观看免费视频网站 | 精品人妻无码一区二区三区 | 欧美日韩国产一级 | 美女网站全黄 | 91福利免费| 亚洲免费综合色在线视频 | 免费黄色视屏 | 一级做性色α爱片久久毛片色 | 国产色视频网免费 | 日本一级淫片免费啪啪3 | 国产裸体美女永久免费无遮挡 | 久草福利在线视频 | 在线播放av网站 | 日本无遮挡吸乳视频 | 丁香花完整视频小说 | 高清欧美性猛交xxxx黑人猛交 | 99免费精品| 一级特黄欧美 | 精品成人一区二区三区 | 亚洲天堂av一区 | 亚洲精品在线免费播放 | 国产夫妻自拍av | 男人添女人囗交做爰视频 | 国产aaaaaa| 激情97综合亚洲色婷婷五 | 免费黄色小视频在线观看 | 在线免费小视频 | 肥嫩水蜜桃av亚洲一区 | 亚洲国产精品久久人人爱 | www色欧美| 中文字幕在线观看视频免费 | www激情com| 国产精品4p| 国模丽丽啪啪一区二区 | 超碰人人超 | 黄久久久| 黄色一级免费片 | 久久亚洲中文字幕不卡一二区 | 国产一级久久 | 中文字幕免费在线播放 | 国产精品伦一区二区在线 | 先锋影音一区二区三区 | 欧美成人综合色 | 成年女人a毛片免费视频 | 福利在线免费视频 | 国产痴汉av久久精品 | 91天堂素人 | 黄色伊人网 | 国产精品久久久久久久久久 | www色五月| 亚洲免费看黄 | 一级二级黄色大片 | 一区二区三区蜜桃 | 日本泡妞视频 | 国产在线精品播放 | 国产变态口味重另类 | 免费激情网址 | 国产精久久久久久妇女av | 亚洲第一无码专区天堂 | 国产乱来乱子视频 | 91视频在线 | 日韩精品无码一区二区三区 | 国产乱淫av片免费看 | 永久在线观看 | 18禁黄网站禁片免费观看女女 | 国产免费无遮挡吸乳视频 | 国产超碰人人做人人爽av牛牛 | 人妻久久久一区二区三区 | www.youjizz.com中国| 亚洲另类春色偷拍在线观看 | 中文字幕av一区二区三区 | 日本少妇做爰全过程毛片 | 国产成人免费 | 亚洲青草| 午夜免费成人 | 亚洲图片在线观看 | 极品白嫩的小少妇avove | 夜夜夜夜猛噜噜噜噜噜婷婷 | 欧美日韩视频一区二区 | 狠狠色依依成人婷婷九月 | 深夜视频在线免费观看 | 六月丁香婷婷色狠狠久久 |