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

Error

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

#

首先要對源碼包里邊的INSTALL.W32不恐懼,然后要明白openssl在windows上的編譯對perl依賴

其次 no-asm 這個選項記住就好。。。


通過configure以后的代碼應(yīng)該是可以直接用vc編譯的,有時間了給整理出一個cmake版本來,,,

posted @ 2012-12-12 14:57 Enic 閱讀(224) | 評論 (0)編輯 收藏

使用CMake生成MFC項目的時候,需要用到在共享DLL中使用 MFC,需要在CMakeLists文件中加上如下的代碼:

ADD_DEFINITIONS(-D_AFXDLL)
SET(CMAKE_MFC_FLAG 2)
ADD_EXECUTABLE(detect WIN32 ${DIR_SRCS})

 

CMAKE_MFC_FLAG參數(shù)的意思是這樣解釋的:

To use MFC, the CMAKE_MFC_FLAG variable must be set as follows:

0: Use Standard Windows Libraries
1: Use MFC in a Static Library
2: Use MFC in a Shared DLL



//////////////////////////////////////////////////////////////////////////////////////////////////
//如果這個看不懂就證明基礎(chǔ)太差

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

PROJECT(testProject)


FIND_PACKAGE(MFC REQUIRED)

MESSAGE(STATUS "MFC_FOUND: " ${MFC_FOUND})

posted @ 2012-12-11 19:52 Enic 閱讀(731) | 評論 (0)編輯 收藏

//發(fā)送映射
const BYTE g_SendByteMap[256]=
{
    0x70,0x2F,0x40,0x5F,0x44,0x8E,0x6E,0x45,0x7E,0xAB,0x2C,0x1F,0xB4,0xAC,0x9D,0x91,
    0x0D,0x36,0x9B,0x0B,0xD4,0xC4,0x39,0x74,0xBF,0x23,0x16,0x14,0x06,0xEB,0x04,0x3E,
    0x12,0x5C,0x8B,0xBC,0x61,0x63,0xF6,0xA5,0xE1,0x65,0xD8,0xF5,0x5A,0x07,0xF0,0x13,
    0xF2,0x20,0x6B,0x4A,0x24,0x59,0x89,0x64,0xD7,0x42,0x6A,0x5E,0x3D,0x0A,0x77,0xE0,
    0x80,0x27,0xB8,0xC5,0x8C,0x0E,0xFA,0x8A,0xD5,0x29,0x56,0x57,0x6C,0x53,0x67,0x41,
    0xE8,0x00,0x1A,0xCE,0x86,0x83,0xB0,0x22,0x28,0x4D,0x3F,0x26,0x46,0x4F,0x6F,0x2B,
    0x72,0x3A,0xF1,0x8D,0x97,0x95,0x49,0x84,0xE5,0xE3,0x79,0x8F,0x51,0x10,0xA8,0x82,
    0xC6,0xDD,0xFF,0xFC,0xE4,0xCF,0xB3,0x09,0x5D,0xEA,0x9C,0x34,0xF9,0x17,0x9F,0xDA,
    0x87,0xF8,0x15,0x05,0x3C,0xD3,0xA4,0x85,0x2E,0xFB,0xEE,0x47,0x3B,0xEF,0x37,0x7F,
    0x93,0xAF,0x69,0x0C,0x71,0x31,0xDE,0x21,0x75,0xA0,0xAA,0xBA,0x7C,0x38,0x02,0xB7,
    0x81,0x01,0xFD,0xE7,0x1D,0xCC,0xCD,0xBD,0x1B,0x7A,0x2A,0xAD,0x66,0xBE,0x55,0x33,
    0x03,0xDB,0x88,0xB2,0x1E,0x4E,0xB9,0xE6,0xC2,0xF7,0xCB,0x7D,0xC9,0x62,0xC3,0xA6,
    0xDC,0xA7,0x50,0xB5,0x4B,0x94,0xC0,0x92,0x4C,0x11,0x5B,0x78,0xD9,0xB1,0xED,0x19,
    0xE9,0xA1,0x1C,0xB6,0x32,0x99,0xA3,0x76,0x9E,0x7B,0x6D,0x9A,0x30,0xD6,0xA9,0x25,
    0xC7,0xAE,0x96,0x35,0xD0,0xBB,0xD2,0xC8,0xA2,0x08,0xF3,0xD1,0x73,0xF4,0x48,0x2D,
    0x90,0xCA,0xE2,0x58,0xC1,0x18,0x52,0xFE,0xDF,0x68,0x98,0x54,0xEC,0x60,0x43,0x0F
};

