??xml version="1.0" encoding="utf-8" standalone="yes"?>久久综合九色综合欧美就去吻,国产精品禁18久久久夂久,国产美女久久久http://www.shnenglu.com/hugai/category/10540.htmlzh-cnSat, 23 May 2009 12:01:30 GMTSat, 23 May 2009 12:01:30 GMT60- [转蝲]析本机APIhttp://www.shnenglu.com/hugai/archive/2009/05/22/85450.html(zhn)山(zhn)山Fri, 22 May 2009 10:43:00 GMThttp://www.shnenglu.com/hugai/archive/2009/05/22/85450.htmlhttp://www.shnenglu.com/hugai/comments/85450.htmlhttp://www.shnenglu.com/hugai/archive/2009/05/22/85450.html#Feedback0http://www.shnenglu.com/hugai/comments/commentRss/85450.htmlhttp://www.shnenglu.com/hugai/services/trackbacks/85450.htmlhttp://www.xfocus.net/articles/200503/782.html
创徏旉Q?005-03-09
文章属性:转蝲
文章提交Q?a >cisocker (cisocker_at_163.com)
by sunwear [E.S.T]
2004/10/02
shellcoder@163.com
此文只能说是一笔讎ͼ是关于本机API?本机API是除了Win32 APIQNTq_开放了另一个基本接口。本机API也被很多人所熟?zhn)Q因为内核模式模块位于更低的pȝU别Q在那个U别上环境子pȝ是不可见的。尽如此,q不需要驱动别去讉Kq个接口Q普通的Win32E序可以在Q何时候向下调用本机API。ƈ没有M技术上的限Ӟ只不q微软不支持q种应用开发方法?nbsp;
User32.dll,kernel32.dll,shell32.dll,gdi32.dll,rpcrt4.dll,comctl32.dll,advapi32.dll,version.dll{dll代表了Win32 API的基本提供者。Win32 API中的所有调用最l都转向了ntdll.dllQ再由它转发至ntoskrnl.exe。ntdll.dll是本?API用户模式的终端。真正的接口在ntoskrnl.exe里完成。事实上Q内核模式的驱动大部分时间调用这个模块,如果它们hpȝ服务。Ntdll.dll的主要作用就是让内核函数的特定子集可以被用户模式下运行的E序调用。Ntdll.dll通过软g中断int 2Ehq入ntoskrnl.exeQ就是通过中断门切换CPUҎ(gu)U。比如kernel32.dll导出的函数DeviceIoControl()实际上调用ntdll.dll中导出的NtDeviceIoControlFile()Q反汇编一下这个函数可以看刎ͼEAX载入magic?x38Q实际上是系l调用号Q然后EDX指向堆栈。目标地址是当前堆栈指针ESP+4Q所以EDX指向q回地址后面一个,也就是指向在q入NtDeviceIoControlFile()之前存入堆栈的东ѝ事实上是函数的参数。下一个指令是int 2EhQ{C断描q符表IDT位置0x2E处的中断处理E序?br>
反编汇这个函数得刎ͼ
mov eax, 38h
lea edx, [esp+4]
int 2Eh
ret 28h
当然int 2E接口不仅仅是单的API调用调度员,他是从用h式进入内核模式的main gate?br>
W2k Native API?48个这么处理的函数l成Q比NT 4.0多了37个。可以从ntdll.dll的导出列表中很容易认出来Q前~Nt。Ntdll.dll中导Z249个,原因在于NtCurrentTeb()Z个纯用户模式函数Q所以不需要传l内核。o人惊奇的是,仅仅Native API的一个子集能够从内核模式调用。而另一斚wQntoskrnl.exe导出了两个Nt*W号Q它们不存在于ntdll.dll? NtBuildNumber, NtGlobalFlag。它们不指向函数Q事实上Q是指向ntoskrnl.exe的变量,可以被用C~译器extern关键字的驱动模块导入。Ntdll.dll和ntoskrnl.exe中都有两U前~Nt*,Zw*。事实上ntdll.dll中反汇编l果两者是一L。而在ntoskrnl.exe中,nt前缀指向真正的代码,而zwq是一个int 2Eh的stub。也是说zw*函数集通过用户模式到内核模式门传递的Q而Nt*W号直接指向模式切换以后的代码。Ntdll.dll中的NtCurrentTeb()没有相对应的zw函数。Ntoskrnlq不导出配对的Nt/zw函数。有些函数只以一U方式出现?br>
2Eh中断处理E序把EAX里的g为查找表中的索引Q去扑ֈ最l的目标函数。这个表是pȝ服务表SSTQC的结构SYSTEM_SERVICE_TABLE的定义如?清单也包含了l构SERVICE_DESCRIPTOR_TABLE中的定义QؓSST数组W四个成员,前两个有着特别的用途?br>
typedef NTSTATUS (NTAPI *NTPROC) ( ) Q?br>
typedef NTPROC *PNTPROCQ?br>
#define NTPROC_ sizeof (NTPROC)
typedef struct _SYSTEM_SERVICE_TABLE
{ PNTPROC ServiceTable; // q里是入口指针数l?br>
PDWORD CounterTable; // 此处是调用次数计数数l?br>
DWORD ServiceLimit ; // 服务入口的个?br>
PBYTE ArgumentTable; // 服务参数字节数的数组
) SYSTEM_SERVICE_TABLE ,
* PSYSTEM_SERVICE_TABLE ,
* * PPSYSTEM_SERVICE_TABLE ;
/ / _ _ _ _ _ _ _ _ _ _ _ _
typedef struct _SERVICE_DESCRIPTOR_TABLE
{ SYSTEM_SERVICE_TABLE ntoskrnl ; // ntoskrnl所实现的系l服务,本机的API}
SYSTEM_SERVICE_TABLE win32k; // win32k所实现的系l服?br>
SYSTEM_SERVICE_TABLE Table3; // 未?br>
SYSTEM_SERVICE_TABLE Table4; // 未?br>
} SERVICE_DESCRIPTOR_TABLE ,
* PSERVICE_DESCRIPTOR_TABLE,
* PPSERVICE_DESCRIPTOR_TABLE Q?br>
ntoskrnl通过KeServiceDescriptorTableW号,导出了主要SDT的一个指针。内核维护另外的一个SDTQ就是KeServiceDescriptorTableShadow。但q个W号没有导出。要惛_内核模式lg中存取主要SDT很简单,只需两行C语言的代?
extern PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;
PSERVICE_DESCRIPTOR_TABLE psdt= KeServiceDescriptorTable;
NTPROC为本?API的方便的占位W,他类gWin32~程中的PROC。Native API正常的返回应该是一个NTSTATUS代码Q他使用NTAPI调用U定Q它和_stdcall一栗ServiceLimit成员有在ServiceTable数组里找到的入口数目。在2000下,默认值是248。ArgumentTable为BYTEs的数l,每一个对应于ServiceTable的位|ƈ昄了在调用者堆栈里的参数比Ҏ(gu)。这个信息与EDXl合Q这是内总调用者堆栈copy参数到自q堆栈所需的。CounterTable成员在free buid?000中ƈ没有使用刎ͼ在debug build中,q个成员指向代表所有函C用计数的DWORDS数组Q这个信息能用于性能分析?br> 可以使用q个命o来显C?dd KeServiceDescriptorTableQ调试器把此W号解析?x8046e0c0。只有前四行是最重要的,对应那四个SDT成员?br> q行q个命o:ln 8046e100Q显C符hKeServiceDescriptorTableShadowQ说明第五个开始确实ؓ内核l护的第二个SDT。主要的区别在于后一个包含了win32k.sys的入口,前一个却没有。在q两个表中,Table3与Table4都是I的。Ntoskrnl.exe提供了一个方便的API函数。这个函数的名字为:
KeAddSystemServiceTable
此函数去填充q些位置?br>
2Eh的中断处理标记是KisystemService()。这也是ntoskrnl.exe没有导出的内部的W号Q但包含?kW号文g中。关于KisystemService的操作如下:
1 从当前的U程控制块检索SDT指针
2 军_使用SDT?个SST的其中一个。通过试EAX中递送ID的第12?3位来军_。ID?x0000-0x0fff的映至ntoskrnl表格QID?br>
0x1000?x1ffff的分配给win32k表格。剩下的0x2000-0x2ffff?br>
0x3000-0x3ffff则是Table3和Table4保留?br>
3 通过选定SST中的ServiceLimit成员?gu)查EAX?Q?1位。如果ID过了范_q回错误代码为STATUS_INVALID_SYSTEM_SERVICE?br>
4 查EAX中的参数堆栈指针与MmUserProbeAddress。这是一个ntoskrnl导出的全局变量。通常{于0x7FFF0000Q如果参数指针不在这个地址之下Q返回STATUS_ACCESS_VIOLATION?br>
5 查找ArgumentTable中的参数堆栈的字节数Q从调用者的堆栈copy所有的参数臛_前内核模式堆栈?br>
6 搜烦serviceTable中的服务函数指针Qƈ调用q个函数?br>
7 控制转到内部的函数KiserviceExitQ在此次服务调用q回之后?br>
从对SDT的讨论可以看C本机API一赯有第二个内核模式接口。这个接口把Win32子系l的囑Ş讑֤接口和窗口管理器和内核模式组件Win32kq接h。Win32k接口一hZint 2eh。本机API的服务号是从0x0000?x0fffQwin32k的服务号是从0x1000?x1fff?ddW32pServiceTable认定win32k.sys的符号可用?win32kd包含639个系l服务?br>
2Eh的处理过E没有用全局SDT KeServiceDescriptorTable?br>
而是一个与U程相关的指针。显ӞU程可以有不同得SDT相关到自w。线E初试化的时?KeInitializeThread()把KeServiceDescriptorTable写到U程的控制块。尽这Pq个默认讄之后可能被改变ؓ其它|例如KeServiceDescriptorTableShadow?br>
Windows 2000q行时库
Ntdll.dll臛_导出了不于1179个符受其中的249/248是属于Nt*/zw*集合。所以还?82个函C是通过int 2eh门中转。很昄Q这么多的函C依靠2k的内核?br>
其中一些是和cq行时库几乎一L函数。其实ntoskrnl也实C一些类|Eq行时库的一些函数。可以通过ddk里的ntdll.lib来链接和使用q些函数。反汇编ntdll.dll与ntoskrnl.exe的Eq行时函数能发现Qntdll.dllq不是依赖ntoskrnl.exe。这两个模块各自实现了这些函数?br>
除了Q运行时库外Q?000q提供了一个扩展的q行时函数集合。再一ơ,ntdll.dll与ntoskrnl.exe各自实现了它们。同P实现集合有重复,但是q不完全匚w。这个集合的函数都是以Rtl开头的?000q行时库包括一些辅助函数用于Eq行时候无法完成的d。例如有些处理安全事务,另外的操U?000专用的数据结构,q有些支持内存管理。微软仅仅在DDK中记录了很有用的406个函C?15个函数?br>
Ntdll.dllq提供了另外一个函数集合,以__e前缀开头。实际上它们用于点数模拟器?br>
q有很多的函数集合,所有这些函数的前缀如下Q?br>
__e(点模拟),Cc(Cache理),Csr(c/sq行时库),Dbg(调试支持)QEx(执行支持),FsRtl(文gpȝq行?QHal(g抽象?,Inbv(pȝ初试?vga启动驱动E序bootvid.dll),Init(pȝ初试?,Interlocked(U程安全变量操作),Io(IO理?,Kd(内核调试器支?,Ke(内核例程),Ki(内核中断处理),Ldr(映象装蝲?,Lpc(本地q程调用),Lsa(本地安全授权),Mm(内存理),Nls(国际化语a支持),Nt(NT本机API)QOb(对象理?,Pfx(前缀处理)QPo(甉|理),Ps(q程支持),READ_REGISTER_(从寄存器地址?QRtl(2kq行时库),Se(安全处理),WRITE_REGISTER_Q写寄存器地址Q?Zw(本机API的替换叫?Q?lt;其它>(辅助函数和Eq行时库)?br>
当编写从用户模式通过ntdll.dll或内核模式通过ntoskrnl.exe?000内核交互的Y件的时候,需要处理很多基本的数据l构Q这些结构在Win32世界中很见到?br>
常用数据l构
l 整数
ANSI字符是有W号的,而Unicode WCHAR是无W号?br>
MASM的TBYTE?0位的点敎ͼ用于高精度Q点运单元操作,注意它与Win32的TBYTEQtext byteQ完全不同?br>
TABLE 2-3. Equivalent Integral Data Types
BITS MASM FUNDAMENTAL ALIAS #1 ALIAS #2 SIGNED
8 BYTE unsigned char UCHAR CHAR
16 WORD unsigned short USHORT WCHAR SHORT
32 DWORD unsigned long ULONG LONG
32 DWORD unsigned int UINT INT
64 QWORD unsigned _int64 ULONGLONG DWORDLONG LONGLONG
80 TBYTE N/A
typedef union _LARGE_INTEGER
{ struct{
ULONG LowPart;
LONG HighPartQ};
LONGLONG QuadPart;
}
LARGE_INTEGER , * PULARGE_INTEGER ;
typedef union _ULARGE_INTEGER{
struct{
ULONG LowPart;
ULONG HighPart;?br>
ULONGLONG QuadPart;
}ULARGE_INTEGER, *PULARGE_INTEGER;
l 字符
Win32~程中PSTR用户CHAR*QPWSTR用于WCHAR*。取决于是否定义了UNICODEQPTSTR解释为PSTR或者PWSTR。在2k内核模式下,常用的数据类型是UNICODE_STRINGQ而STRING用来表示ANSI字符?
typedef struct _UNICODE_STRING{
USHORT Length; //当前字节长度Q不是字W!Q!
USHORT MaximumLength; //Buffer的最大字节长?br>
PWSTR Buffer;}UNICODE_STRING , * PUNICODE_STRING ;
typedef struct _STRING{
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;}STRING, *PSTRING;
typedef STRING ANSI_STRING, *PANSI_STRING;
typedef STRING OEM_STRING, *POEM_STRING;
操纵函数:RtlCreatUnicodeString(),RtlInitUnicodeString(),
RtlCopyUnicodeString(){等
l l构
许多内核API函数需要一个固定大的OBJECT_ATTRIBUTESl构Q比如NtOpenFile()。对象的属性是OBJ_*值的l合Q可以从ntdef.h中查到?br>
IO_STATUS_BLOCKl构提供了所h操作l果的信息,很简单,status成员包含一个NTSTATUS代码, 如果操作成功 information成员提供特定h的信息?br>
q有一个结构是LIST_ENTRYQ这是一个双向环链表?br>
typedef struct _OBJECT_ATTRIBUTES
{
ULONG Length;
HANDLE RootDirectory;
PUNICODE_STRING ObjectName;
ULONG Attributes;
PVOID SecurityDescriptor;
PVOID SecurityQualityOfService;
} OBJECT_ATTRIBDTES, *POBJECT_ ATTRIBUTES;
typedef struct _IO_STATUS_BLOCK
{
NTSTATDS Status;
ULONG Information;
}IO_STATUS_BLOCK , * PIO_STATUS_BLOCK ;
typedef struct _LIST_ENTRY
{
Struct _LIST_ENTRY *Flink;
Struct _LIST_ENTRY *Blink;
}LIST_ENTRY, *PLIST_ENTRY;
双向链表的典型例子就是进E和U程链。内部变量PsActiveProcessHead是一个LIST_ENTRYl构Q在ntoskrnl.exe的数据段中,指定了系l进E列表的W一个成员?br>
CLIENT_IDl构pE和U程IDl成?br>
typedef struct _CLIENT_ID
{ HANDLE UniqueProcess;
HANDLE UniqueThread;
)CLIENT_ID, *PCLIENT_ID;
惌从用h式调用ntdll.dll中的API函数Q必考虑C下四?
1 SDK头文件没有包括这些函数的原型
2 q些函数使用的若q基本数据类型没有包括在SDK文g?br>
3 SDK和DDK头文件不兼容Q不能在win32的c源文件包含ntddk.h?br>
4 ntdll.lib没有包括在VC的默认导入库列表中?br>
W?个很Ҏ(gu)解决Q?progma comment(linker,“/defaultlib:ntdll.lib”)
~失的定义比较难解决Q最单的Ҏ(gu)是写一个自定义的头文gQ刚刚包含需要调用ntdll.dll中函数的定义。幸q的是,已经在光盘的w2k_def.h文g中做了这个工作。因个头文g用于用h式和内核模式E序Q所以必d用户模式代码中,#include<w2k_def.h>之前#define _USER_MODE_Q得DDK中出现而SDK中没有的定义可用?br>
本文部分译于一电(sh)子书<win api about>.也感谢朋友GameHunterq位p极好的朋友帮?与Free的指?

]]> - 独角?/title>http://www.shnenglu.com/hugai/archive/2009/05/12/82699.html(zhn)山(zhn)山Tue, 12 May 2009 08:39:00 GMThttp://www.shnenglu.com/hugai/archive/2009/05/12/82699.htmlhttp://www.shnenglu.com/hugai/comments/82699.htmlhttp://www.shnenglu.com/hugai/archive/2009/05/12/82699.html#Feedback1http://www.shnenglu.com/hugai/comments/commentRss/82699.htmlhttp://www.shnenglu.com/hugai/services/trackbacks/82699.htmlQ作者:sophia20082007原文地址Q?strong>http://www.see2say.com/Channel/Group/Detail.aspx?Id=7139Q?br>
永远Q永q都只是我一个h在唱独角戏.没有观众Q没有掌声。只有我一个主角,孤单的媄子如影随形。不分昼夜,不知疲倦的演绎着Q属于我自己的灿烂童话。 我明白,你外表的hq不带表你内心的I洞Q你L习惯向世人隐藏你自己Q你渴望被理解,又害怕被人剖析,我知道你讨厌赤裸裸的感觉Q 我明白,你无助的时候一定像个不知所措的孩子Q你坚强的外表下是柔软而敏感的心。我愿意借给你我隐Ş的肩膀Q虽然不宽阔Q但以成ؓ你的依靠。如果你愿意。 你要明白Q我的独角戏永远只在黑暗中熾放,我不停的在寂寞中旋{跌Q一q{了九(ji)十九(ji)个圈Q裙摆盛开ȝ花朵Q孤单的我还是没有改变。 我明白,不是q人就可以和他在一赗宿命给我的l局Q只是让我摊开掌心Q里面是I洞的,我所做的一切都是捕捉的风,手里注定一无所有。没有什么东西能够因Z舍而获得怜?zhn)?爱情不应当只是一场惘然的轮回。 我不怿永远Q我不拥有期待,也不需要诺a。 可能彼此陌生Q或者不是; 只愿你曾记记得一个由我孤独演l的Q爱的轨q画下的独角戏?

]]> - 天Ӌ落思无IP既相逢,又匆?/title>http://www.shnenglu.com/hugai/archive/2009/05/12/82698.html(zhn)山(zhn)山Tue, 12 May 2009 08:36:00 GMThttp://www.shnenglu.com/hugai/archive/2009/05/12/82698.htmlhttp://www.shnenglu.com/hugai/comments/82698.htmlhttp://www.shnenglu.com/hugai/archive/2009/05/12/82698.html#Feedback0http://www.shnenglu.com/hugai/comments/commentRss/82698.htmlhttp://www.shnenglu.com/hugai/services/trackbacks/82698.htmlhttp://blog.cz001.com.cn/index.php/56821/viewspace-863188.htmlQ
告白
“岁月的金黄,一q一ơ供人分享;生命的金黄,一生一ơ错q就不再辉煌?#8221;在这我O漫的前半生中Q也许我q很q少无知Q也许此时只是h生的一个小的开端。所以,L很努力,很用心地去铺垫这D|E的基石Q希望以后能q得好一点,不要像从前,像现在这栗当Ӟ我ƈ不否认我是个q运的hQ因v码这一切的一切ƈ没有p到极点Q一路也^q稳E_Cq来Q纵然不很精彩,也算是充实。我x错q,所以我依然很努力地d更多的东西,ȝhl那个将会成真的梦想?br> 虽然?#8220;知怹”Q我却不是这样一个h。我很难感到满Q我什么都惌Q只要我惌Q我׃最大努力争取。我L“不饱”Q?M不会“怹”。说I了是贪心与欲望占了上风。也许这一开始就是个错误Qؓ什么要那么好胜Qؓ什么要那么紧张地过着每一天?人生苦短Q说q就q去了。不论我怎么z,太阳L会从西边落下Q明天依然会从东边升赗而每一个在世的人,像夹在黎明与黄昏之间的那一堆星星?是星星都会闪光,但ؓ何一定要d北极星?我也不清楚。似乎有一U压力,有一U负担,有一U过往的经历硬要我不甘q_Q然而我却依然很q_Q就像沙漠中的一_小沙子?br> 十几q寒H走了过来,却发现自׃么也不是Q什么也不会Q什么也没有。所以L告诫自己Q要把握眼前Q在茫茫人v中分明地辨认己,在世界的角落找一个位|给自己。整天东奔西赎ͼd觅觅Q让自己忙得没有旉L(zhn),d忆,是因为害怕回忆里的酸楚没自己?br> 情缘
曄Q我x思家的遥q,也害怕陌生的天与地。h总要学着自己长大Q学着攀上岁月的肩膀Q到辑U陌生的地方。虽然这儿不是天堂,但我却找C不必担心下雨的星I,扑ֈ了大一L包容。于是终于相信了“燃v木柴Q关紧门H,让温暖和你一h_ 在这个寒L冬季?#8221;q一句曾被遗忘过的话?br> 有同学曾Ҏ(gu)_“我们只是偶然出现在我们终消q地方?#8221;的确如此Q但既然冥冥中注定要盔R,我们p相识、相知、相惜,着q没消失Q让我们一L惜可以共度的每一刻,才不至于在分别的时候突然发?#8220;我们L太多的来不及Q很多话来不及说Q来不及听,来不及问Q很多事情来不及做。我们唯一能做的只不过是在q来得及的时候,心呉|眼前的拥有?#8221;我们在这个地方相遇,是缘Q将来散了,也是~,只是~浅?#8230;…
岁月逝后Q这D|子里的相处沉淀(wn)下来的,会是一些刻满回忆和历史的沙_,那里藏着的有心酸Q也有欢愉,有包容,也有Ҏ(gu)。明天的明天Q我们面临的会有许许多多更陌生的h或物Q所以不必祈求我们都能记住这份记忆,只希望在q没成ؓ记忆Ӟ好好珍惜?br> 相处Q害怕沉默;怺Q最忌无语。敞开你的胸怀Q告诉我你想说的话,让我和你一起分担你的喜与?zhn)。对我而言Q我x一个h在陌生的角落里作梦,更害怕在充满回音的空z中哭泣?br> “l有一天,我们要远走高飞,Z各自的梦惻I像飘落的叶子走向不同的天?#8221;q句话将会在某一天实玎ͼ但那又有什么所谓,我们曾是树上的叶子,风声吹响的是你我的过往?br> 爱情
爱情Q对于我而言Q仍然是一个很遥远的传说。也许这个传说将会熾攄异常丽的光环,也许会饱含着心酸的泪_也或许这个传说只是一个^qxE淡的风和q故事Q但q都会是很久以后的事情。遥q到望断长空也无法极目的某个地方Q遥q到望穿U水也无法期待的某个春秋。也许是因ؓ我手x措,也许是我x而又期待的情愫的~故Q所以在我的心还没有被激h漪的现在Q在我脑没有现O晨昏的此刻,我依然固执地认ؓQ这一切只是一个传_一个不会向我走来却又要我主动靠q的传说?br> 有h曾说Q?#8220;?#8221;?#8220;?#8221;是h生中解决不了的两大难题,人在青年时ؓ爱所困惑Q在老年时被L困惑Q一生都不得安宁Q爱情像一把慢刀Q一点一点地人的肌肤Q而死则是一把快刀Q一下子q束了所有的痛苦Q我不害怕死亡,我却x爱情;我能够忍受决l的快刀Q却不能忍受延宕的慢刀。不他说得对与否,我都怿Q这世上没有永远都幸或痛苦的时刻,自然也没有永q都甜蜜的罗曼史。纵焉些雪中送炭、百般呵护、花前月下的时候L那么令h往Q但那心灵上的煎熬,那两处闲愁的相思,那害怕失L拥有的担心,那决裂的心酸又会有多h能够明白Q那不能l箋再爱或者不被爱的痛苦,q不是每一个h都能够承受的。我仍相信爱情,但我q不Lq寻Q只是静静地、静静地漂流Q直到有一天,在阳光与hW的岸边,让我的船静静地靠岸?br> q少痴狂Q多情歌被唱得天翻地覆。但我依然记得有一句是Q?#8220;我能惛_最O的事Q就是和你一h慢变老?#8221;也许Q大千世界中Q这才是真正的爱情,一份不掺杂质、不受污染的感情。但愿,当我的船靠岸的那一剎,当丘比特之箭穿我心脏的时候,我依然相信这U绝的情缘?br> 也许׃我祈求的是一U完h生,所以刀光剑q说我是不看的,但琼瑶的说也看q不,都是千篇一律。于是我M_“爱情也无非就是这栗?#8221;仿佛(jng)我是个过来h一P所以总觉得自己好像很老。曾l有一个说法是Q?#8220;没有l历爱情的h生是不完整的人生?#8221;我追求完,我却x破。所以,在情感方面我很吝啬,我的心蟩也不会ؓ了某个h而加速。就目前而言Q心如止水地q着每一天不也很好吗Q?L不用担心风暴来Ӟ会将我的船儿吹翻?br> “天Ӌ落思无IP既相逢,又匆匆?#8221;面对今朝明夕Q回首往昔。在风雨兼程的\上,我能做的只是边走Ҏ(gu)拾,收拾我生命中的每一个瞬间?

]]>
ҹƷƬþ|
þùƷһƷ
|
ձǿƬþþþþAAA|
þþ97ɫ|
99þ˾ƷۺϹۿ|
ŷþһwwwwww.|
ξþ99ƷþþþþС˵|
ƷþþþþþҹƬ
|
þþƷվ|
ҹƷþӰԺ|
۲ӰԺþ99|
Ʒþþþþ
|
ŷƷ99þ|
þþþҹҹҹƷ|
ݺɫþþһ|
Ʒþˬۺ|
þZYZԴվĶ|
þþþùɫAVѹۿ|
þþƷоƷ|
ŷþþXXX|
þɫһ|
97þþþ|
99reþþƷҳ2020|
AþþƷ|
ŷԴƬxxxxxþþ|
þùƷ|
ƷۺϾþ|
94þùƷ|
þþƷ99͵|
þþһ|
볬鱬Ļþ|
뾫ƷþɪӰ
|
99þwww˳ɾƷ|
Ʒþþþþþ|
ݺɫþۺ|
þùһ|
91龫Ʒ91þþþ|
þþþþһ|
þùһ|
˾þþƷ|
Ʒݾþþþø99|