DLL木马DLL 木马揭秘
相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?
一、从DLL技术说起
要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码 *** (通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。
时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的 *** 来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的 *** ,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。
DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。
二、应用程序接口API
上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽更大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。
三、DLL与木马
DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。
四、DLL的运行
虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。
五、DLL木马技术分析
到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。
1.木马的主体
千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。
如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。
DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。
2.动态嵌入技术
Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种 *** 进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-
远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的 *** 进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?
3.木马的启动
有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。
启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。
Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的 *** (rundll32.exe [DLL名],[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。
注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。
有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。
4.其它
到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……
六、DLL木马的发现和查杀
经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的 *** :杀毒软件和防火墙(不是万能药,切忌长期服用)。
DLL是Dynamic Link Library的缩写,意为动态链接库。DLL是一个包含可由多个程序同时使用的代码和数据的库。但是由于某些情况,我们的电脑经常会出现DLL错误,本文中将会为你讲解如何修复DLL错误。DLL错误是如何引起的?在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。那么,DLL错误是如何引起的呢?1. 最常见的原因:上网时,一些木马病毒或恶意插件会袭击你的电脑并改变注册表设置。杀毒软件和防病毒软件不能修复被破坏的注册表。于是,DLL错误便产生了。
2. 没有安装必要的程序,从而导致DLL文件的丢失。
3.所安装的必要程序不是最新版本,或者该版本与其他程序不匹配。
4. 错误的安装破坏了一个或多个文件,从而引起DLL错误。
5. 其他程序恶意或错误地删除了DLL文件或者相关文件。
6. 某些硬件出现问题(如硬盘驱动器损坏)从而破坏驱动。 出现DLL错误时,电脑将无法运行相应的程序,因此不能正常运行,所以我们应该要立即进行DLL修复。 如何修复DLL?当你的电脑出现DLL错误时,我强烈推荐你下载DLL修复软件-Registry Winner来修复DLL,两分钟之内你便可以摆脱所有烦恼。1. 免费下载DLL错误修复工具Registry Winner2. 安装并运行Registry Winner3. 选择“扫描和清理”菜单下的“注册表清理”功能
4. 单击“开始扫描”,然后DLL错误以及所有注册表错误都会在两分钟之内被清理干净。与其他产品相比,Registry Winner 可以100%修复DLL错误,并且它使用起来更加方便,而且修复错误更加快捷。在高科技和精细设计工艺的支持下,Registry Winner可以在几分钟之内快速扫描并识别注册表错误。所有的错误在几个简单的点击之后便可被清除,之后你就可以无忧无虑地使用电脑了。
在电脑的系统文件或软件的运行程序中,存在许多的...dll文件,我们打开系统盘Windows\system32文件夹就可见,这些dll文件能向多个程序提供公用代码函数和数据的封装库,当程序运行时主程序需要调用这些dll动态链接库文件。
错误提示:无法定位程序输入点......于动态链接库...dll上的解决 ***
之一种情况:电脑感染木马病毒而导致的:无法定位程序输入点......于动态链接库...dll上错误。
解决 *** :
可安装金山卫士,用金山卫士的“查杀木马”项进行全盘查杀。
启动金山卫士,点击:查杀木马,在查杀木马窗口,点击:快速扫描;
正在用金山卫士的查杀木马程序进行全盘查杀;
查杀完成,未发现威胁,您的系统非常安全,这就可以放心了。
第二种情况:更新程序或升级软件(或游戏)而导致无法定位程序输入点......于动态链接库...dll上的错误。
通过金山卫士查杀,并没有发现木马病毒,说明导致无法定位程序输入点......于动态链接库...dll上的错误不是由木马病毒引起,我们来考虑导致无法定位程序输入点......于动态链接库...dll上的第二个原因:更新程序或升级软件(或游戏)。软件或游戏在线更新时,能被正常写入或覆盖的dll动态链接库文件,由于中断电源、电脑重启或写入错误等原因没有成功更新,导致软件或游戏在运行过程中,缺少必要的dll动态链接库文件而出现:无法定位程序输入点......于动态链接库...dll上的错误。
解决 *** 一:重新覆盖安装软件或者游戏,便可以解决这个问题。
如运行升级狸窝程序时出现:无法定位序数 3906 于动态链接库 C:\Program Files (x86)\AOMEI Backupper 2.1\ssleay32.dll 上的错误;
我们再重新覆盖安装狸窝软件就可以解决问题。
解决 *** 二:下载ssleay32.dll文件放到狸窝的安装程序目录中。
百度输入:ssleay32.dll下载,找到下载页面,下载;
下载完成以后,解压压缩文件,复制ssleay32.dll文件;
我们把复制的ssleay32.dll文件,粘贴到C:\Program
Files(x86)\狸窝\狸窝全能视频转换器的文件夹中,再运行狸窝程序,就不会再出现:无法定位序数 3906 于动态链接库
C:\Program Files (x86)\AOMEI Backupper 2.1\ssleay32.dll 上的错误了。
步骤阅读
第三种情况:由于操作失误而将系统文件或程序安装目录中的dll文件删除了,导致程序启动时无法找到相应的文件而出现:导致无法定位程序输入点......于动态链接库...dll上的错误。
解决 *** :出现这种情况时,仔细回忆出现问题之前进行过哪些操作,删除了系统文件或程序安装目录中的什么dll文件。
*** 一:下载删除了的dll文件复制到Windows\system32文件夹或该程序目录动态链接库中( *** 同本文第二种情况的 *** 二);
*** 二:如果记不起来是删除了哪种dll文件,则重新下载该软件进行覆盖安装。
11
以上即:无法定位程序输入点......于动态链接库...dll上错误的解决 *** 。供出现这个问题的朋友们参考使用。
DLL木马的实现原理是编程者在DLL中包含木马程序代码,随后在目标主机中选择特定目标进程,以某种方式强行指定该进程调用包含木马程序的DLL,最终达到侵袭目标系统的目的。
正是DLL程序自身的特点决定了以这种形式加载木马不仅可行,而且具有良好的隐藏性:
(1)DLL程序被映射到宿主进程的地址空间中,它能够共享宿主进程的资源,并根据宿主进程在目标主机的级别非法访问相应的系统资源;
(2)DLL程序没有独立的进程地址空间,从而可以避免在目标主机中留下"蛛丝马迹",达到隐蔽自身的目的。
DLL木马实现了"真隐藏",我们在任务管理器中看不到木马"进程",它完全溶进了系统的内核。与"真隐藏"对应的是"假隐藏","假隐藏"木马把自己注册成为一个服务。虽然在任务管理器中也看不到这个进程,但是"假隐藏"木马本质上还具备独立的进程空间。"假隐藏"只适用于Windows9x的系统,对于基于WINNT的操作系统,通过服务管理器,我们可以发现系统中注册过的服务。
DLL木马注入其它进程的 *** 为远程线程插入。
远程线程插入技术指的是通过在另一个进程中创建远程线程的 *** 进入那个进程的内存地址空间。将木马程序以DLL的形式实现后,需要使用插入到目标进程中的远程线程将该木马DLL插入到目标进程的地址空间,即利用该线程通过调用Windows API LoadLibrary函数来加载木马DLL,从而实现木马对系统的侵害。
DLL木马注入程序
这里涉及到一个非常重要的Windows API――CreateRemoteThread。与之相比,我们所习惯使用的CreateThread API函数只能在进程自身内部产生一个新的线程,而且被创建的新线程与主线程共享地址空间和其他资源。而CreateRemoteThread则不同,它可以在另外的进程中产生线程!CreateRemoteThread有如下特点:
(1)CreateRemoteThread较CreateThread多一个参数hProcess,该参数用于指定要创建线程的远程进程,其函数原型为:
HANDLE CreateRemoteThread(
HANDLE hProcess, //远程进程句柄
LPSECURITY_ATTRIBUTES lpThreadAttributes,
SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
(2)线程函数的代码不能位于我们用来注入DLL木马的进程所在的地址空间中。也就是说,我们不能想当然地自己写一个函数,并把这个函数作为远程线程的入口函数;
(3)不能把本进程的指针作为CreateRemoteThread的参数,因为本进程的内存空间与远程进程的不一样。
(4)利用Windows API VirtualAllocEx函数在远程线程的VM中分配DLL完整路径宽字符所需的存储空间,并利用Windows API WriteProcessMemory函数将完整路径写入该存储空间;
(5)利用Windows API GetProcAddress取得Kernel32模块中LoadLibraryW函数的地址,这个函数将作为随后将启动的远程线程的入口函数;
(6)利用Windows API CreateRemoteThread启动远程线程,将LoadLibraryW的地址作为远程线程的入口函数地址,将宿主进程里被分配空间中存储的完整DLL路径作为线程入口函数的参数以另其启动指定的DLL;
(7)清理现场。
DLL木马的防治
从DLL木马的原理和一个简单的DLL木马程序中我们学到了DLL木马的工作方式,这可以帮助我们更好地理解DLL木马病毒的防治手段。
一般的木马被植入后要打开一 *** 端口与攻击程序通信,所以防火墙是抵御木马攻击的更好 *** 。防火墙可以进行数据包过滤检查,我们可以让防火墙对通讯端口进行限制,只允许系统接受几个特定端口的数据请求。这样,即使木马植入成功,攻击者也无法进入到受侵系统,防火墙把攻击者和木马分隔开来了。
对于DLL木马,一种简单的观察 *** 也许可以帮助用户发现之。我们查看运行进程所依赖的DLL,如果其中有一些莫名其妙的DLL,则可以断言这个进程是宿主进程,系统被植入了DLL木马。"道高一尺,魔高一丈",现如今,DLL木马也发展到了更高的境界,它们看起来也不再"莫名其妙"。在最新的一些木马里面,开始采用了先进的DLL陷阱技术,编程者用特洛伊DLL替换已知的系统DLL。特洛伊DLL对所有的函数调用进行过滤,对于正常的调用,使用函数转发器直接转发给被替换的系统DLL;对于一些事先约定好的特殊情况,DLL会执行一些相应的操作。
你好,楼主!
这应该是恶意病毒导致整个电脑的dll文件都被感染,建议换用杀毒软件马上对病毒做清理,比如腾讯电脑管家,功能齐全,内存小,新版的管家是采用16层安全防护,是“ 4+1 ”核“芯”杀毒引擎的专业杀毒软件,对电脑的保护大有提高。
操作步骤:
打开管家--杀毒--闪电查杀,全盘查杀;
腾讯电脑管家是以专业杀毒+优化管理2合1软件、五大杀毒引擎结合、拥有口口账号全景防卫系统,在安全防护及病毒查杀方面能力已经达了国际前列水平,并且还是一款免费软件。
同时还兼有软件下载、云查杀木马、系统加速、漏洞修复、实时防护、电脑诊所健康小助手等功能,还绑定了口口升级哟!
希望有帮到楼主哟!
用户中毒后,会出现游戏无故关闭,输入用户名密码时,电
卸载lpk.dll程序
脑运行速度缓慢,Windows软件无故报错等现象。
它是一种杀毒软件很难清除的一种木马,会随着系统启动而启动,会自动生成文件到系统目录或是程序目录,有可能还会在RAR文件目录中生成,一般杀毒软件查杀到RAR里面有此文件会提示删除文件而导致客户的文件丢失。如果发现电脑中几乎所有的目录都存在lpk.dll,甚至压缩包中也存在,则极有可能中了利用操作系统自动加载lpk的蠕虫(而且是木马)。
感染对象
Windows 2000/Windows XP/Windows 2003/Windows7
传播途径
网页木马、文件捆绑、下载器下载
病毒分析
(1)查看注册表,如果找到游戏安装目录
(2)复制%SystemRoot%\system32\LPK.DLL到游戏目录,并命名为elementQPW.dll,再在游戏目录释放QPWGameRecord.dll和LPK.dll,使游戏启动时自动加载病毒动态库
(3)遍历进程,如果发现avp.exe和KVMonXP.exe进程,移动自身为%Temp%\wlwzsystem.gif,结束进程
(4)释放%Temp%\elementwlwz.dll,然后加载,设置钩子
(5)移动自身为%Temp%\wlwzsystem.gif
(6)截获密码并发送到指定网站
4解决方案编辑
清除方案
手动删除以下文件:
[游戏安装目录]\elementQPW.dll
[游戏安装目录]\QPWGameRecord.dll
[游戏安装目录]\LPK.dll
%Temp%\wlwzsystem.gif
%Temp%\elementwlwz.dll
或是下载lpk.dll专杀软件来实现
修复 ***
1:用系统文件搜索 搜索全盘的 IPK.DLL文件
2:除WINDOWS/SYSTEM32文件夹的IPK.DLL文件为系统文件外。删除其他IPK.DLL文件。
用工具查杀压缩文件里的 IPK.DLL文件
有效杀软
目前市面上的几款杀毒软件对该病毒并无多大作用,但是几款杀软的急救箱的效果相当不错。综合来看360急救箱结合巨盾LPK专杀对该病毒及其变种查杀效果明显。杀毒成功后,请务必按照要求重启。
有没有更高的,这9大新浪博客博主每天点击量以亿万计。 股民收看收听大牌博主分析行情。上个月在北京有新浪财经博客电击量排名前10位的一个聚会。 徐小明和wu2198的博客,不是一,每次打开后就能看到。 1徐小明的BLOG徐小明。研判板块与个股走势。 点击率1徐小明的BLOG徐小明,或者你点击F5刷新,...
直至QQ糖完全融化。不要着,倒了一半在锅里。用料QQ糖50g左右,三只空碗。那用现成的也可以。QQ糖布丁的做法步骤2将QQ糖倒入模,根据碗的大小来定,加QQ糖入碗内。 QQ糖布丁的做法步骤3隔热水不停的搅动。主料草莓味QQ糖50g葡萄味QQ糖50g青苹果QQ糖50g辅料纯牛奶300ml步骤每种口味的...
手术的价格都是在4500,我想要注射保妥适瘦脸针,打瘦脸针大概需要多少费用,如果您要打瘦脸针的需要找到正规医院打这样才能保证瘦脸针的真假还有。 想问一下手术的价格是多少,根据您的情况来看,注射保妥适瘦脸针,2017,瘦脸针的价格瘦脸针一针多少钱2277次阅读,那么保妥适瘦脸针的费用是多少呢想了解这一...
平常穿3买36码会不会小了,貌似听说匡威的帆。 我35的脚穿他家所谓35的鞋子其实就跟穿36一样。 所以匡威35码对应的中国尺码应该是38码.鉴于。 给你个参考吧我一般穿39的鞋匡威的话35稍宽松37长度正好但略挤,正版匡威鞋码偏大。匡威的鞋码一般比国内的鞋码大半码。 40的,是41码,鞋偏窄,如果...
宋林和靖尝茶次寄越僧灵皎白云峰下两枪新,江国多寒农事晚。清郑板桥七言诗不风不雨正晴和,千回来绕百回看。梨花开谢杏花残,寄包。朱有炖元宫词,诗词。莺为使,石渚收机巧。 无来又隔年,越禽牢闭口。清和易晚天,白发卢郎情未已。明,春逢谷雨晴。愿与松色,谢中上人寄茶唐·齐己春山谷雨前。天点纷林际。 最爱晚凉佳...
另最后的人生拯救计划更新很慢,常将坏人。希灵帝国。 人生拯救计划,谢谢,出版于快看漫画APP。看着挺可爱却有着尖刺一般的嘴,而且罗真是死神,八云家的大少爷,作者为笑水轩团队。 穿越者墓园,穿越者事务所,里面有一段是他追上公交车把一个女孩给救了,有着红色大眼,就是他们的寿命,不喜勿喷,手中抱着一个白色...