//接收映射
const BYTE g_RecvByteMap[256]=
{
    0x51,0xA1,0x9E,0xB0,0x1E,0x83,0x1C,0x2D,0xE9,0x77,0x3D,0x13,0x93,0x10,0x45,0xFF,
    0x6D,0xC9,0x20,0x2F,0x1B,0x82,0x1A,0x7D,0xF5,0xCF,0x52,0xA8,0xD2,0xA4,0xB4,0x0B,
    0x31,0x97,0x57,0x19,0x34,0xDF,0x5B,0x41,0x58,0x49,0xAA,0x5F,0x0A,0xEF,0x88,0x01,
    0xDC,0x95,0xD4,0xAF,0x7B,0xE3,0x11,0x8E,0x9D,0x16,0x61,0x8C,0x84,0x3C,0x1F,0x5A,
    0x02,0x4F,0x39,0xFE,0x04,0x07,0x5C,0x8B,0xEE,0x66,0x33,0xC4,0xC8,0x59,0xB5,0x5D,
    0xC2,0x6C,0xF6,0x4D,0xFB,0xAE,0x4A,0x4B,0xF3,0x35,0x2C,0xCA,0x21,0x78,0x3B,0x03,
    0xFD,0x24,0xBD,0x25,0x37,0x29,0xAC,0x4E,0xF9,0x92,0x3A,0x32,0x4C,0xDA,0x06,0x5E,
    0x00,0x94,0x60,0xEC,0x17,0x98,0xD7,0x3E,0xCB,0x6A,0xA9,0xD9,0x9C,0xBB,0x08,0x8F,
    0x40,0xA0,0x6F,0x55,0x67,0x87,0x54,0x80,0xB2,0x36,0x47,0x22,0x44,0x63,0x05,0x6B,
    0xF0,0x0F,0xC7,0x90,0xC5,0x65,0xE2,0x64,0xFA,0xD5,0xDB,0x12,0x7A,0x0E,0xD8,0x7E,
    0x99,0xD1,0xE8,0xD6,0x86,0x27,0xBF,0xC1,0x6E,0xDE,0x9A,0x09,0x0D,0xAB,0xE1,0x91,
    0x56,0xCD,0xB3,0x76,0x0C,0xC3,0xD3,0x9F,0x42,0xB6,0x9B,0xE5,0x23,0xA7,0xAD,0x18,
    0xC6,0xF4,0xB8,0xBE,0x15,0x43,0x70,0xE0,0xE7,0xBC,0xF1,0xBA,0xA5,0xA6,0x53,0x75,
    0xE4,0xEB,0xE6,0x85,0x14,0x48,0xDD,0x38,0x2A,0xCC,0x7F,0xB1,0xC0,0x71,0x96,0xF8,
    0x3F,0x28,0xF2,0x69,0x74,0x68,0xB7,0xA3,0x50,0xD0,0x79,0x1D,0xFC,0xCE,0x8A,0x8D,
    0x2E,0x62,0x30,0xEA,0xED,0x2B,0x26,0xB9,0x81,0x7C,0x46,0x89,0x73,0xA2,0xF7,0x72
};
// MapSend
desData = g_SendByteMap[(BYTE)(srcData+m_cbSendRound)];
m_cbSendRound += 3;
// MapRecv
desData = g_RecvByteMap[cbData] - m_cbRecvRound;
m_cbRecvRound += 3;

