青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 23,  comments - 20,  trackbacks - 0
 
最近又閑著了...
技術人員一閑著就蛋疼...得找點東西學 , 何況我還是一只小菜鳥   今天下了本電子書  看看C#的WinForm 一點一點來

根據書上的知道  新建了第一個工程  發現了一個C#的關鍵字Region很有意思  折疊代碼用的 而且還能有注釋   相當好用  特別是工程大了一點點以后  這個就使得代碼更加好看了 新語言就是好... 無奈 C++沒有這個關鍵字   不管有沒有  上網搜索一下吧   居然發現MSDN里面有
MSDN 這個關鍵字   吼吼  看了一下 
//語法描述
#pragma region name
#pragma endregion comment
//END

//實例代碼
#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1

int main() {}
我拿到工程里面去試了一下  居然沒有  MSDN騙人??才不會呢  旁邊有一個提醒框
This page is specific to
Microsoft Visual Studio 2005/.NET Framework 2. 0
呵呵  我用的是VS2003   不過還好機器還裝了2008  測試一下  真的可以  哈哈  不錯不錯 

posted @ 2009-09-03 12:22 李佳 閱讀(16225) | 評論 (14)編輯 收藏
頭大 越學習  越多新的術語 ...

列個表單  N年后自己再回來看看吧

XML WinForm .Net 正則表達式 內核編程 ASM 高級應用程序調試   高級內核編程(HOOK 與 反HOOK)
還有么???想到了就增加吧...

新增   WPF  WDF TDD

累么??   不累!!

posted @ 2009-09-02 20:51 李佳 閱讀(312) | 評論 (0)編輯 收藏
最近在做一個網站的模擬登錄程序  前段時間一直忙于做驗證碼  算是做好了
今天才正式登陸   發送了無數次的登錄信息   一直增  改  就是登陸不了  總是提示錯誤
但是利用IE截獲的HTTP封包來看   幾乎都是一摸一樣的...
這個是截獲的IE封包

POST /app HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-silverlight, application/msword, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
Referer: ***
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; TencentTraveler 4.0;  Embedded Web Browser from: http://bsalsa.com/; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)
Host: ***
Content-Length: 264
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: CHANNEL_JSESSIONID=Kc8GLn0Gvvn4Vl7sLjh5kN1nT5DZQknp1nXDRxch9GnTr5TYKncf!2134775339!730718407

service=direct%2F1%2FHome%2F%24Form&sp=S0&Form0=%24FormConditional%2Cblogin%2C%24FormConditional%240&%24FormConditional=T&%24FormConditional%240=F&select=%B8%F6%C8%CB%BF%CD%BB%A7&SERIAL_NUMBER=111222333&USER_PASSWD=123123&EFFICACY_CODE=2598&blogin=+%B5%C7%C2%BC+

