日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C#实现注册码功能编程总结

發布時間:2025/4/14 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#实现注册码功能编程总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C# 給自己寫的軟件,加注冊碼功能


  為自己寫的程序加一個注冊功能吧。生成的機器號是根據CPU和硬盤號來的,根據自己的需求改成是否是隨機生成。

  代碼直接粘貼到新建類覆蓋原代碼就能直接用了。


using System;
using System.Management;
using System.Security.Cryptography;
using System.Text;

namespace RegisterClass
{
? ? class RegisterClass
? ? {
? ? ? ? //步驟一: 獲得CUP序列號和硬盤序列號的實現代碼如下:
? ? ? ? //獲得CPU的序列號


? ? ? ? bool Stupids = true;
? ? ? ? bool Cat = false;
? ? ? ?public string getCpu()
? ? ? ? {
? ? ? ? ? ? string strCpu = null;
? ? ? ? ? ? ManagementClass myCpu = new ManagementClass("win32_Processor");
? ? ? ? ? ? ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
? ? ? ? ? ? foreach( ManagementObject myObject in myCpuConnection)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? strCpu = myObject.Properties["Processorid"].Value.ToString();
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? return strCpu;
? ? ? ? }
?
? ? ? ? //取得設備硬盤的卷標號


? ? ? ?public string GetDiskVolumeSerialNumber()
? ? ? ? {
? ? ? ? ? ? ManagementClass mc =?
? ? ? ? ? ? ? ? ?new ManagementClass("Win32_NetworkAdapterConfiguration");
? ? ? ? ? ? ManagementObject disk =?
? ? ? ? ? ? ? ? ?new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
? ? ? ? ? ? disk.Get();
? ? ? ? ? ? return disk.GetPropertyValue("VolumeSerialNumber").ToString();
? ? ? ? }
?
?
? ? ? ? //步驟二: 收集硬件信息生成機器碼, 代碼如下:?
? ? ? ? //生成機器碼


? ? ? ?public string CreateCode()
? ? ? ? {
? ? ? ? ? ? string temp = getCpu() + GetDiskVolumeSerialNumber();//獲得24位Cpu和硬盤序列號
? ? ? ? ? ? string[] strid = new string[24];//
? ? ? ? ? ? for (int i = 0; i < 24; i++)//把字符賦給數組
? ? ? ? ? ? {
? ? ? ? ? ? ? ? strid[i] = temp.Substring(i, 1);
? ? ? ? ? ? }
? ? ? ? ? ? temp = "";
? ? ? ? ? ? //Random rdid = new Random();
? ? ? ? ? ? for (int i = 0; i < 24; i++)//從數組隨機抽取24個字符組成新的字符生成機器三
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //temp += strid[rdid.Next(0, 24)];
? ? ? ? ? ? ? ? temp += strid[i+3>=24?0:i+3];
? ? ? ? ? ? }
? ? ? ? ? ? return GetMd5(temp);
? ? ? ? }


? ? ? ? //步驟三: 使用機器碼生成軟件注冊碼, 代碼如下:
? ? ? ? //使用機器碼生成注冊碼
? ? ? ? public int[] intCode = new int[127];//用于存密鑰


? ? ? ? public void setIntCode()//給數組賦值個小于10的隨機數
? ? ? ? {
? ? ? ? ? ? //Random ra = new Random();
? ? ? ? ? ? //for (int i = 1; i < intCode.Length;i++ )
? ? ? ? ? ? //{
? ? ? ? ? ? // ? ?intCode[i] = ra.Next(0, 9);
? ? ? ? ? ? //}
? ? ? ? ? ? for (int i = 1; i < intCode.Length; i++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? intCode[i] = i + 3 > 9 ? 0 : i + 3;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? public int[] intNumber = new int[25];//用于存機器碼的Ascii值
? ? ? ? public char[] Charcode = new char[25];//存儲機器碼字
? ??
? ? ? ? //生成注冊碼
? ? ? ? public string GetCode(string code)
? ? ? ? {
? ? ? ? ? ? if (code != "")
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //把機器碼存入數組中
? ? ? ? ? ? ? ? setIntCode();//初始化127位數組
? ? ? ? ? ? ? ? for (int i = 1; i < Charcode.Length; i++)//把機器碼存入數組中
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Charcode[i] = Convert.ToChar(code.Substring(i - 1, 1));
? ? ? ? ? ? ? ? }//
? ? ? ? ? ? ? ? for (int j = 1; j < intNumber.Length; j++)//把字符的ASCII值存入一個整數組中。
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? intNumber[j] =?
? ? ? ? ? ? ? ? ? ? ? ?intCode[Convert.ToInt32(Charcode[j])] +?
? ? ? ? ? ? ? ? ? ? ? ?Convert.ToInt32(Charcode[j]);


? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? string strAsciiName = null;//用于存儲機器碼
? ? ? ? ? ? ? ? for (int j = 1; j < intNumber.Length; j++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? //MessageBox.Show((Convert.ToChar(intNumber[j])).ToString());
? ? ? ? ? ? ? ? ? ? //判斷字符ASCII值是否0-9之間


? ? ? ? ? ? ? ? ? ? if (intNumber[j] >= 48 && intNumber[j] <= 57)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[j]).ToString();
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? //判斷字符ASCII值是否A-Z之間


? ? ? ? ? ? ? ? ? ? else if (intNumber[j] >= 65 && intNumber[j] <= 90)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[j]).ToString();
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? //判斷字符ASCII值是否a-z之間




? ? ? ? ? ? ? ? ? ? else if (intNumber[j] >= 97 && intNumber[j] <= 122) ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[j]).ToString();
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else//判斷字符ASCII值不在以上范圍內
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if (intNumber[j] > 122)//判斷字符ASCII值是否大于z
? ? ? ? ? ? ? ? ? ? ? ? {?
? ? ? ? ? ? ? ? ? ? ? ? ? ?strAsciiName += Convert.ToChar(intNumber[j] - 10).ToString();?
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[j] - 9).ToString();
? ? ? ? ? ? ? ? ? ? ? ? }


? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? //label3.Text = strAsciiName;//得到注冊碼
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return strAsciiName;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return "";
? ? ? ? ? ? }
? ? ? ? }
?
?
? ? ? ? //步驟四: 用戶輸入注冊碼注冊軟件, 演示代碼如下:


? ? ? ? //注冊
? ? ? ? public bool RegistIt(string currentCode,string realCode)
? ? ? ? {
? ? ? ? ? ? if (realCode != "")
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (currentCode.TrimEnd().Equals(realCode.TrimEnd()))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Microsoft.Win32.RegistryKey retkey =?
? ? ? ? ? ? ? ? ? ? ? ? ?Microsoft.Win32.Registry.CurrentUser.
? ? ? ? ? ? ? ? ? ? ? ? ?OpenSubKey("software", true).CreateSubKey("StupidsCat").
? ? ? ? ? ? ? ? ? ? ? ? ?CreateSubKey("StupidsCat.ini").
? ? ? ? ? ? ? ? ? ? ? ? ?CreateSubKey(currentCode.TrimEnd());
? ? ? ? ? ? ? ? ? ? retkey.SetValue("StupidsCat", "BBC6D58D0953F027760A046D58D52786");


? ? ? ? ? ? ? ? ? ? retkey = Microsoft.Win32.Registry.LocalMachine.
? ? ? ? ? ? ? ? ? ? ? ? OpenSubKey("software", true).CreateSubKey("StupidsCat").
? ? ? ? ? ? ? ? ? ? ? ? ?CreateSubKey("StupidsCat.ini").
? ? ? ? ? ? ? ? ? ? ? ? ?CreateSubKey(currentCode.TrimEnd());
? ? ? ? ? ? ? ? ? ? retkey.SetValue("StupidsCat", "BBC6D58D0953F027760A046D58D52786");


? ? ? ? ? ? ? ? ? ? return Stupids;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? return Cat;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? else { return Cat; }
? ? ? ? }


? ? ? ? public bool BoolRegist(string sn)
? ? ? ? {
? ? ? ? ? ? string[] keynames; bool flag = false;
? ? ? ? ? ? Microsoft.Win32.RegistryKey localRegKey = Microsoft.Win32.Registry.LocalMachine;
? ? ? ? ? ? Microsoft.Win32.RegistryKey userRegKey = Microsoft.Win32.Registry.CurrentUser;
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? keynames = localRegKey.OpenSubKey("software\\StupidsCat\\StupidsCat.ini\\" + GetMd5(sn)).GetValueNames();
? ? ? ? ? ? ? ? foreach (string name in keynames)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? if (name == "StupidsCat")
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if (localRegKey.OpenSubKey("software\\StupidsCat\\StupidsCat.ini\\" + GetMd5(sn)).GetValue("StupidsCat").ToString() == "BBC6D58D0953F027760A046D58D52786")
? ? ? ? ? ? ? ? ? ? ? ? ? ? flag = true;?
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? keynames = userRegKey.OpenSubKey("software\\StupidsCat\\StupidsCat.ini\\" + GetMd5(sn)).GetValueNames();
? ? ? ? ? ? ? ? foreach (string name in keynames)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? if (name == "StupidsCat")
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if (flag && userRegKey.OpenSubKey("software\\StupidsCat\\StupidsCat.ini\\" + GetMd5(sn)).GetValue("StupidsCat").ToString() == "BBC6D58D0953F027760A046D58D52786")
? ? ? ? ? ? ? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return false;
? ? ? ? ? ? }
? ? ? ? ? ? catch
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return false;
? ? ? ? ? ? }
? ? ? ? ? ? finally?
? ? ? ? ? ? {?
? ? ? ? ? ? ? ? localRegKey.Close();?
? ? ? ? ? ? ? ? userRegKey.Close();?
? ? ? ? ? ? }
? ? ? ? }