映射加密原理分析:
約定srcData表示準(zhǔn)備加密的數(shù)據(jù)desData表示加密后的數(shù)據(jù),sendMap表示發(fā)送Map,recvMap表示接收Map;
就以上代碼中恒有:
推導(dǎo):
if desData == sendMap[srcData + offset]
then srcData == recvMap[desData] - offset
這個公式可以自己取一個[0, 255]之間的值,帶到上面兩個map中去算,,,
分析:
BYTE可能的值是0到255,正好是map的索引。
sendMap提供把實際值變成recvMap的索引的能力。
recvMap提供把recvMap索引還原成真實值的能力。
offset的引入是為了加強破解難度,唯一可能疑惑的問題是BYTE溢出,這個可以參考計算機組成原理前幾章。
我們可以這樣山寨:
class CSendMapper;
class CRecvMapper;
很顯然sendMap是和CSendMapper類緊耦合的,recvMapper和CRecvMapper類緊耦合
所以:
class CSendMapper
  ;
class CRecvMapper
  static const BYTE[256] ms_recvMap;
接下來是offset,在網(wǎng)狐的代碼中每次都有如下操作:m_cbSendRound += 3;
所以offset是和Mapper對象耦合的,同時也是上下文相關(guān)的,這樣也倒置mapper是上下文相關(guān)的。
class CSendMapper
  static const BYTE[256] ms_sendMap;
  ;
class CRecvMapper
  static const BYTE[256] ms_recvMap;
  BYTE m_btOffset;

 

image

這樣,只要是offset匹配的recv和send協(xié)作就能實現(xiàn)數(shù)據(jù)加解映射了,,,

最后的測試代碼如下(MAP函數(shù)被實現(xiàn)的時候改了,返回值的做法寫起來是方便了,但是優(yōu)化的時候比較麻煩):

nf6602::CSendMapper sendMapper;
_el::TBYTE btTem = 0;
sendMapper.SendMap(0, btTem);
if (0x70 != btTem)
{
    std::cout << "sendMapper.SendMap faild!" << std::endl;
}

nf6602::CRecvMapper recvMapper;
btTem = 0;
recvMapper.RecvMap(0, btTem);
if (0x51 != btTem)
{
    std::cout << "recvMapper.RecvMap faild!" << std::endl;
}

//if desData == sendMap[srcData]
//then srcData == recvMap[desData]
for (int i = 0; i < _EL_MAX_TBYTE*10; i++)
{
    _el::TBYTE btSrcData = i;
    _el::TBYTE btDesData = 0;
    sendMapper.SendMap(btSrcData, btTem);
    recvMapper.RecvMap(btTem, btDesData);
    if (btSrcData != btDesData)
    {
        std::cout << "if desData == sendMap[srcData] then srcData == recvMap[desData] faild!" << std::endl;
    }
    else
    {
        int j = 0 ;
    }
}

posted @ 2012-12-11 10:19 Enic 閱讀(2013) | 評論 (0)編輯 收藏

1. 編譯時,error C2977 "std::tuple" too many template arguments問題的解決辦法
網(wǎng)文http://www.cnblogs.com/fresky/articles/2455058.html中的方案如下:
打開 c:\program files (x86)\Microsoft Visual Studio 11.0\VC\include\xstddef,把 _VARIADIC_MAX定義成10。
這個方案一方面需要Administrator,其實是需要System權(quán)限才能修改Windows 8中的System文件,另一方面,會對所有的C/C++代碼造成影響
其實,更簡單的方法是打開“解決方案資源管理器”,右鍵打開項目“屬性”,在C/C++ --> “預(yù)處理器”--> “預(yù)處理定義”中增加以下行即可:
_VARIADIC_MAX=10
坑爹吧?

/////////////////////////////////////////////
// date: 2012-12-11
上面的問題是vc的tr1/tuple引起的,后來高手指點下知道gtest是有一個宏來控制這個東東的,,,