以下是我發送出去的封包
POST /app HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Referer: ***
Accept: */*
User-Agent: GetBalance
Host: ***
Content-Length: 300
Cache-Control: no-cache
Cookie: CHANNEL_JSESSIONID=Kc3V7JTn32G0G6yj8KnyhYpRHvHp1gf9pX033l5WjZV6gRh75ZRn!-1722555788!2134775339

service=direct%2F1%2Ffeequery.FeeQuery%2F%24HHeader.%24GHHeader.%24Form&sp=S0&Form0=%24FormConditional%2Cblogin%2C%24FormConditional%240&%24FormConditional=T&%24FormConditional%240=F&select=%B8%F6%C8%CB%BF%CD%BB%A7&SERIAL_NUMBER=111222333&USER_PASSWD=123123&EFFICACY_CODE=1204&blogin=+%B5%C7%C2%BC+

幾乎都無誤  以前登陸的無數的網站  都還沒有這么多頭   這次一個一個的增加  加了這么多的頭  居然還是不行
煩的狠  就用火狐打開看看  顯示 "Components Head not exist"    我的IE可沒有顯示這個信息
聯想到以前在邪八里面看到的文章  里面似乎提過User-Agent檢測    是不是這個網站也增加了這個檢測呢???
于是 在Post數據中在增加一行
pFile -> AddRequestHeaders("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; TencentTraveler 4.0;  Embedded Web Browser from: http://bsalsa.com/; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)");
提交  居然顯示成功了...
汗...
保留下來  以備不時之需

posted @ 2009-09-01 10:19 李佳 閱讀(1545) | 評論 (0)編輯 收藏
 1 
 2    CString Fullstring, Appname, Fileext;
 3    Fullstring.LoadString(IDR_MAINFRAME);
 4     //獲取完整的分割串
 5    AfxExtractSubString(Appname, Fullstring, 0'\n');    
 6     //析出第一個子串
 7    AfxExtractSubString(Fileext, Fullstring, 4'\n');    
 8     //析出第四個子串

CString 和COleDateTime之間的轉換
CString   str   
=   "2004-07-08   11:22:33";     
        COleVariant   VariantTime;   
        VariantTime   
=   str;   
        VariantTime.ChangeType(VT_DATE);   
        COleDateTime   DataTime   
=   VariantTime;  
STR)strHTML,strHTML.GetLength(),5 tmp,strHTML.GetLength()+1);
6     strHTML = tmp;
7     delete tmp;
8 

_RecordsetPtr bInDateBase = m_pConn->Execute((_variant_t)strSQL , &index , 1);
if (!bInDateBase->adoEOF)    //有數據
{
}

1 _variant_t var;
2 var= m_pRecordset->GetCollect("posInfo");        //可能為空
3 if(var.vt != VT_NULL)    //為NULL
4     strPosInfo = var;
5 else 
6     strPosInfo = “”;
7 
 1 //將字符串數字傳換成BCD碼 -- 例如  "1234"  ->  0x1234
 2 void CGPS_Info_Redirect_CZDlg::CStringDataToBCDData(CString strData , BYTE* bBCD)
 3 {         
 4     for (int i = 0 ; i < strData.GetLength() ; i++)
 5     {
 6         ASSERT(strData[i] >= '0' && strData[i] <='9');
 7         if (i % 2 == 0)    //1,3,5,7,9
 8         {
 9             bBCD[i/2=(strData[i] - 0x30)<<4;//左移四位            
10         }
11         else
12         {
13             bBCD[i/2+= (strData[i] - 0x30);
14         }
15     }
16 }
 1 //將int類型copy到BYTE數組中
 2 void CGPS_Info_Redirect_CZDlg::CopyIntToByte(BYTE* data , int iData)
 3 {
 4     WORD wHigh = HIWORD(iData);
 5     WORD wLow = LOWORD(iData);
 6     data[0= HIBYTE(wHigh);
 7     data[1= LOBYTE(wHigh);
 8     data[2= HIBYTE(wLow);
 9     data[3= LOBYTE(wLow);
10 }
11 

posted @ 2009-08-28 17:08 李佳 閱讀(273) | 評論 (0)編輯 收藏
     摘要: 驅動其實很早以前就寫了  只不過功能沒有達到  加上一直很忙 所以就放下了 今天閑著無聊  就接著寫吧...寫完了 發上來 留著 主要的問題就是效率很低下   不知道為什么有大量的IRP_MJ_DEVICE_CONTROL 這個IRP  CPU全部占滿程序很簡單  暴力枚舉 主要是鍛煉一下內核編程 以及WinDbg的調試頭文件...  閱讀全文
posted @ 2009-08-28 16:20 李佳 閱讀(1543) | 評論 (0)編輯 收藏
由于昨天太晚 沒有看完 今天繼續看  繼續轉
原帖地址
http://blog.csdn.net/vagrxie/archive/2009/07/31/4398721.aspx
今天要轉的就是  SEH + MiniDump  實現既Dump文件  又讓程序繼續運行

 1 #include "stdafx.h"
 2 #include <windows.h>
 3 #include <Dbghelp.h>
 4 using namespace std;
 5 
 6 #pragma auto_inline (off)
 7 #pragma comment( lib, "DbgHelp" )
 8 
 9 // 為了程序的簡潔和集中關注關心的東西,按示例程序的慣例忽略錯誤檢查,實際使用時請注意
10 
11 LONG WINAPI MyUnhandledExceptionFilter(struct _EXCEPTION_POINTERS* ExceptionInfo    )
12 {
13     HANDLE lhDumpFile = CreateFile(_T("DumpFile.dmp"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL ,NULL);
14     MINIDUMP_EXCEPTION_INFORMATION loExceptionInfo;
15     loExceptionInfo.ExceptionPointers = ExceptionInfo;
16     loExceptionInfo.ThreadId = GetCurrentThreadId();
17     loExceptionInfo.ClientPointers = TRUE;
18     MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),lhDumpFile, MiniDumpNormal, &loExceptionInfo, NULL, NULL);
19     CloseHandle(lhDumpFile);
20     return EXCEPTION_EXECUTE_HANDLER;
21 }
22 
23 void Fun2()
24 {
25     __try
26     {
27         static bool b = false;
28         if(!b)
29         {
30             b = true;
31             int *= NULL;
32             *= 0;
33         }
34         else
35         {
36             MessageBox(NULL, _T("Here"), _T(""), MB_OK);
37         }
38     }
39     __except(MyUnhandledExceptionFilter(GetExceptionInformation()))
40     {
41     }
42 }
43 
44 void Fun()
45 {
46     Fun2();
47 }
48 
49 int main()
50 {
51     Fun();
52     Fun();  //用于顯示MessageBox
53     return 1;
54 }
55 
56 
最后轉一句話
Make it right before you make it faster. Keep it right when you make it faster. Make it clear before you make it faster. Do not sacrifice clarity for small gains in efficiency.
posted @ 2009-08-28 09:16 李佳 閱讀(603) | 評論 (0)編輯 收藏
DUMP文件很實用  留下來
 1 LONG WINAPI MyUnhandledExceptionFilter(      _EXCEPTION_POINTERS *ExceptionInfo     );
 2 
 3 //在程序里面調用
 4 SetUnhandledExceptionFilter(&MyUnhandledExceptionFilter);
 5 //來設置
 6 LONG WINAPI MyUnhandledExceptionFilter( _EXCEPTION_POINTERS *ExceptionInfo )
 7 {
 8     HANDLE lhDumpFile = CreateFile(_T("DumpFile.dmp"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL ,NULL);
 9 
10     MINIDUMP_EXCEPTION_INFORMATION loExceptionInfo;
11 
12     loExceptionInfo.ExceptionPointers = ExceptionInfo;
13 
14     loExceptionInfo.ThreadId = GetCurrentThreadId();
15 
16     loExceptionInfo.ClientPointers = TRUE;
17 
18     MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),lhDumpFile, MiniDumpNormal, &loExceptionInfo, NULL, NULL);
19 
20     CloseHandle(lhDumpFile);
21 
22     return EXCEPTION_EXECUTE_HANDLER;
23 }


posted @ 2009-08-27 18:08 李佳 閱讀(220) | 評論 (0)編輯 收藏
靠 什么事情都不先說清楚  需求也不說  就是讓你做   做完了 再說需求   靠...
好煩   今天又得改程序...

沒事好好看看軟件架構方面的書吧   被經理能整死

學習中...痛苦中...

posted @ 2009-08-24 09:58 李佳 閱讀(110) | 評論 (0)編輯 收藏
當數據庫的選項允許為空時  而且此時內容為空
則一下查詢會出錯
strPosInfo= m_pRecordset->GetCollect("posInfo");       
更加奇怪的是  catch(...)也抓不到異常
今天碰著個問題算是頭弄大了  最后終于弄好了
原因很簡單

報錯的問題

錯誤原因   在GetCollct返回了NULL之后   由于strPosInfo是一個CString對象  編譯器自動將_varint_t轉換成CString  而此時_varint_t為空  因此轉換失敗  不是數據庫的異常 而且根本就不是異常 所以  catch(…)無法抓住

解決方案

在可能為空的地方 利用

 1 _variant_t var;
 2 
 3 var= m_pRecordset->GetCollect("posInfo");          //可能為空
 4 
 5 if(var.vt != VT_NULL)   //為NULL
 6 
 7        strPosInfo = var;
 8 
 9 else
10 
11        strPosInfo = “”;

就可以檢測NULL值了




posted @ 2009-08-21 16:01 李佳 閱讀(2439) | 評論 (1)編輯 收藏
服務器又出問題了   實在是沒辦法了  因為那得錯誤我這邊沒辦法重現  也不知道如何寫dump文件 而經理又不讓安裝VS  沒辦法  最后只能使用WinDbg 來調試了  網上找了相關資料
先Copy下來吧  以后還是會用的   還有  要買書了  在學校的時候看見了<軟件調試>  只是覺得厚   沒怎么看  現在后悔了...  要買了

先Copy資料吧


本篇文章得主要目的是介紹WINDBG的主要功能以及相關的命令。關于這些命令的詳細語法,請參閱幫助文件。對文章中提到的許多命令,WINDBG有相應的菜單選項。
1.如何得到幫助

 在命令(Command)窗口中輸入.hh 命會調出幫助文件令。

 .hh keyword

會顯示關于keyword的詳細命令。

2.啟動Debugger

 Windbg可以用于如下三種調試:

 a.遠程調試:你可以從機器A上調試在機器B上執行的程序。具體步驟如下:

? 在機器B上啟動一個調試窗口(Debug Session)。你可以直接在Windbg下運行一個程序或者將Windbg附加(Attach)到一個進程。

? 在機器B的Windbg命令窗口上啟動一個遠程調試接口(remote):

.server npipe:pipe=PIPE_NAME

PIPE_NAME是該接口的名字。

? 在機器A上運行:

windbg –remote npipe:server=SERVER_NAME,pipe=PIPE_NAME

SERVER_NAME是機器B的名字。

b.Dump文件調試:如果在你的客戶的機器上出現問題,你可能不能使用遠程調試來解決問題。你可以要求你的用戶將Windbg附加到出現問題的進程上,然后在命令窗口中輸入:

.dump /ma File Name

創建一個Dump文件。在得到Dump文件后,使用如下的命令來打開它:

windbg –z DUMP_FILE_NAME

c.本地進程調試:你可以在Windbg下直接運行一個程序:

Windbg “path to executable” arguments

也可以將Windbg附加到一個正在運行的程序:

Windbg –p “process id”

Windbg –pn “process name”

注意有一種非侵入(Noninvasive)模式可以用來檢查一個進程的狀態并不進程的執行。當然在這種模式下無法控制被調試程序的執行。這種模式也可以用于查看一個已經在Debugger控制下運行的進程。具體命令如下:

Windbg –pv –p “process id”

Windbg –pv –pn “process name”


------------------------------------------------------------

調試多個進程和線程

 如果你想控制一個進程以及它的子進程的執行,在Windbg的命令行上加上-o選項。Windbg中還有一個新的命令.childdbg 可以用來控制子進程的調試。如果你同時調試幾個進程,可以使用 | 命令來顯示并切換到不同的進程。

在同一個進程中可能有多個線程。~命令可以用來顯示和切換線程。

 ------------------------------------------------------------

調試前的必備工作

在開始調試前首先要做的工作是設置好符號(Symbols)路徑。沒有符號,你看到的調用堆棧基本上毫無意義。Microsoft的操作系統符號文 件(PDB)是對外公開的。另外請注意在編譯你自己的程序選擇生成PDB文件的選項。如果設置好符號路徑后,調用堆棧看起來還是不對。可以使用lm, !sym noisy, !reload 等命令來驗證符號路徑是否正確。

Windbg也支持源碼級的調試。在開始源碼調試前,你需要用.srcpath設置源代碼路徑。如果你是在生成所執行代碼的機器上進行調試,符號文 件中的源碼路徑會指向正確的位置,所以不需要設置源代碼路徑。如果所執行代碼是在另一臺機器上生成的,你可以將所用的源碼拷貝(保持原有的目錄結構)的一 個可以訪問的文件夾(可以是網絡路徑)并將源代碼路徑設為該文件夾的路徑。注意如果是遠程調試,你需要使用.lsrcpath來設置源碼路徑。

 ------------------------------------------------------------

靜態命令:

1.顯示調用堆棧:在連接到一個調試窗口后,首先要知道的就是程序當前的執行情況k* 命令顯示當前線程的堆棧。~*kb會顯示所有線程的調用堆棧。如果堆棧太長,Windbg只會顯示堆棧的一部分。.kframes可以用來設置缺省顯示框架數。

2.顯示局部變量:接下來要做通常是用dv顯示局部變量的信息。CTRL+ALT+V可以切換到更詳細的顯示模式。關于dv要注意的是在優化過的代 碼中dv的輸出極有可能是不準確的。這時后你能做的就是閱讀匯編代碼來發現你感興趣的值是否存儲在寄存器中或堆棧上。有時后當前的框架(Frame)上可 能找不到你想知道的數據。如果該數據是作為參數傳到當前的方法中的,可以讀一讀上一個或幾個框架的匯編代碼,有可能該數據還在堆棧的某個地址上。靜態變量 是儲存在固定地址中的,所以找出靜態變量的值較為容易。.Frame(或者在調用堆棧窗口中雙擊)可以用來切換當前的框架。注意dv命令顯示的是當前框架 的內容。你也可在watch窗口中觀察局部變量的值。

3.顯示類和鏈表: dt可以顯示數據結構。比如dt PEB 會顯示操作系統進程結構。在后面跟上一個進程結構的地址會顯示該結構的詳細信息:dt PEB 7ffdf000。

Dl命令可以顯示一些特定的鏈表結構。

4.顯示當前線程的錯誤值:!gle會顯示當前線程的上一個錯誤值和狀態值。!error命令可以解碼HRESULT。

5.搜索或修改內存:使用s 命令來搜索字節,字或雙字,QWORD或字符串。使用e命令來修改內存。

6.計算表達式:?命令可以用來進行計算。關于表達式的格式請參照幫助文檔。使用n命令來切換輸入數字的進制。

7.顯示當前線程,進程和模塊信息:!teb顯示當前線程的環境信息。最常見的用途是查看當前線程堆棧的起始地址,然后在堆棧中搜索值。!peb顯示當前進程的環境信息,比如執行文件的路徑等等。lm顯示進程中加載的模塊信息。

8.顯示寄存器的值:r命令可以顯示和修改寄存器的值。如果要在表達式中使用寄存器的值,在寄存器名前加@符號(比如@eax)。

9.顯示最相近的符號:ln Address。如果你有一個C++對象的指針,可以用來ln來查看該對象類型。

10.查找符號:x命令可以用來查找全局變量的地址或過程的地址。x命令支持匹配符號。x kernel32!*顯示Kernel32.dll中的所有可見變量,數據結構和過程。

 

11.查看lock:!locks顯示各線程的鎖資源使用情況。對調試死鎖很有用。

12.查看handle:!handle顯示句柄信息。如果一段代碼導致句柄泄漏,你只需要在代碼執行前后使用!handle命令并比較兩次輸出的區別。有一個命令!htrace對調試與句柄有關的Bug非常有用。在開始調試前輸入:

!htrace –enable

然后在調試過程中使用!htrace handle_value 來顯示所有與該句柄有關的調用堆棧。

13.顯示匯編代碼:u。

------------------------------------------------------------

程序執行控制命令:

1.設置代碼斷點:bp/bu/bm 可以用來設置代碼斷點。你可以指定斷點被跳過的次數。假設一段代碼KERNEL32!SetLastError在運行很多次后會出錯,你可以設置如下斷點:

bp KERNEL32!SetLastError 0x100.

在出錯后使用bl 來顯示斷點信息(注意粗體顯示的值):

0 e 77e7a3b0 004f (0100) 0:*** KERNEL32!SetLastError

重新啟動調試(.restart命令)并設置如下的斷點:

bp Kernel32!SetLastError 0x100-0x4f

Debugger會停在出錯前最后一次調用該過程的地方。

你可以指定斷點被激活時Debugger應當執行的命令串。在該命令串中使用J命令可以用來設置條件斷點:

bp `mysource.cpp:143` "j (poi(MyVar)”0n20) ''; 'g' "

上面的斷點只在MyVar的值大于32時被激活(g命令

條件斷點的用途極為廣泛。你可以指定一個斷點只在特殊的情況下被激活,比如傳入的參數滿足一定的條件,調用者是某個特殊的過程,某個全局變量被設為特殊的值等等。

2.設置內存斷點:ba可以用來設置內存斷點。調試過程中一個常見的問題是跟蹤某些數據的變化。如下的斷點:

ba w4 0x40000000 "kb; g"

可以打印出所有修改0x40000000的調用堆棧。

3.控制程序執行:p, pa,t, ta等命令可以用來控制程序的執行。

4.控制異常和事件處理:Debugger的缺省設置是跳過首次異常(first chance expcetion),在二次異常(second chance exception)時中斷程序的執行。sx命令顯示Debugger的設置。sxe和sxd可以改變Debugger的設置。

sxe clr

可以控制Debugger在托管異常發生時中斷程序的執行。常用的Debugger事件有:

av 訪問異常

eh C++異常

clr 托管異常

ld 模塊加載

-c 選項可以用來指定在事件發生時執行的調試命令。

powerwolf 發表于:2006.07.03 15:02
reference url:  http://powerwolf.itpub.net/post/20237/130218


特別要注意的就是!gle   這個命令相當于執行GetLastError()  而且還能查看內核的NTSTATUS

問題剛剛解決了    最后出現的問題也找到了   但是錯誤原因大跌眼鏡   ------殺毒軟件...

結論:
雖然我們需要豐富的調試技巧  但是  經驗仍然是最重要的
就像找工作一樣  學校里面你再牛   沒有經驗  你都比不過工作兩年的高中生

posted @ 2009-08-20 11:51 李佳 閱讀(508) | 評論 (0)編輯 收藏
僅列出標題
共3頁: 1 2 3 
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿

隨筆分類

隨筆檔案

文章檔案

相冊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品揄拍500视频| 久久久久久尹人网香蕉| 欧美日本不卡| 西瓜成人精品人成网站| 榴莲视频成人在线观看| 亚洲视频二区| 午夜欧美大尺度福利影院在线看| 亚洲尤物视频网| 国产一区二区精品| 欧美在线观看一二区| 理论片一区二区在线| 亚洲第一精品夜夜躁人人躁| 激情六月婷婷久久| 亚洲国产日韩欧美在线图片 | 亚洲精品1区2区| 日韩香蕉视频| 一本一道久久综合狠狠老精东影业 | 久久久久久久久岛国免费| 欧美一区二区在线| 欧美一区二区三区的| 欧美成人乱码一区二区三区| 欧美日韩国产不卡在线看| 欧美视频一二三区| 亚洲大胆视频| 一区二区日本视频| 亚洲欧美高清| 久久午夜国产精品| 亚洲激情网站| 亚洲嫩草精品久久| 美女网站久久| 国产精品久久国产三级国电话系列| 国产欧美一区二区在线观看| 激情六月婷婷久久| 国产精品午夜电影| 在线日韩日本国产亚洲| 新狼窝色av性久久久久久| 久久久久国产精品人| 欧美呦呦网站| 艳女tv在线观看国产一区| 欧美一区二区视频在线观看2020| 另类图片综合电影| 亚洲性图久久| 一区二区久久久久| 亚洲综合色在线| 久久激情五月婷婷| 美国十次成人| 欧美日韩国产影院| 国产欧美日韩三级| 亚洲二区三区四区| 日韩视频在线观看国产| 亚洲一二三级电影| 久久久久99精品国产片| 一本色道88久久加勒比精品| 先锋影音久久久| 农村妇女精品| 久久久久久久综合色一本| 国产精品亚洲аv天堂网| 亚洲精品乱码久久久久久蜜桃麻豆| 午夜视频一区二区| 夜夜嗨av一区二区三区网页| 国产一区二区久久久| 亚洲人成免费| 久久久亚洲人| 久久成人免费日本黄色| 国产精品日韩在线播放| 日韩视频在线观看| 欧美在线观看一区| 欧美在线观看天堂一区二区三区| 欧美日韩中文| 99re6这里只有精品视频在线观看| 亚洲国产精品精华液2区45| 久久国产一区| 国产视频久久网| 久久人人97超碰精品888| 亚洲欧美日韩国产一区| 国产精品久久久久9999吃药| 欧美亚洲视频| 香蕉免费一区二区三区在线观看 | 国产婷婷一区二区| 麻豆免费精品视频| 久久国产婷婷国产香蕉| 欧美日韩国产成人| 欧美一区成人| 亚洲女人av| 欧美日韩高清不卡| 亚洲免费av电影| 欧美不卡一卡二卡免费版| 好看的日韩视频| 亚洲激情第一页| 国产精品白丝av嫩草影院| 欧美一级视频精品观看| 麻豆av一区二区三区| 亚洲网站视频福利| 欧美一级视频| 亚洲精品久久嫩草网站秘色 | 亚洲欧洲精品一区二区三区| 欧美成人69| 一区二区三区免费网站| 欧美一级理论性理论a| 一区精品久久| 欧美高清日韩| 国产欧美另类| 欧美韩日一区二区| 欧美日韩高清区| 夜夜爽av福利精品导航| 久久精品国内一区二区三区| 久久精品亚洲热| 另类成人小视频在线| 亚洲欧洲一区二区三区久久| 亚洲一级免费视频| 在线观看不卡av| 日韩视频在线一区二区| **欧美日韩vr在线| 正在播放亚洲一区| 韩国免费一区| 性做久久久久久| 久久精品99国产精品日本| 欧美日韩成人综合天天影院| 亚洲影院免费| 激情六月婷婷综合| 日韩亚洲欧美成人| 国产综合精品一区| 亚洲精品一区久久久久久| 欧美激情网友自拍| 欧美激情aⅴ一区二区三区| 国产精品成人一区二区网站软件| 老司机成人网| 黄色成人av网站| 亚洲一区二区三区在线| 亚洲精品在线免费观看视频| 欧美电影免费观看网站| 一本色道久久综合精品竹菊| 国产精品乱人伦中文| 亚洲国产色一区| 亚洲在线免费| 激情偷拍久久| 欧美婷婷久久| 日韩天堂在线观看| 久久在精品线影院精品国产| 久久精品国产亚洲一区二区三区| 校园春色国产精品| 日韩午夜在线播放| 欧美专区福利在线| 巨胸喷奶水www久久久免费动漫| 欧美日韩在线第一页| 亚洲精品三级| 欧美中文字幕久久| 欧美一区二区三区精品| 国产精品有限公司| 午夜激情亚洲| 欧美1级日本1级| 日韩亚洲欧美成人| 欧美午夜宅男影院| 亚洲欧美成人网| 六月天综合网| 一本色道88久久加勒比精品| 欧美日韩亚洲一区| 亚洲欧美日韩精品在线| 免费看的黄色欧美网站| 亚洲精品在线观看免费| 欧美三级黄美女| 欧美大色视频| 9人人澡人人爽人人精品| 亚洲欧美日韩人成在线播放| 国产日韩在线亚洲字幕中文| 久久精品30| 一区二区日本视频| 久久性天堂网| 亚洲五月六月| 亚洲福利国产精品| 国产精品国产a| 久久综合激情| 亚洲免费人成在线视频观看| 欧美国产高潮xxxx1819| 午夜精品久久久久久久男人的天堂| 国产日韩精品综合网站| 欧美激情视频在线播放| 欧美亚洲系列| 夜夜精品视频| 欧美国产专区| 久久久久88色偷偷免费| 亚洲性夜色噜噜噜7777| 亚洲国产精品一区在线观看不卡| 欧美体内she精视频在线观看| 老**午夜毛片一区二区三区| 亚洲一区二区三区777| 亚洲黑丝在线| 久久在线免费| 欧美资源在线观看| 亚洲一级二级在线| 亚洲精品一区二区三区在线观看| 国产一区二区欧美| 国产精品一区在线播放| 欧美日韩综合视频| 欧美亚洲一区二区三区| 韩国欧美一区| 久久亚洲高清| 亚洲视频免费在线| 久久嫩草精品久久久久| 99国产精品视频免费观看|