? ? ? ? public string GetMd5(object text)
? ? ? ? {
? ? ? ? ? ? string path = text.ToString();


? ? ? ? ? ? MD5CryptoServiceProvider MD5Pro = new MD5CryptoServiceProvider();
? ? ? ? ? ? Byte[] buffer = Encoding.GetEncoding("utf-8").GetBytes(text.ToString());
? ? ? ? ? ? Byte[] byteResult = MD5Pro.ComputeHash(buffer);


? ? ? ? ? ? string md5result = BitConverter.ToString(byteResult).Replace("-", "");
? ? ? ? ? ? return md5result;
? ? ? ? }
? ? }
}
========

C#學習筆記——軟件注冊與注冊機


SoftReg類:

? ?1: using System;
? ?2: using System.Collections.Generic;
? ?3: using System.Linq;
? ?4: using System.Text;
? ?5: using System.Management; ? ?//需要引用System.Management.dll
? ?6: ?
? ?7: namespace SoftRegister
? ?8: {
? ?9: ? ? class SoftReg
? 10: ? ? {
? 11: ? ? ? ? ///<summary>
? 12: ? ? ? ? /// 獲取硬盤卷標號
? 13: ? ? ? ? ///</summary>
? 14: ? ? ? ? ///<returns></returns>
? 15: ? ? ? ? public string GetDiskVolumeSerialNumber()
? 16: ? ? ? ? {
? 17: ? ? ? ? ? ? ManagementClass mc = new ManagementClass("win32_NetworkAdapterConfiguration");
? 18: ? ? ? ? ? ? ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
? 19: ? ? ? ? ? ? disk.Get();
? 20: ? ? ? ? ? ? return disk.GetPropertyValue("VolumeSerialNumber").ToString();
? 21: ? ? ? ? }
? 22: ?
? 23: ? ? ? ? ///<summary>
? 24: ? ? ? ? /// 獲取CPU序列號
? 25: ? ? ? ? ///</summary>
? 26: ? ? ? ? ///<returns></returns>
? 27: ? ? ? ? public string GetCpu()
? 28: ? ? ? ? {
? 29: ? ? ? ? ? ? string strCpu = null;
? 30: ? ? ? ? ? ? ManagementClass myCpu = new ManagementClass("win32_Processor");
? 31: ? ? ? ? ? ? ManagementObjectCollection myCpuCollection = myCpu.GetInstances();
? 32: ? ? ? ? ? ? foreach (ManagementObject myObject in myCpuCollection)
? 33: ? ? ? ? ? ? {
? 34: ? ? ? ? ? ? ? ? strCpu = myObject.Properties["Processorid"].Value.ToString();
? 35: ? ? ? ? ? ? }
? 36: ? ? ? ? ? ? return strCpu;
? 37: ? ? ? ? }
? 38: ?
? 39: ? ? ? ? ///<summary>
? 40: ? ? ? ? /// 生成機器碼
? 41: ? ? ? ? ///</summary>
? 42: ? ? ? ? ///<returns></returns>
? 43: ? ? ? ? public string GetMNum()
? 44: ? ? ? ? {
? 45: ? ? ? ? ? ? string strNum = GetCpu() + GetDiskVolumeSerialNumber();
? 46: ? ? ? ? ? ? string strMNum = strNum.Substring(0, 24); ? ?//截取前24位作為機器碼
? 47: ? ? ? ? ? ? return strMNum;
? 48: ? ? ? ? }
? 49: ?
? 50: ? ? ? ? public int[] intCode = new int[127]; ? ?//存儲密鑰
? 51: ? ? ? ? public char[] charCode = new char[25]; ?//存儲ASCII碼
? 52: ? ? ? ? public int[] intNumber = new int[25]; ? //存儲ASCII碼值
? 53: ?
? 54: ? ? ? ? //初始化密鑰
? 55: ? ? ? ? public void SetIntCode()
? 56: ? ? ? ? {
? 57: ? ? ? ? ? ? for (int i = 1; i < intCode.Length; i++)
? 58: ? ? ? ? ? ? {
? 59: ? ? ? ? ? ? ? ? intCode[i] = i % 9;
? 60: ? ? ? ? ? ? }
? 61: ? ? ? ? }
? 62: ?
? 63: ? ? ? ? ///<summary>
? 64: ? ? ? ? /// 生成注冊碼
? 65: ? ? ? ? ///</summary>
? 66: ? ? ? ? ///<returns></returns>
? 67: ? ? ? ? public string GetRNum()
? 68: ? ? ? ? {
? 69: ? ? ? ? ? ? SetIntCode();
? 70: ? ? ? ? ? ? string strMNum = GetMNum();
? 71: ? ? ? ? ? ? for (int i = 1; i < charCode.Length; i++) ? //存儲機器碼
? 72: ? ? ? ? ? ? {
? 73: ? ? ? ? ? ? ? ? charCode[i] = Convert.ToChar(strMNum.Substring(i - 1, 1));
? 74: ? ? ? ? ? ? }
? 75: ? ? ? ? ? ? for (int j = 1; j < intNumber.Length; j++) ?//改變ASCII碼值
? 76: ? ? ? ? ? ? {
? 77: ? ? ? ? ? ? ? ? intNumber[j] = Convert.ToInt32(charCode[j]) + intCode[Convert.ToInt32(charCode[j])];
? 78: ? ? ? ? ? ? }
? 79: ? ? ? ? ? ? string strAsciiName = ""; ? //注冊碼
? 80: ? ? ? ? ? ? for (int k = 1; k < intNumber.Length; k++) ?//生成注冊碼
? 81: ? ? ? ? ? ? {
? 82: ?
? 83: ? ? ? ? ? ? ? ? if ((intNumber[k] >= 48 && intNumber[k] <= 57) || (intNumber[k] >= 65 && intNumber[k]
? 84: ? ? ? ? ? ? ? ? ? ? <= 90) || (intNumber[k] >= 97 && intNumber[k] <= 122)) ?//判斷如果在0-9、A-Z、a-z之間
? 85: ? ? ? ? ? ? ? ? {
? 86: ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[k]).ToString();
? 87: ? ? ? ? ? ? ? ? }
? 88: ? ? ? ? ? ? ? ? else if (intNumber[k] > 122) ?//判斷如果大于z
? 89: ? ? ? ? ? ? ? ? {
? 90: ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[k] - 10).ToString();
? 91: ? ? ? ? ? ? ? ? }
? 92: ? ? ? ? ? ? ? ? else
? 93: ? ? ? ? ? ? ? ? {
? 94: ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[k] - 9).ToString();
? 95: ? ? ? ? ? ? ? ? }
? 96: ? ? ? ? ? ? }
? 97: ? ? ? ? ? ? return strAsciiName;
? 98: ? ? ? ? }
? 99: ? ? }
?100: }
主窗體:
image
? ?1: using System;
? ?2: using System.Collections.Generic;
? ?3: using System.ComponentModel;
? ?4: using System.Data;
? ?5: using System.Drawing;
? ?6: using System.Linq;
? ?7: using System.Text;
? ?8: using System.Windows.Forms;
? ?9: using Microsoft.Win32;
? 10: ?
? 11: namespace SoftRegister
? 12: {
? 13: ? ? public partial class FormMain : Form
? 14: ? ? {
? 15: ? ? ? ? public FormMain()
? 16: ? ? ? ? {
? 17: ? ? ? ? ? ? InitializeComponent();
? 18: ? ? ? ? }
? 19: ?
? 20: ? ? ? ? SoftReg softReg = new SoftReg();
? 21: ?
? 22: ? ? ? ? private void FormMain_Load(object sender, EventArgs e)
? 23: ? ? ? ? {
? 24: ? ? ? ? ? ? //判斷軟件是否注冊
? 25: ? ? ? ? ? ? RegistryKey retkey = Registry.CurrentUser.OpenSubKey("SOFTWARE", true).CreateSubKey("mySoftWare").CreateSubKey("Register.INI");
? 26: ? ? ? ? ? ? foreach (string strRNum in retkey.GetSubKeyNames())
? 27: ? ? ? ? ? ? {
? 28: ? ? ? ? ? ? ? ? if (strRNum == softReg.GetRNum())
? 29: ? ? ? ? ? ? ? ? {
? 30: ? ? ? ? ? ? ? ? ? ? this.labRegInfo.Text = "此軟件已注冊!";
? 31: ? ? ? ? ? ? ? ? ? ? this.btnReg.Enabled = false;
? 32: ? ? ? ? ? ? ? ? ? ? return;
? 33: ? ? ? ? ? ? ? ? }
? 34: ? ? ? ? ? ? }
? 35: ? ? ? ? ? ? this.labRegInfo.Text = "此軟件尚未注冊!";
? 36: ? ? ? ? ? ? this.btnReg.Enabled = true;
? 37: ? ? ? ? ? ? MessageBox.Show("您現在使用的是試用版,可以免費試用30次!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
? 38: ? ? ? ? ? ??
? 39: ? ? ? ? ? ? Int32 tLong; ? ?//已使用次數
? 40: ? ? ? ? ? ? try
? 41: ? ? ? ? ? ? {
? 42: ? ? ? ? ? ? ? ? tLong = (Int32)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\mySoftWare", "UseTimes", 0);
? 43: ? ? ? ? ? ? ? ? MessageBox.Show("您已經使用了" + tLong + "次!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
? 44: ? ? ? ? ? ? }
? 45: ? ? ? ? ? ? catch
? 46: ? ? ? ? ? ? {
? 47: ? ? ? ? ? ? ? ? MessageBox.Show("歡迎使用本軟件!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
? 48: ? ? ? ? ? ? ? ? Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\mySoftWare", "UseTimes", 0, RegistryValueKind.DWord);
? 49: ? ? ? ? ? ? }
? 50: ?
? 51: ? ? ? ? ? ? //判斷是否可以繼續試用
? 52: ? ? ? ? ? ? tLong = (Int32)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\mySoftWare", "UseTimes", 0);
? 53: ? ? ? ? ? ? if (tLong < 30)
? 54: ? ? ? ? ? ? {
? 55: ? ? ? ? ? ? ? ? int tTimes = tLong + 1;
? 56: ? ? ? ? ? ? ? ? Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\mySoftWare", "UseTimes", tTimes);
? 57: ? ? ? ? ? ? }
? 58: ? ? ? ? ? ? else
? 59: ? ? ? ? ? ? {
? 60: ? ? ? ? ? ? ? ? DialogResult result = MessageBox.Show("試用次數已到!您是否需要注冊?", "信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
? 61: ? ? ? ? ? ? ? ? if (result == DialogResult.Yes)
? 62: ? ? ? ? ? ? ? ? {
? 63: ? ? ? ? ? ? ? ? ? ? FormRegister.state = false; //設置軟件狀態為不可用
? 64: ? ? ? ? ? ? ? ? ? ? btnReg_Click(sender, e); ? ?//打開注冊窗口
? 65: ? ? ? ? ? ? ? ? }
? 66: ? ? ? ? ? ? ? ? else
? 67: ? ? ? ? ? ? ? ? {
? 68: ? ? ? ? ? ? ? ? ? ? Application.Exit();
? 69: ? ? ? ? ? ? ? ? }
? 70: ? ? ? ? ? ? }
? 71: ?
? 72: ? ? ? ? }
? 73: ?
? 74: ? ? ? ? private void btnClose_Click(object sender, EventArgs e)
? 75: ? ? ? ? {
? 76: ? ? ? ? ? ? Application.Exit();
? 77: ? ? ? ? }
? 78: ?
? 79: ? ? ? ? private void btnReg_Click(object sender, EventArgs e)
? 80: ? ? ? ? {
? 81: ? ? ? ? ? ? FormRegister frmRegister = new FormRegister();
? 82: ? ? ? ? ? ? frmRegister.ShowDialog();
? 83: ? ? ? ? }
? 84: ? ? }
? 85: }
注冊窗體:


image


? ?1: using System;
? ?2: using System.Collections.Generic;
? ?3: using System.ComponentModel;
? ?4: using System.Data;
? ?5: using System.Drawing;
? ?6: using System.Linq;
? ?7: using System.Text;
? ?8: using System.Windows.Forms;
? ?9: using Microsoft.Win32;
? 10: ?
? 11: namespace SoftRegister
? 12: {
? 13: ? ? public partial class FormRegister : Form
? 14: ? ? {
? 15: ? ? ? ? public FormRegister()
? 16: ? ? ? ? {
? 17: ? ? ? ? ? ? InitializeComponent();
? 18: ? ? ? ? }
? 19: ?
? 20: ? ? ? ? public static bool state = true; ?//軟件是否為可用狀態
? 21: ? ? ? ? SoftReg softReg = new SoftReg();
? 22: ?
? 23: ? ? ? ? private void btnReg_Click(object sender, EventArgs e)
? 24: ? ? ? ? {
? 25: ? ? ? ? ? ? try
? 26: ? ? ? ? ? ? {
? 27: ? ? ? ? ? ? ? ? if (txtLicence.Text == softReg.GetRNum())
? 28: ? ? ? ? ? ? ? ? {
? 29: ? ? ? ? ? ? ? ? ? ? MessageBox.Show("注冊成功!重啟軟件后生效!", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
? 30: ? ? ? ? ? ? ? ? ? ? RegistryKey retkey = Registry.CurrentUser.OpenSubKey("Software", true).CreateSubKey("mySoftWare").CreateSubKey("Register.INI").CreateSubKey(txtLicence.Text);
? 31: ? ? ? ? ? ? ? ? ? ? retkey.SetValue("UserName", "Rsoft");
? 32: ? ? ? ? ? ? ? ? ? ? this.Close();
? 33: ? ? ? ? ? ? ? ? }
? 34: ? ? ? ? ? ? ? ? else
? 35: ? ? ? ? ? ? ? ? {
? 36: ? ? ? ? ? ? ? ? ? ? MessageBox.Show("注冊碼錯誤!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
? 37: ? ? ? ? ? ? ? ? ? ? txtLicence.SelectAll();
? 38: ? ? ? ? ? ? ? ? }
? 39: ? ? ? ? ? ? }
? 40: ? ? ? ? ? ? catch (Exception ex)
? 41: ? ? ? ? ? ? {
? 42: ? ? ? ? ? ? ? ? throw new Exception(ex.Message);
? 43: ? ? ? ? ? ? }
? 44: ? ? ? ? }
? 45: ?
? 46: ? ? ? ? private void btnClose_Click(object sender, EventArgs e)
? 47: ? ? ? ? {
? 48: ? ? ? ? ? ? if (state == true)
? 49: ? ? ? ? ? ? {
? 50: ? ? ? ? ? ? ? ? this.Close();
? 51: ? ? ? ? ? ? }
? 52: ? ? ? ? ? ? else
? 53: ? ? ? ? ? ? {
? 54: ? ? ? ? ? ? ? ? Application.Exit();
? 55: ? ? ? ? ? ? }
? 56: ? ? ? ? }
? 57: ?
? 58: ? ? ? ? private void FormRegister_Load(object sender, EventArgs e)
? 59: ? ? ? ? {
? 60: ? ? ? ? ? ? this.txtHardware.Text = softReg.GetMNum();
? 61: ? ? ? ? }
? 62: ? ? }
? 63: }
(二)注冊機的實現:
SoftReg類:
? ?1: using System;
? ?2: using System.Collections.Generic;
? ?3: using System.Linq;
? ?4: using System.Text;
? ?5: using System.Management;
? ?6: ?
? ?7: namespace SoftwarePassport
? ?8: {
? ?9: ? ? class SoftReg
? 10: ? ? {
? 11: ? ? ? ? public int[] intCode = new int[127]; ? ?//存儲密鑰
? 12: ? ? ? ? public char[] charCode = new char[25]; ?//存儲ASCII碼
? 13: ? ? ? ? public int[] intNumber = new int[25]; ? //存儲ASCII碼值
? 14: ?
? 15: ? ? ? ? //初始化密鑰
? 16: ? ? ? ? public void SetIntCode()
? 17: ? ? ? ? {
? 18: ? ? ? ? ? ? for (int i = 1; i < intCode.Length; i++)
? 19: ? ? ? ? ? ? {
? 20: ? ? ? ? ? ? ? ? intCode[i] = i % 9;
? 21: ? ? ? ? ? ? }
? 22: ? ? ? ? }
? 23: ?
? 24: ? ? ? ? ///<summary>
? 25: ? ? ? ? /// 生成注冊碼
? 26: ? ? ? ? ///</summary>
? 27: ? ? ? ? ///<returns></returns>
? 28: ? ? ? ? public string GetRNum(string strMNum)
? 29: ? ? ? ? {
? 30: ? ? ? ? ? ? SetIntCode();
? 31: ? ? ? ? ? ??
? 32: ? ? ? ? ? ? for (int i = 1; i < charCode.Length; i++) ? //存儲機器碼
? 33: ? ? ? ? ? ? {
? 34: ? ? ? ? ? ? ? ? charCode[i] = Convert.ToChar(strMNum.Substring(i - 1, 1));
? 35: ? ? ? ? ? ? }
? 36: ? ? ? ? ? ? for (int j = 1; j < intNumber.Length; j++) ?//改變ASCII碼值
? 37: ? ? ? ? ? ? {
? 38: ? ? ? ? ? ? ? ? intNumber[j] = Convert.ToInt32(charCode[j]) + intCode[Convert.ToInt32(charCode[j])];
? 39: ? ? ? ? ? ? }
? 40: ? ? ? ? ? ? string strAsciiName = ""; ? //注冊碼
? 41: ? ? ? ? ? ? for (int k = 1; k < intNumber.Length; k++) ?//生成注冊碼
? 42: ? ? ? ? ? ? {
? 43: ?
? 44: ? ? ? ? ? ? ? ? if ((intNumber[k] >= 48 && intNumber[k] <= 57) || (intNumber[k] >= 65 && intNumber[k]
? 45: ? ? ? ? ? ? ? ? ? ? <= 90) || (intNumber[k] >= 97 && intNumber[k] <= 122)) ?//判斷如果在0-9、A-Z、a-z之間
? 46: ? ? ? ? ? ? ? ? {
? 47: ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[k]).ToString();
? 48: ? ? ? ? ? ? ? ? }
? 49: ? ? ? ? ? ? ? ? else if (intNumber[k] > 122) ?//判斷如果大于z
? 50: ? ? ? ? ? ? ? ? {
? 51: ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[k] - 10).ToString();
? 52: ? ? ? ? ? ? ? ? }
? 53: ? ? ? ? ? ? ? ? else
? 54: ? ? ? ? ? ? ? ? {
? 55: ? ? ? ? ? ? ? ? ? ? strAsciiName += Convert.ToChar(intNumber[k] - 9).ToString();
? 56: ? ? ? ? ? ? ? ? }
? 57: ? ? ? ? ? ? }
? 58: ? ? ? ? ? ? return strAsciiName;
? 59: ? ? ? ? }
? 60: ? ? }
? 61: }
主窗體:
image
? ?1: using System;
? ?2: using System.Collections.Generic;
? ?3: using System.ComponentModel;
? ?4: using System.Data;
? ?5: using System.Drawing;
? ?6: using System.Linq;
? ?7: using System.Text;
? ?8: using System.Windows.Forms;
? ?9: ?
? 10: namespace SoftwarePassport
? 11: {
? 12: ? ? public partial class FormMain : Form
? 13: ? ? {
? 14: ? ? ? ? public FormMain()
? 15: ? ? ? ? {
? 16: ? ? ? ? ? ? InitializeComponent();
? 17: ? ? ? ? }
? 18: ?
? 19: ? ? ? ? SoftReg softReg = new SoftReg();
? 20: ?
? 21: ? ? ? ? private void btnCreate_Click(object sender, EventArgs e)
? 22: ? ? ? ? {
? 23: ? ? ? ? ? ? try
? 24: ? ? ? ? ? ? {
? 25: ? ? ? ? ? ? ? ? string strHardware = this.txtHardware.Text;
? 26: ? ? ? ? ? ? ? ? string strLicence = softReg.GetRNum(strHardware);
? 27: ? ? ? ? ? ? ? ? this.txtLicence.Text = strLicence;
? 28: ? ? ? ? ? ? }
? 29: ? ? ? ? ? ? catch (System.Exception ex)
? 30: ? ? ? ? ? ? {
? 31: ? ? ? ? ? ? ? ? MessageBox.Show("輸入的機器碼格式錯誤!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
? 32: ? ? ? ? ? ? } ?
? 33: ? ? ? ? }
? 34: ?
? 35: ? ? ? ? private void btnExit_Click(object sender, EventArgs e)
? 36: ? ? ? ? {
? 37: ? ? ? ? ? ? Application.Exit();
? 38: ? ? ? ? }
? 39: ? ? }
? 40: }


========

C#軟件加序列號激活、試用期限


程序員想盡各種辦法給軟件加密,用戶就想盡各種辦法對軟件破解。
現在做軟件試用限制,那么就討論下軟件的試用限制。總體來說,限制的方法有這么幾種:
1.時間限制。
2.次數限制。
? ? ? ? 以時間限制為例,主要是用戶從安裝之日起, 限制用戶使用天數。n天之后,就無法使用。這種限制主要是安裝的時候,將當前日期寫入注冊表(或者硬盤上某文件)。當然,寫入的是加密過的亂碼字符。運行軟件時,首先讀取注冊表(或者文件),如找不到


注冊表(或者文件),則提示軟件未注冊。當正常讀取后進行解密,得到注冊日期,與當前日期進行比較,如果 ?當前日期 減去 注冊日期 > n(允許試用天數),那么提示軟件試用到期,直接退出軟件。否則 提示可試用天數, 繼續試用軟件。 ?根據以上思路,那么


用戶可以很容易破解軟件。比如更改系統日期、或者刪除注冊表,重新安裝軟件等 。
? ? ? 針對用戶的破解,對軟件限制進行修改。如果試用軟件必須聯網,或者需要服務器端(比如聊天軟件等客戶端軟件),當前時間要從去服務器的時間,防止用戶更改客戶機系統時間。或者服務器上對客戶機進行記錄,如記錄主板id,安裝時間,等等。。。
以上為客戶機可聯網的做法,當客戶機無法上網,切不存在服務器,或者服務器就在本機時。以上做法將無法使用。
? ? ? 那么對于單機運行的軟件,如果需要數據庫,我們可以將注冊時間等信息寫入數據庫。或者,我們可以采用一明一暗的做法,注冊表是明,在硬盤的某角落,存放隱藏文件。軟件需讀取兩處,對兩處進行比較,一致則通過,不一致就退出程序。當然,安裝的時候


對該文件不替換。 我想用戶是不愿意為了使用你的軟件而格式化整個硬盤的。
? ? ? 其實還有做法,就是每次運行軟件,先將當前日期與注冊表對比,看是否過期。如未過期,就對注冊表進行一次更改,更改為當前日期,那么用戶即使更改系統日期,他的試用期限也在逐漸縮小。為了防止用戶重裝,還是采用一明一暗的做法。
? ? ? 基本上就這些方法吧.. ?貼上測試代碼:
加密解密類:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Xml.Linq;
using System.IO;
using System.Text;
using System.Security.Cryptography;
namespace Add_To_Regedit
{
? ? public class Encryption
? ? {
? ? ? ? public static string EncryPW(string Pass, string Key)
? ? ? ? {
? ? ? ? ? ? return DesEncrypt(Pass, Key);
? ? ? ? }
? ? ? ? public static string DisEncryPW(string strPass, string Key)
? ? ? ? {
? ? ? ? ? ? return DesDecrypt(strPass, Key);
? ? ? ? }
? ? ? ? / ??
? ? ? ?
? ? ? ? /// <summary>
? ? ? ? /// DES加密
? ? ? ? /// </summary>
? ? ? ? /// <param name="encryptString"></param>
? ? ? ? /// <returns></returns>
? ? ? ? public static string DesEncrypt(string encryptString, string key)
? ? ? ? {
? ? ? ? ? ? byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));
? ? ? ? ? ? byte[] keyIV = keyBytes;
? ? ? ? ? ? byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
? ? ? ? ? ? DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
? ? ? ? ? ? MemoryStream mStream = new MemoryStream();
? ? ? ? ? ? CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write);
? ? ? ? ? ? cStream.Write(inputByteArray, 0, inputByteArray.Length);
? ? ? ? ? ? cStream.FlushFinalBlock();
? ? ? ? ? ? return Convert.ToBase64String(mStream.ToArray());
? ? ? ? }
? ? ? ? /// <summary>
? ? ? ? /// DES解密
? ? ? ? /// </summary>
? ? ? ? /// <param name="decryptString"></param>
? ? ? ? /// <returns></returns>
? ? ? ? public static string DesDecrypt(string decryptString, string key)
? ? ? ? {
? ? ? ? ? ? byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));
? ? ? ? ? ? byte[] keyIV = keyBytes;
? ? ? ? ? ? byte[] inputByteArray = Convert.FromBase64String(decryptString);
? ? ? ? ? ? DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
? ? ? ? ? ? MemoryStream mStream = new MemoryStream();
? ? ? ? ? ? CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write);
? ? ? ? ? ? cStream.Write(inputByteArray, 0, inputByteArray.Length);
? ? ? ? ? ? cStream.FlushFinalBlock();
? ? ? ? ? ? return Encoding.UTF8.GetString(mStream.ToArray());
? ? ? ? }
? ? ? ? //
? ? }
}
讀寫注冊表類:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.Security.Cryptography;
using Microsoft.Win32;
namespace Test_Form_Time
{
? ? class TimeClass
? ? {
? ? ? ? public static int InitRegedit()
? ? ? ? {
? ? ? ? ? ? /*檢查注冊表*/
? ? ? ? ? ? string SericalNumber = ReadSetting("", "SerialNumber", "-1"); ? ?// 讀取注冊表, 檢查是否注冊 -1為未注冊
? ? ? ? ? ? if (SericalNumber == "-1")
? ? ? ? ? ? { ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? return 1;
? ? ? ? ? ? }
? ? ? ? ? ? /* 比較CPUid */
? ? ? ? ? ? string CpuId = GetSoftEndDateAllCpuId(1, SericalNumber); ? //從注冊表讀取CPUid
? ? ? ? ? ? string CpuIdThis = GetCpuId(); ? ? ? ? ? //獲取本機CPUId ? ? ? ??
? ? ? ? ? ? if (CpuId != CpuIdThis)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return 2;
? ? ? ? ? ? }
? ? ? ? ? ? /* 比較時間 */
? ? ? ? ? ? string NowDate = TimeClass.GetNowDate();
? ? ? ? ? ? string EndDate = TimeClass.GetSoftEndDateAllCpuId(0, SericalNumber);
? ? ? ? ? ? if (Convert.ToInt32(EndDate) - Convert.ToInt32(NowDate) < 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return 3;
? ? ? ? ? ? }
? ? ? ? ? ? return 0;
? ? ? ? }


? ? ? ? ?/*CPUid*/
? ? ? ? public static string GetCpuId()
? ? ? ? {
? ? ? ? ? ? ManagementClass mc = new ManagementClass("Win32_Processor");
? ? ? ? ? ? ManagementObjectCollection moc = mc.GetInstances();
? ? ? ? ? ? string strCpuID = null;
? ? ? ? ? ? foreach (ManagementObject mo in moc)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? strCpuID = mo.Properties["ProcessorId"].Value.ToString();
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ?return strCpuID;
? ? ? ? }
? ? ? ? /*當前時間*/
? ? ? ? public static string GetNowDate()
? ? ? ? {
? ? ? ? ? ? string NowDate = DateTime.Now.ToString("yyyyMMdd"); //.Year + DateTime.Now.Month + DateTime.Now.Day).ToString();
? ? ? ?// ? ? DateTime date = Convert.ToDateTime(NowDate, "yyyy/MM/dd");
? ? ? ? ? ? return NowDate;
? ? ? ? }
? ? ? ? /* 生成序列號 */
? ? ? ? public static string CreatSerialNumber()
? ? ? ? {
? ? ? ? ? ? string SerialNumber = GetCpuId() + "-" + "20110915";
? ? ? ? ? ? return SerialNumber;?
? ? ? ? }
? ? ? ? /*?
? ? ? ? ?* i=1 得到 CUP 的id?
? ? ? ? ?* i=0 得到上次或者 開始時間?
? ? ? ? ?*/
? ? ? ? public static string GetSoftEndDateAllCpuId(int i, string SerialNumber)
? ? ? ? {
? ? ? ? ? ? if (i == 1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? string cupId = SerialNumber.Substring(0, SerialNumber.LastIndexOf("-")); // .LastIndexOf("-"));
? ? ? ? ? ? ? ? return cupId;
? ? ? ? ? ? }
? ? ? ? ? ? if (i == 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? string dateTime = SerialNumber.Substring(SerialNumber.LastIndexOf("-") + 1);
? ? ? ? ? ? ? // ?dateTime = dateTime.Insert(4, "/").Insert(7, "/");
? ? ? ? ? ? ? // ?DateTime date = Convert.ToDateTime(dateTime);
? ? ? ? ? ? ? ? return dateTime;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return string.Empty;
? ? ? ? ? ? } ? ? ? ??
? ? ? ? }
? ? ? ? /*寫入注冊表*/
? ? ? ? public static void WriteSetting(string Section, string Key, string Setting) ?// name = key ?value=setting ?Section= path
? ? ? ? {
? ? ? ? ? ? string text1 = Section;
? ? ? ? ? ? RegistryKey key1 = Registry.CurrentUser.CreateSubKey("Software\\MyTest_ChildPlat\\ChildPlat"); // .LocalMachine.CreateSubKey("Software\\mytest");
? ? ? ? ? ? if (key1 == null)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? key1.SetValue(Key, Setting);
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception exception1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? finally
? ? ? ? ? ? {
? ? ? ? ? ? ? ? key1.Close();
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? /*讀取注冊表*/
? ? ? ? public static string ReadSetting(string Section, string Key, string Default)
? ? ? ? {
? ? ? ? ? ? if (Default == null)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Default = "-1";
? ? ? ? ? ? }
? ? ? ? ? ? string text2 = Section;
? ? ? ? ? ? RegistryKey key1 = Registry.CurrentUser.OpenSubKey("Software\\MyTest_ChildPlat\\ChildPlat");
? ? ? ? ? ? if (key1 != null)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? object obj1 = key1.GetValue(Key, Default);
? ? ? ? ? ? ? ? key1.Close();
? ? ? ? ? ? ? ? if (obj1 != null)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? if (!(obj1 is string))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? return "-1";
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? string obj2 = obj1.ToString();
? ? ? ? ? ? ? ? ? ? obj2 = Encryption.DisEncryPW(obj2, "ejiang11");
? ? ? ? ? ? ? ? ? ? return obj2;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return "-1";
? ? ? ? ? ? }
? ? ? ? ? ?
? ? ? ? ? ? return Default;
? ? ? ? }
? ? }
}
調用方式如下:
?int res = TimeClass.InitRegedit();
? ? ? ? ? ? if (res == 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Application.Run(new Form1());
? ? ? ? ? ? }
? ? ? ? ? ? else if(res == 1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show("軟件尚未注冊,請注冊軟件!");
? ? ? ? ? ? }
? ? ? ? ? ? else if (res == 2)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show("注冊機器與本機不一致,請聯系管理員!");
? ? ? ? ? ? }
? ? ? ? ? ? else if (res == 3)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show("軟件試用已到期!");
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show("軟件運行出錯,請重新啟動!");
? ? ? ? ? ? }
?