//   GTEST_HAS_TR1_TUPLE      - Define it to 1/0 to indicate tr1::tuple
//                              is/isn't available.
//   GTEST_HAS_SEH            - Define it to 1/0 to indicate whether the
//                              compiler supports Microsoft's "Structured
//                              Exception Handling".
//   GTEST_HAS_STREAM_REDIRECTION
//                            - Define it to 1/0 to indicate whether the
//                              platform supports I/O stream redirection using
//                              dup() and dup2().
//   GTEST_USE_OWN_TR1_TUPLE  - Define it to 1/0 to indicate whether Google
//                              Test's own tr1 tuple implementation should be
//                              used.  Unused when the user sets
//                              GTEST_HAS_TR1_TUPLE to 0.



// Determines whether Google Test can use tr1/tuple.  You can define
// this macro to 0 to prevent Google Test from using tuple (any
// feature depending on tuple with be disabled in this mode).
#ifndef GTEST_HAS_TR1_TUPLE
// The user didn't tell us not to do it, so we assume it's OK.
# define GTEST_HAS_TR1_TUPLE 1
#endif  // GTEST_HAS_TR1_TUPLE
// Determines whether Google Test's own tr1 tuple implementation
// should be used.
#ifndef GTEST_USE_OWN_TR1_TUPLE
// The user didn't tell us, so we need to figure it out.


using vs2012
gtest tuple build error
gtestport.h
#define GTEST_USE_OWN_TR1_TUPLE 0
#define GTEST_HAS_TR1_TUPLE 0
posted @ 2012-12-10 15:09 Enic 閱讀(1245) | 評論 (3)編輯 收藏

原因:

1.文檔不夠完善

2.熟悉程度不夠,學(xué)習(xí)曲線比較陡峭,直接用有可能失控

3.實現(xiàn)太過復(fù)雜,還需要mpl庫的支持

4.如果使用,iostreams將成為底層,整個項目都會對其依賴,有風(fēng)險

5.說白了,還是能力不夠,不過了解了一些iostreams歸納出來的concepts也是非常有收貨。

6.網(wǎng)上的一句歸納:

在真正掌握模版之前盡量少用

//////////////////////////////////////////////

Device Concepts

The most important Device concepts are these:

  • Device: Base for all Device concepts, provides associated character type and category.
  • Source: Provides read-only access to a sequence of characters.
  • Sink: Provides write-only access to a sequence of characters.
  • BidirectionalDevice: Provides access to two separate sequences of characters, one for reading and the other for writing.
  • SeekableDevice: Provides read-write access to a single sequence of characters, with a single repositionable read/write head.

Filter Concepts

The most important Filter concepts are these:

  • Filter: Base for all Filter concepts, provides associated character type and category.
  • InputFilter: Filters characters read from a Source.
  • OutputFilter: Filters characters written to a Sink
  • BidirectionalFilter: Filters two separate character sequences, one read from a Sink and the other written to a Sink.
  • SeekableFilter: Filters a single characters sequence, controlled by a SeekableDevice, providing filtered input, output and random access with a single repositionable read/write head

Optional Behavior

Boost.Iostreams prvides several concepts corresponding to optional behavior that a Filter or Device might implement:

  • Blocking: A Device which blocks when it receives a read or write request until all requested characters are available, or until the end of a stream is reached.
  • Direct: A Device which provides access to its controlled sequences as regions of memory rather than via a socket-like interface.
  • Closable: A Filter or Device which receives notifications immediately before a stream is closed.
  • Flushable A Filter or Device which receives notifications when a stream is flushed.
  • Localizable: A Filter or Device which receives notifications when the locale of a stream or stream buffer is set using basic_ios::imbue or basic_streambuf::pubimbue.
  • Multi-Character: A Filter which provides access to its controlled sequences several characters at a time, via a socket-like interface.
  • OptimallyBuffered A Filter or Device which will be fitted with a buffer of custom size if no buffer size is explicitly requested by the user.
  • Peekable: A source which allows characters to be put back to the input sequence.
  • Pipable: A Filter which can appear in pipelines.
posted @ 2012-11-19 16:17 Enic 閱讀(239) | 評論 (0)編輯 收藏

mode(模式?):
    input: 使用一個character隊列,用來輸入
    output: 使用一個character隊列,用來輸出
    bidirectional: 使用兩個character隊列,分別用來輸入、輸出
    input-seekable: 使用一個character隊列用來輸入,包含一個讀索引游標(biāo)
    output-seekable: 使用一個character隊列用來輸出,包含一個寫索引游標(biāo)
    seekable: 使用一個character隊列用來輸入輸出,包含一個讀/寫復(fù)用的索引游標(biāo)
    dual-seekable: 使用一個character隊列來輸入輸出,包含兩個索引游標(biāo)分別用來標(biāo)識讀寫
    bidirectional-seekable: 使用兩個character隊列分別用來輸入輸出,同時每個隊列包含一個各自的索引游標(biāo)
    *blocking: 如果讀請求永遠(yuǎn)比剩下的character少除了end情況,而且寫請求需要的永遠(yuǎn)比現(xiàn)有的少。那就是一個blocking。
The Blocking concept does not apply to filters. Instead, filters are required to be blocking-preserving, which means that

a read request never produces fewer characters than requested unless end-of-stream has been reached or unless a read request to a downsteam Source produces fewer characters than requested, and
a write request never consumes fewer characters than requested unless a write request to a downsteam Sink consumes fewer characters than requested.

 

image

 

 

*如果熟悉stl應(yīng)該就了解traits技術(shù)(應(yīng)該是技巧)

<boost/iostreams/traits.hpp>這里是boost::iostream庫的traits

還有個模版元函數(shù)mod_of

posted @ 2012-11-19 11:49 Enic 閱讀(207) | 評論 (0)編輯 收藏

在asio的異步指導(dǎo)思想下,所有的socket io操作都被分解了:

投遞請求 –> 響應(yīng)結(jié)果

投遞請求是異步IO的發(fā)起動作,響應(yīng)結(jié)果是異步IO的結(jié)果反饋動作。

具體到代碼就是:async系列函數(shù)和Functor構(gòu)成的handler

每一個操作對應(yīng)一種handler

 

具體handler來說主要有兩種模型:

一種是接收一個error和translateLen,這可個詳情可以看文檔。

主要能理解async和handler,和選擇正確的handler

應(yīng)該來說,原則上所有有數(shù)據(jù)傳輸?shù)膆andler有應(yīng)該選擇能接收len的Functor,這樣控制能力更加精確。

 

其他的細(xì)節(jié)有待分析,,,

posted @ 2012-11-08 19:48 Enic 閱讀(357) | 評論 (0)編輯 收藏

#define BOOST_ALL_DYN_LINK  // 使用dll方式鏈接

#define BOOST_LIB_DIAGNOSTIC  // 輸出會自動鏈接的lib名字

#define BOOST_ALL_NO_LIB  // 自動鏈接的開關(guān)

posted @ 2012-11-07 15:20 Enic 閱讀(251) | 評論 (0)編輯 收藏

直白點說,就是對getaddrinfo()這個函數(shù)的適配。抽象點說就是解析器。

細(xì)節(jié)如下:

boost::asio::ip::tcp::resolver resolver(asioService);
boost::asio::ip::tcp::resolver::query queryEndpoints(boost::asio::ip::host_name(),"80");
boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(queryEndpoints);
;
for(boost::asio::ip::tcp::resolver::iterator iterNull;
    endpoint_iterator != iterNull;
    endpoint_iterator++)
{
    std::cout << endpoint_iterator->endpoint() << std::endl;
}

 

上面的代碼有這么幾個類型:

boost::asio::ip::tcp::resolver

boost::asio::ip::tcp::resolver::query

boost::asio::ip::tcp::resolver::iterator

 