========

總結

以上是生活随笔為你收集整理的C#实现注册码功能编程总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品伦理一区二区三区 | 精品欧美日韩 | 特级黄色视频毛片 | 国产成人一区二区三区影院在线 | 国产日产高清dvd碟片 | 午夜av不卡 | 久久伊人操 | 不卡的av在线播放 | 精品国产乱码久久久久久1区2匹 | 日韩xxxx视频 | 亚洲人成网站精品片在线观看 | 久久精品国产久精国产 | 成 人 免费 黄 色 视频 | 亚洲欧洲精品一区二区精品久久久 | 亚洲一区二区黄色 | 成人av影视| 成人久久电影 | 欧美一级艳片视频免费观看 | 天天操 夜夜操 | 久久精品久久精品 | 婷婷伊人五月 | 欧美国产视频在线 | 天天色天天操综合网 | 午夜精品视频在线 | 国产一区二区在线播放视频 | 日韩丝袜| 亚洲最大成人免费网站 | 亚洲精品伦理在线 | 男女激情麻豆 | 99热最新在线| 在线日韩av | 精品免费99久久 | 国产一区久久久 | 毛片3 | 亚洲一区二区视频在线 | 99久久久国产精品免费观看 | 久久久91精品国产一区二区精品 | 96久久 | 337p日本大胆噜噜噜噜 | 国产中文字幕在线 | 超碰在线天天 | 日韩一区视频在线 | 手机看片午夜 | 亚洲精品三级 | 欧美亚洲精品在线观看 | 一区二区三区电影 | 精品欧美一区二区在线观看 | 中文在线www| 国产精品综合久久久久久 | 一级一片免费观看 | 欧美在线视频精品 | 成人在线观看网址 | 免费黄色特级片 | 黄在线免费看 | 亚洲精品9 | 国产精品国产毛片 | 久久久这里有精品 | 91九色精品国产 | 免费久久久久久久 | 免费av大片| 国产一级淫片免费看 | 99久久婷婷国产综合亚洲 | 91亚洲精品久久久中文字幕 | 久久精品视频在线 | 一级黄色片在线 | 久久视频99 | 国产精品视频久久久 | 一本色道久久综合亚洲二区三区 | 偷拍福利视频一区二区三区 | 99久久日韩精品视频免费在线观看 | 色综合久久精品 | 中文字幕一区在线观看视频 | 美女露久久 | 久久综合婷婷 | 中文字幕影片免费在线观看 | 91九色porny蝌蚪视频 | 精品在线一区二区三区 | 国产三级视频 | 99久久精品免费视频 | 天堂在线免费视频 | 久久不卡国产精品一区二区 | 91网在线看 | 国产黄色视 | 狠狠激情中文字幕 | 免费人做人爱www的视 | 最近久乱中文字幕 | 日韩成人邪恶影片 | 五月天天天操 | 久久久久久久久久亚洲精品 | 乱子伦av| 美女免费电影 | av片一区 | 草莓视频在线观看免费观看 | 日韩色综合 | avav99| 成人免费观看网址 | 国产伦精品一区二区三区照片91 | 日本不卡123 | 精品一区精品二区高清 | 97人人爽人人 | 在线观看免费高清视频大全追剧 | 日韩精品免费 | 免费a v在线| 国产一区成人在线 | 国产精品女人网站 | 久久官网 | 99视频精品在线 | 97中文字幕| 丁香九月婷婷 | 四季av综合网站 | 911国产精品 | 五月天综合婷婷 | 黄色大片日本免费大片 | 国产区高清在线 | 91国内在线视频 | 免费高清无人区完整版 | 91片网 | 久久这里精品视频 | 在线免费看黄网站 | 亚洲欧美日韩一二三区 | 激情一区二区三区欧美 | 国产精品一区免费看8c0m | 免费日韩三级 | 黄网站免费看 | 人人射人人插 | 最新亚洲视频 | 久久免费国产电影 | 久久 国产一区 | 免费三级av | 99热高清| 国内精品视频免费 | 久久久国产精品一区二区中文 | 亚洲欧美国产精品18p | 夜夜躁狠狠躁日日躁 | 国产在线精品播放 | 日韩性xxxx| 日韩com| 少妇搡bbbb搡bbb搡69 | 色吊丝在线永久观看最新版本 | 伊人影院在线观看 | av电影在线免费观看 | 精品国产_亚洲人成在线 | 丁香婷婷久久久综合精品国产 | 日本中文字幕免费观看 | 91福利社区在线观看 | 国产做aⅴ在线视频播放 | 亚洲天堂激情 | 欧美一级在线 | 久久久五月天 | 日韩免费视频观看 | 国产亚洲婷婷免费 | 在线视频亚洲 | 日韩最新在线视频 | 亚洲国产精彩中文乱码av | 精品一区二区三区久久 | 操天天操 | 欧美午夜a | 久久久久看片 | 手机看片国产 | 色老板在线视频 | 亚洲黄a | 国产在线精品观看 | 国产va在线| 日韩免费一区二区在线观看 | 日韩中文免费视频 | 欧美国产精品久久久久久免费 | 免费日韩一级片 | 日本激情视频中文字幕 | 婷婷色av | 中文字幕在线观看你懂的 | 精品国产一区二区三区四区vr | 久要激情网| 欧美激情视频一区 | 91亚色视频| 日本乱码在线 | 中文字幕资源网 国产 | 久久999精品 | 国产精品欧美精品 | 美女免费视频一区二区 | 欧美激情精品久久久久久免费 | 亚洲成av人片在线观看无 | 国产特级毛片aaaaaa毛片 | 美女视频又黄又免费 | 91亚洲综合 | 在线天堂v | 日本夜夜草视频网站 | 天天碰天天操视频 | 99久久夜色精品国产亚洲 | 国产人成免费视频 | 视频在线一区 | 午夜精品在线看 | 欧美夫妻性生活电影 | 国产精品igao视频网网址 | 国产粉嫩在线观看 | 日韩欧美在线视频一区二区 | 日韩在线免费不卡 | 丁香婷婷激情国产高清秒播 | 日韩精品综合在线 | 天天躁日日躁狠狠躁av麻豆 | 69国产盗摄一区二区三区五区 | 中文在线www| 国产午夜精品一区 | 成人免费精品 | 久久久网| 狠狠操综合 | 人人爽人人爱 | av电影免费在线看 | 午夜天使 | 五月天色网站 | 日本护士三级少妇三级999 | 不卡精品 | 国产精品一二三 | 色诱亚洲精品久久久久久 | 久久国产精品99国产精 | 亚洲2019精品 | 天天天干 | 久久欧美在线电影 | 玖玖精品在线 | 日本中文字幕在线视频 | 丁香婷婷色 | 久久久久久久久久电影 | av+在线播放在线播放 | 天天做综合网 | 狠狠色丁香九九婷婷综合五月 | 99r在线播放 | 91精品国自产在线偷拍蜜桃 | 黄色三级久久 | 久久人人看 | 免费在线观看av网站 | 综合色婷婷 | 中文理论片 | 日韩欧美综合精品 | 欧美一级片 | 伊人永久| 日韩精品一区二区三区丰满 | 成人av在线资源 | 国产视频亚洲视频 | 国产精品毛片久久久久久久 | 欧美孕妇与黑人孕交 | 国产原创在线观看 | 性色av一区二区三区在线观看 | 国产黑丝一区二区 | 波多野结衣视频一区 | 成人av亚洲| 日韩首页| 欧美日本一区 | 色婷婷综合久久久中文字幕 | 国产丝袜美腿在线 | 成人黄色电影免费观看 | 人人爱人人爽 | 99婷婷狠狠成为人免费视频 | 波多野结衣一区二区三区中文字幕 | 久久久免费精品 | 中文字幕文字幕一区二区 | 91免费在线看片 | 激情久久一区二区三区 | 国产91对白在线 | 色婷久久 | 91av蜜桃 | 日韩高清激情 | 国产网站色 | 免费在线观看一级片 | 日韩欧美黄色网址 | 久久久国产精品电影 | 国产91在| 日韩在线观看影院 | 天天综合天天综合 | 亚洲日本va中文字幕 | 亚洲精品中文字幕在线观看 | 国产午夜精品久久久久久久久久 | 超碰在线中文字幕 | 国产 日韩 在线 亚洲 字幕 中文 | 婷婷网站天天婷婷网站 | 人人澡超碰碰97碰碰碰软件 | av国产网站 | 久久国产精品免费一区二区三区 | 中文国产在线观看 | 国产精品视频久久 | 五月天婷婷在线观看视频 | 成人全视频免费观看在线看 | www夜夜操 | 久久不见久久见免费影院 | 免费h在线观看 | 黄色特级一级片 | 日日夜夜精品视频 | 日韩小视频 | 婷婷色狠狠 | 国产在线a免费观看 | 又粗又长又大又爽又黄少妇毛片 | 免费高清在线视频一区· | 在线电影av | 99这里精品 | 香蕉久草| 91麻豆精品国产自产在线 | 黄色小说视频网站 | 久久久久亚洲精品国产 | 97精品一区二区三区 | 久久精品久久国产 | 日韩手机在线观看 | 亚洲aⅴ免费在线观看 | 国产在线免费av | 国产97免费| 香蕉视频亚洲 | 国产剧情一区二区在线观看 | a爱爱视频| 狠狠干夜夜操天天爽 | 免费黄色av片 | 在线观看 国产 | 精品亚洲男同gayvideo网站 | 婷婷激情影院 | 亚洲精品资源在线 | 国产一级性生活视频 | 日韩免费视频观看 | 国产综合精品一区二区三区 | 成年人在线观看网站 | 久久综合色综合88 | 福利视频精品 | 亚洲精品免费视频 | 亚洲激情综合 | 日本 在线 视频 中文 有码 | 欧美乱淫视频 | 亚洲国产成人久久 | 亚洲精品乱码久久久久 | 人人澡人人澡人人 | 一区二区理论片 | 久久99精品国产麻豆宅宅 | 黄色小说免费在线观看 | 久久人人精 | 2023av在线| 国产亚洲精品久久久久久网站 | 婷婷深爱网 | www.久久99| 免费看三级黄色片 | 国产精品 视频 | 在线视频1卡二卡三卡 | 日韩二区精品 | 91一区二区三区久久久久国产乱 | 精品国产一区二区三区久久久蜜月 | 天天做天天爱天天综合网 | 国产高清精品在线观看 | 日韩在线一二三区 | 91av电影在线 | 免费福利在线视频 | 国产精品一区二区在线观看 | 色视频成人在线观看免 | 99热在线国产精品 | 中文字幕资源在线 | www99久久| 日韩影视在线观看 | 日韩欧美在线高清 | 99爱在线| 亚洲人成网站精品片在线观看 | 国产精品福利视频 | 欧美精品一区二区三区四区在线 | 444av| 欧美日韩大片在线观看 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 欧美韩日视频 | 国内精品在线观看视频 | 美女精品久久 | 日韩有色 | 伊人婷婷网 | 日韩一级理论片 | 日韩和的一区二在线 | 婷婷丁香花五月天 | 91探花系列在线播放 | 成人av电影免费观看 | 亚洲日本国产精品 | 国产美女被啪进深处喷白浆视频 | 草久久久久久久 | 日韩免费在线观看视频 | 国语久久 | 亚洲综合色视频在线观看 | 91看毛片 | 久久综合在线 | 欧美视频99 | 麻豆视频国产在线观看 | 亚洲国产视频在线 | 激情五月婷婷丁香 | 人人干干人人 | av在线激情 | 五月激情片 | 精品女同一区二区三区在线观看 | 日本一区二区三区视频在线播放 | 国产中文字幕在线观看 | 亚洲 欧洲av | 中文字幕91在线 | 激情开心色 | 国产精品久久久久久久久久久久冷 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 欧美一区视频 | 国产成人精品一区二区三区福利 | 日韩高清无线码2023 | 亚洲精品国偷自产在线99热 | 欧美二区三区91 | 狠狠色噜噜狠狠 | 久久精品国产久精国产 | 欧美美女激情18p | 久久综合九色欧美综合狠狠 | 亚洲综合在线观看视频 | 夜色成人av | 五月综合色 | 婷婷精品在线 | 久久综合加勒比 | 美女久久久久久久久久久 | 91视频免费看 | 日韩女同一区二区三区在线观看 | 99久免费精品视频在线观看 | 国产成人av免费在线观看 | 国产精品永久免费 | 麻豆av一区二区三区在线观看 | 久草精品在线观看 | 成人黄色电影免费观看 | 丁香五月缴情综合网 | 97av视频在线观看 | av在线免费不卡 | av免费在线网站 | 亚洲精品视频在线观看免费视频 | 黄色小说18 | 欧美日一级片 | 美女视频永久黄网站免费观看国产 | 久久成人免费电影 | 综合久久网站 | 中文av在线免费观看 | 日韩欧美在线观看一区 | 91av九色| 国产精品99久久久精品免费观看 | 在线激情影院一区 | 国产精品中文字幕在线播放 | www黄色av | 国产91精品欧美 | 又黄又刺激视频 | 成年人视频在线观看免费 | 97爱爱爱 | 五月婷婷综合激情 | 国产日韩在线看 | 天天激情站 | 玖草在线观看 | 在线观看黄色的网站 | 黄色一区二区在线观看 | 日韩a在线看 | 久爱综合 | 97精品伊人| 久久国产精品免费一区 | 成人永久在线 | 精品毛片一区二区免费看 | 欧美va日韩va | 免费看av在线 | 国产精品专区一 | 婷婷综合久久 | 91精品婷婷国产综合久久蝌蚪 | 国产精品成人自产拍在线观看 | 亚洲黄色a| 日韩国产欧美在线播放 | 欧美精品在线视频观看 | 91在线视频播放 | 国产电影黄色av | 日本黄色免费播放 | 中文字幕亚洲欧美日韩2019 | 免费高清在线视频一区· | 欧美韩日在线 | aa一级片 | 深夜视频久久 | 日韩中文字幕在线不卡 | 91九色在线视频 | 欧美最猛性xxxx | 99久视频 | 激情欧美日韩一区二区 | 毛片网站在线观看 | 日韩欧美高清不卡 | av免费观看网址 | 国产成人一区二区三区在线观看 | 成人欧美在线 | 丁香六月综合网 | 成人黄色大片 | 久久欧美综合 | www国产一区| 天天综合网久久 | 91av影视 | 夜夜夜夜夜夜操 | 人人精品久久 | 国产精品女人久久久 | 亚洲色图av | 日日爱网站 | 国产在线看一区 | 亚洲精品玖玖玖av在线看 | 欧美在一区| 丁香婷婷网 | 亚洲电影成人 | 日本久久久久久科技有限公司 | 国产不卡在线视频 | 精品久久久久免费极品大片 | 在线精品亚洲 | 日本精品视频免费 | 久香蕉 | 日韩手机在线观看 | 五月天亚洲激情 | 91麻豆国产 | 久久综合之合合综合久久 | 欧美性极品xxxx娇小 | 国产精品男女啪啪 | 91精品免费在线视频 | 欧美一区二区三区在线看 | 成人在线一区二区三区 | 狠狠色狠狠色综合日日92 | 国产精品久久久久久久久搜平片 | 久久电影网站中文字幕 | 国产在线久草 | 99久久这里只有精品 | 五月婷婷在线观看视频 | 久草久| 久久婷婷精品视频 | 婷婷资源站 | 久久夜色精品国产欧美乱 | 免费的黄色av | 在线观看的av网站 | 日韩欧美一区二区在线播放 | 天天天天爱天天躁 | 日韩免费不卡视频 | 99久久精品久久久久久清纯 | 日本高清久久久 | 在线高清一区 | 国产精品自拍在线 | 超碰久热 | 91完整版观看 | 五月婷婷中文 | 69av视频在线 | 综合视频在线 | 国产在线视频一区二区三区 | 国产在线视频导航 | 97超碰在线久草超碰在线观看 | 黄色成人免费电影 | 国产精品初高中精品久久 | 手机在线免费av | 精品嫩模福利一区二区蜜臀 | 欧美性做爰猛烈叫床潮 | av亚洲产国偷v产偷v自拍小说 | 亚洲一区美女视频在线观看免费 | 日韩免费在线观看 | 最新av在线播放 | 成 人 黄 色视频免费播放 | 精品国产1区2区3区 国产欧美精品在线观看 | 99视频网站 | 91色九色 | 久久视频免费 | 亚洲精品一区二区在线观看 | 91精品资源 | 久久午夜影视 | 国产精品高清免费在线观看 | 成人资源在线 | 狠狠操.com| 国产日韩精品一区二区三区 | 久久久久免费网 | 四虎免费在线观看 | 91探花国产综合在线精品 | 免费成人av电影 | 亚洲乱码在线 | 99免费精品| 亚洲一级免费观看 | 伊人色播 | 在线免费观看欧美日韩 | 国产精品成人一区二区三区吃奶 | 国产视频在线观看一区 | 久久久久久久久久久久国产精品 | 99中文在线 | 天天弄天天干 | 天堂va在线高清一区 | av三级在线看 | 欧美日韩一区二区三区在线免费观看 | 日日干美女 | 国产精品高潮呻吟久久久久 | 麻豆视频国产在线观看 | 亚洲激情精品 | 视频三区| 狠狠色丁香久久婷婷综合丁香 | 国产免费黄色 | 国产成视频在线观看 | 91探花国产综合在线精品 | 91男人影院 | 欧美成人影音 | 日韩欧美在线免费观看 | 日本中文字幕影院 | av丝袜天堂 | 又黄又爽又刺激视频 | 久久免费视频1 | 成人精品国产 | 国产精品久久久久一区二区 | 在线观看日韩中文字幕 | 国产精品中文久久久久久久 | 又黄又爽的视频在线观看网站 | 高清在线一区二区 | 日韩免费一级电影 | 欧美精品做受xxx性少妇 | 婷婷久久综合网 | 亚洲精品视频免费看 | 51久久成人国产精品麻豆 | 免费看片网页 | 日韩美精品视频 | 国产伦精品一区二区三区无广告 | 久久久久综合精品福利啪啪 | 综合婷婷| 成人av中文字幕 | 超碰国产97 | 日躁夜躁狠狠躁2001 | 欧美日韩视频一区二区三区 | 国产91丝袜在线播放动漫 | 五月天天天操 | 国产视频观看 | 久久免费资源 | 午夜12点 | 亚洲精品乱码久久久久久蜜桃不爽 | 香蕉视频在线免费 | 三级黄色大片在线观看 | 在线欧美中文字幕 | 免费黄色特级片 | 在线 成人 | 天天操夜夜曰 | 亚洲电影一区二区 | 在线免费看片 | 欧美aa在线 | 人人射人人爱 | 麻豆免费在线播放 | 在线观看蜜桃视频 | 色噜噜狠狠狠狠色综合久不 | 天天干天天射天天爽 | 99国产在线 | 久久免视频 | 欧美日韩亚洲在线观看 | 久久精品官网 | 日韩理论电影在线 | 毛片网站在线观看 | 国产3p视频 | 久草在线免 | 99免费在线视频 | 三上悠亚一区二区在线观看 | 国产人成精品一区二区三 | 狠狠操夜夜 | 黄色91免费观看 | 男女全黄一级一级高潮免费看 | 国产亚洲一级高清 | 97视频人人 | 一区二区观看 | 国产美女视频一区 | 99色视频在线 | 精品久久久久国产免费第一页 | www.com.日本一级| 国产亚洲精品久久久久久 | 992tv成人免费看片 | 国产 字幕 制服 中文 在线 | 欧美在线视频免费 | 久久超 | 很黄很黄的网站免费的 | 欧美一级在线 | wwxxxx日本 | 日韩免费成人av | 国产精品白浆视频 | 中文字幕免费高清av | 午夜精品福利在线 | 999视频在线播放 | 特片网久久| 高清精品视频 | 91视频高清完整版 | 亚洲乱码国产乱码精品天美传媒 | 中文字幕在线一区二区三区 | 韩国av免费观看 | 久草在线视频网站 | 日韩欧美一区二区三区视频 | 狠狠干在线| 亚洲清纯国产 | 免费成人av | 免费无遮挡动漫网站 | 在线观看精品黄av片免费 | 91大神在线看 | 一区二区三区四区影院 | 9幺看片| 婷婷丁香九月 | 国产视频不卡 | 精品99在线观看 | 国产色拍拍拍拍在线精品 | 国产原创在线视频 | 四虎在线影视 | 99免在线观看免费视频高清 | 欧美特一级 | 国内精品久久久久久 | 免费看高清毛片 | 久久久久久免费 | 中文字幕在线观看免费高清电影 | 亚洲人av免费网站 | 亚洲成人中文在线 | 久久久久免费视频 | 狠狠色免费| 国产精品美女久久久久久久久 | 久久草av| 亚洲国产精彩中文乱码av | 亚洲人成免费网站 | 免费观看版 | 狠狠伊人 | 日韩欧美不卡 | 天天躁日日躁狠狠躁av中文 | 久久久99精品免费观看 | а天堂中文最新一区二区三区 | 中文字幕日本特黄aa毛片 | 亚洲天天摸日日摸天天欢 | 国产成人精品免费在线观看 | 人人讲下载 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 日韩大片在线播放 | 国产精品国产三级国产不产一地 | 国产黄色片在线 | 久久久片 | 久草在线官网 | free,性欧美 九九交易行官网 | 日韩精品一区二区在线观看 | 在线视频欧美精品 | 久久综合五月天 | 国产色在线观看 | 国产一区二区三区免费观看视频 | 久久久久久久影视 | 日韩色爱 | 天天干天天操av | 成年美女黄网站色大片免费看 | 人人澡人人爽欧一区 | 波多野结衣精品 | 中文国产在线观看 | av女优中文字幕在线观看 | 天天爽夜夜爽精品视频婷婷 | 欧美作爱视频 | 黄污在线观看 | 亚洲精品视频免费观看 | 久久婷婷久久 | 国产成人精品一区二三区 | 国产中文视频 | 欧美另类xxxxx| 五月婷婷在线视频观看 | 国产一级电影在线 | 激情综合五月网 | 久久五月婷婷丁香社区 | 国产精品一区二区电影 | 在线观看亚洲a | 国产91aaa | 日韩肉感妇bbwbbwbbw | 黄色免费高清视频 | 国产精品久久久久久久毛片 | 国产精品亚州 | 四虎影视成人永久免费观看亚洲欧美 | 久久6精品 | 国产在线观看网站 | 久久96国产精品久久99漫画 | 麻豆视频免费在线播放 | 久久综合欧美精品亚洲一区 | 国产99久久久国产精品免费看 | 在线观看视频你懂的 | 精品国产伦一区二区三区免费 | 国产精品色 | 久久精品网址 | 国产麻豆剧传媒免费观看 | 婷婷视频在线 | 久久新视频 | 亚洲精品 在线视频 | 91污视频在线观看 | 日本不卡一区二区三区在线观看 | 久久久久久久久精 | 中文字幕在线观看的网站 | 黄色成人小视频 | 亚洲欧美视频网站 | 国产日韩在线看 | 午夜婷婷网 | 天堂av观看 | 日韩av中文字幕在线免费观看 | 456成人精品影院 | 九九视频网 | 成人在线视频观看 | 欧美日韩一区二区三区视频 | 色.www| 国语精品免费视频 | 麻豆一区在线观看 | 97在线免费视频观看 | 日韩最新av在线 | 久久在线精品视频 | 狠狠久久综合 | 天堂网中文在线 | 午夜精品福利影院 | 国产二区电影 | 免费av网站观看 | 成人黄色免费观看 | 麻豆果冻剧传媒在线播放 | 精品成人网 | 永久免费精品视频 | 日本久久中文字幕 | 欧美日韩国产在线观看 | 久久精品国产亚洲精品2020 | 国产日韩欧美在线免费观看 | www.久久免费| 久草在线资源网 | 手机成人av在线 | 久久久这里有精品 | 国产+日韩欧美 | 国产不卡视频在线 | 人人插人人做 | 99在线免费观看视频 | 日本夜夜草视频网站 | 91精品视频免费观看 | 久久香蕉一区 | 中文字幕在线观看免费高清电影 | 国产福利在线免费 | 精品国产免费久久 | 国产91免费在线 | 毛片一级免费一级 | 亚洲黄色在线观看 | 日韩欧美精品在线 | 在线观看涩涩 | 一区二区三区四区五区在线 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 91亚洲欧美 | 国产高清无av久久 | 亚洲jizzjizz日本少妇 | 亚洲va韩国va欧美va精四季 | 国产高清精品在线观看 | 亚洲精品毛片一级91精品 | 96精品高清视频在线观看软件特色 | 亚洲国产成人av网 | 91精品久久久久久久久 | 国产精品久久久久久久久久久久冷 | 成人a毛片 | 欧美一级免费高清 | 亚洲热视频 | 日韩av不卡在线观看 | 久热av | 99久精品| 99热国产在线中文 | 成人免费看片98欧美 | 精品av在线播放 | 亚洲国产成人精品电影在线观看 | 日韩精品中文字幕一区二区 | 手机在线永久免费观看av片 | 91精品天码美女少妇 | 欧美在线观看视频一区二区 | 二区三区视频 | 欧美午夜一区二区福利视频 | 国产视频在线一区二区 | www.夜夜操.com| 中文亚洲欧美日韩 | 91在线看黄 | 999成人精品 | 狠狠色噜噜狠狠狠狠2021天天 | 日韩av网站在线播放 | 成年人免费在线观看网站 | 九九视频在线观看视频6 | 在线观看中文字幕一区二区 | 开心激情网五月天 | 免费色视频在线 | 黄色福利网 | 国产精品久久久久永久免费看 | 国产午夜精品理论片在线 | 91丨九色丨蝌蚪丰满 | 天堂中文在线视频 | 亚洲九九九在线观看 | 狠狠狠狠狠狠狠狠 | 中文字幕精品视频 | 一区二区三区动漫 | 最新色视频 | 91在线观看欧美日韩 | 91成人免费看片 | 亚洲日本在线一区 | 亚洲成a人片在线观看网站口工 | 婷婷丁香狠狠爱 | 性色av一区二区 | 91大神精品视频 | 色婷婷电影网 | 国产成人99av超碰超爽 | 在线日韩亚洲 | 久久久久国产一区二区三区 | www.五月婷婷.com | 国产美女被啪进深处喷白浆视频 | 一区二区三区动漫 | 69国产精品成人在线播放 | 最近免费在线观看 | 高清av免费看 | 香蕉久草 | 91免费观看| 欧美精品中文字幕亚洲专区 | 91女人18片女毛片60分钟 | 婷婷丁香自拍 | 亚洲乱亚洲乱亚洲 | 人人澡人 | 久久人人爽爽人人爽人人片av | 日本夜夜草视频网站 | 亚洲va在线va天堂 | 久久嗨| 日韩乱码在线 | 91在线九色 | 国产一区二区三区免费视频 | 婷婷六月综合亚洲 | 999电影免费在线观看 | 亚洲视频456 | 日日摸日日添日日躁av | 69国产精品视频 | 久久精品99北条麻妃 | 久久免费视频在线观看 | 久草视频在线播放 | 久精品一区 | 亚洲 成人 一区 | 视频二区在线 | 日韩免费网址 | 色的网站在线观看 | 久久国产精品久久精品国产演员表 | 精品一区二区影视 | 亚洲精品免费看 | av千婊在线免费观看 | 欧美日韩伦理一区 | 国内成人精品视频 | 日韩中文字幕免费视频 | 在线观看911视频 | 伊人久久婷婷 | 日韩中文字幕免费 | 久久成年视频 | 黄色在线成人 | 国产精品日韩精品 | 99爱视频在线观看 | 久久免费视频在线观看 | 97超碰国产精品 | 国产精品久久久久毛片大屁完整版 | 成人av日韩 | www.国产视频| 国产精品日韩精品 | 在线视频专区 | 精品久久久久免费极品大片 | 久久精品国产亚洲精品2020 | 97精品国产 | 91精品国产乱码在线观看 | 免费观看日韩 | 天天操天天干天天爽 | 17婷婷久久www | 91人人澡人人爽人人精品 | 国产亚洲视频在线观看 | 99久久精品国 | 久久国产精品99久久久久 | 91精品国产成人 | 国产亚洲精品久久久网站好莱 | 日本久久综合网 | 免费在线电影网址大全 | 丁香花中文字幕 | 欧美性色xo影院 | 探花视频在线观看免费版 | 91日韩精品一区 | 天天插天天操天天干 | 久久亚洲人 | 国产精品毛片一区视频播 | 色欧美88888久久久久久影院 | 亚洲国产欧洲综合997久久, | 婷婷六月天丁香 | 国产黄a三级三级三级三级三级 | 国内毛片毛片 | 成人久久久久久久久久 | 91三级在线观看 | 欧美日韩xx | 亚洲自拍av在线 | 欧美色图一区 | 亚洲三级国产 | 91伊人久久大香线蕉蜜芽人口 | 狠狠综合久久 | 精品人人人人 | 99热九九这里只有精品10 | 91在线看 | 国产精品久久久久久久久久免费看 | 久草久热 | 国产资源中文字幕 | 国产日韩欧美在线一区 | 日韩免 | 97视频免费在线看 | 久久精品aaa | 亚洲精品久久视频 | 亚洲手机av| av中文在线播放 | 免费特级黄色片 | 亚洲成a人片77777潘金莲 | 91日韩在线 | www日| 精品免费视频123区 午夜久久成人 | 美女视频免费精品 | 久久久九色精品国产一区二区三区 | 天天操夜夜操天天射 | 午夜视频免费在线观看 | 欧美a级片网站 | 久久久麻豆视频 | 亚洲视频免费在线看 | 91在线免费观看国产 | 国产精品美女久久久免费 | 亚州精品天堂中文字幕 | 97超碰人人澡 | 亚洲国产影院 | 日韩精品免费在线视频 | 免费亚洲黄色 | 亚洲日本国产精品 | 国产精品久久久久久久久免费看 | 久久久免费少妇 | 日韩精品免费一区 | 91精品国产高清 |