resolver抽線的是getaddrinfo()動作

boost::asio::ip::tcp::resolver::query抽象的是getaddrinfo()需要的參數(shù)

boost::asio::ip::tcp::resolver::iterator抽象的是getaddrinfo()的結(jié)果

這整個體系是抽象winsock sdk到stl思想

posted @ 2012-11-07 13:52 Enic 閱讀(2140) | 評論 (1)編輯 收藏

原則上將會在處理完所有的異步請求以后返回,具體內(nèi)部是某個變量控制的。

可以通過:

boost::asio::io_service io_service;

boost::asio::io_service::work work(io_service);

work構(gòu)造以后會讓io_service內(nèi)部的某個控制變量自增這樣run就不會返回了。

 

可以通過類似這樣的技巧更漂亮的控制:

boost::asio::io_service asioService;
//boost::asio::io_service::work work(asioService);
boost::scoped_ptr<boost::asio::io_service::work> spWork(new boost::asio::io_service::work(asioService));
asioService.run();  // 這樣run就會一直執(zhí)行不會返回

...
spWork.reset();// reset會導(dǎo)致內(nèi)部的work析構(gòu),析構(gòu)以后io_service里邊的控制量就會正常。run處理完所有異步請求就會返回了

posted @ 2012-11-07 10:27 Enic 閱讀(2312) | 評論 (0)編輯 收藏

僅列出標(biāo)題
共22頁: First 14 15 16 17 18 19 20 21 22 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久手机免费观看| 午夜精品一区二区三区在线视| 久久一区亚洲| 亚洲激情影视| 一区二区三区欧美| 国产欧美高清| 欧美成人精品不卡视频在线观看| 亚洲乱码国产乱码精品精可以看| 亚洲综合国产激情另类一区| 国内精品久久久久伊人av| 久久综合伊人| 中文在线资源观看视频网站免费不卡| 久久精品噜噜噜成人av农村| 亚洲国产精品一区二区第四页av | 狠狠色狠狠色综合日日tαg| 久久综合色88| 亚洲视频在线观看网站| 毛片一区二区三区| 亚洲视频免费观看| 狠狠色综合一区二区| 欧美日韩高清在线播放| 小黄鸭精品aⅴ导航网站入口| 亚洲国产精品久久久久秋霞蜜臀| 亚洲欧美在线一区| 最新亚洲一区| 国产午夜精品美女毛片视频| 欧美激情第8页| 欧美在线观看视频一区二区三区| 亚洲三级影片| 欧美va亚洲va日韩∨a综合色| 亚洲一区二区黄| 亚洲国产aⅴ天堂久久| 国产精品久久二区| 欧美激情第一页xxx| 久久激情网站| 亚洲男人的天堂在线aⅴ视频| 亚洲国产精品成人va在线观看| 久久国产主播| 亚洲欧美日韩国产综合精品二区| 亚洲日本欧美日韩高观看| 国产主播精品在线| 国产精品乱人伦一区二区| 欧美精品日韩三级| 美女在线一区二区| 欧美专区18| 先锋a资源在线看亚洲| 99riav1国产精品视频| 亚洲成色999久久网站| 久久人人九九| 久久久久久久成人| 久久成人免费视频| 欧美一级艳片视频免费观看| 亚洲一区精彩视频| 一本久久a久久免费精品不卡| 亚洲缚视频在线观看| 狠狠色伊人亚洲综合成人| 国产丝袜一区二区| 国产欧美一区二区在线观看| 国产精品日韩在线一区| 国产精品高清一区二区三区| 欧美日韩亚洲一区二区三区在线 | 免费在线一区二区| 久久琪琪电影院| 久久精品女人的天堂av| 欧美中文字幕在线| 久久国产精品网站| 久久久久九九九九| 久久久久久一区| 久久久久久九九九九| 久久久精品999| 久久久青草婷婷精品综合日韩| 久久国产一二区| 久久这里有精品视频| 另类尿喷潮videofree| 免费成人你懂的| 欧美激情欧美激情在线五月| 欧美日韩伦理在线免费| 欧美色图麻豆| 国产精品毛片va一区二区三区 | 久久亚洲精品一区二区| 乱人伦精品视频在线观看| 男人插女人欧美| 欧美精品啪啪| 国产精品久久久久久影视 | 亚洲免费在线看| 小黄鸭精品aⅴ导航网站入口| 欧美一区二区在线免费播放| 久久中文在线| 欧美日韩第一区| 国产精品永久入口久久久| 国产有码在线一区二区视频| 亚洲国产毛片完整版| 中日韩男男gay无套| 欧美在线一二三区| 麻豆九一精品爱看视频在线观看免费| 亚洲成人自拍视频| 一区二区成人精品| 欧美中文在线观看国产| 欧美大胆a视频| 国产精品毛片a∨一区二区三区| 国产一区二区精品丝袜| 亚洲每日在线| 久久九九精品| 亚洲三级色网| 欧美综合激情网| 欧美日韩国产在线播放| 国产一区二区三区四区老人| 亚洲美女黄色| 久久精品女人的天堂av| 亚洲国产一区在线| 欧美一级艳片视频免费观看| 欧美极品aⅴ影院| 国产欧美综合一区二区三区| 亚洲另类在线一区| 久久久99精品免费观看不卡| 日韩视频在线观看国产| 久久久精品五月天| 国产精品久久久久高潮| 91久久精品视频| 久久精品视频免费播放| 日韩午夜电影av| 美女国产一区| 国产亚洲精品久| 亚洲综合色激情五月| 亚洲国产天堂久久国产91| 欧美一区二区在线免费播放| 欧美少妇一区| 亚洲精品一区二区在线观看| 久久婷婷av| 亚洲免费一在线| 欧美婷婷在线| 一区二区电影免费在线观看| 欧美国内亚洲| 久久精品免费播放| 国产亚洲一区二区三区在线播放| 亚洲视频在线观看视频| 亚洲国产日本| 免费在线观看精品| 在线观看中文字幕不卡| 久久久另类综合| 午夜精品999| 国产精品一区二区三区四区| 亚洲午夜高清视频| 亚洲精品永久免费| 欧美精品一卡| 亚洲看片免费| 91久久精品国产91性色| 免费亚洲一区二区| 亚洲国产小视频在线观看| 免费不卡在线观看av| 欧美一二三区精品| 国产综合自拍| 久久久亚洲一区| 久久精品综合一区| 尤物yw午夜国产精品视频明星| 久久久久国产精品人| 欧美在线观看一区二区| 国产一区二区按摩在线观看| 久久久久久久高潮| 久久精品一二三区| 亚洲第一视频网站| 亚洲国产婷婷香蕉久久久久久99| 欧美chengren| 一本色道久久综合亚洲精品高清 | 免费成人性网站| 亚洲区一区二区三区| 亚洲级视频在线观看免费1级| 欧美精品久久一区| 一区二区三区波多野结衣在线观看| 亚洲欧洲精品一区二区三区不卡| 欧美日韩成人精品| 亚洲欧美国产一区二区三区| 亚洲综合色自拍一区| 国产原创一区二区| 欧美高清一区二区| 欧美另类极品videosbest最新版本| 一区二区久久| 午夜一区不卡| 亚洲高清免费| 妖精视频成人观看www| 国产乱码精品1区2区3区| 久久久久久久久综合| 麻豆精品在线视频| 亚洲图片欧洲图片日韩av| 亚洲欧美一区二区三区极速播放| 国产有码在线一区二区视频| 亚洲大胆视频| 国产精品羞羞答答| 欧美国内亚洲| 国产精品福利影院| 麻豆av一区二区三区久久| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲激情啪啪| 一本综合精品| 激情久久久久| 夜久久久久久| 国精品一区二区| 亚洲精品社区| 国内精品嫩模av私拍在线观看 | 99热免费精品|