diff --git a/2019/07/01/AFL-first-learn/index.html b/2019/07/01/AFL-first-learn/index.html index d8240e1f..898f4e73 100644 --- a/2019/07/01/AFL-first-learn/index.html +++ b/2019/07/01/AFL-first-learn/index.html @@ -479,7 +479,7 @@
1)用make
编译AFL。如果构建失败,请参阅docs / INSTALL以获取提示。
2)查找或编写一个相当快速和简单的程序,该程序从文件或标准输入中获取数据,以一种有价值的方式处理它,然后干净地退出。如果测试网络服务,请将其修改为在前台运行并从stdin读取。在对使用校验和的格式进行模糊测试时,也要注释掉校验和验证码。
遇到故障时,程序必须正常崩溃。注意自定义SIGSEGV或SIGABRT处理程序和后台进程。有关检测非崩溃缺陷的提示,请参阅docs/README
中的第11节。
3)使用afl-gcc编译要模糊的程序/库。一种常见的方法是:1
2$ CC = /path/to/afl-gcc CXX =/path/to/afl-g++ ./configure --disable-shared
$ make clean all
如果程序构建失败,请联系 afl-users@googlegroups.com。
4)获取一个对程序有意义的小而有效的输入文件。在模糊详细语法(SQL,HTTP等)时,也要创建字典,如dictionaries/README.dictionaries
中所述。
5)如果程序从stdin读取,则运行afl-fuzz
,如下所示:./afl-fuzz -i testcase_dir -o findings_dir -- /path/to/tested/program [... program's cmdline ...]
如果程序从文件中获取输入,则可以在程序的命令行中输入@@; AFL会为您放置一个自动生成的文件名。
如果程序构建失败,请联系 afl-users@googlegroups.com。
4)获取一个对程序有意义的小而有效的输入文件。在模糊详细语法(SQL,HTTP等)时,也要创建字典,如dictionaries/README.dictionaries
中所述。
5)如果程序从stdin读取,则运行afl-fuzz
,如下所示:./afl-fuzz -i testcase_dir -o findings_dir -- /path/to/tested/program [... program's cmdline ...]
如果程序从文件中获取输入,则可以在程序的命令行中输入@@; AFL会为您放置一个自动生成的文件名。
一些参考文档
docs/README - AFL的一般介绍,
@@ -496,10 +496,10 @@
docs/perf_tips.txt - 关于如何快速模糊的简单提示,
docs/status_screen.txt - UI中显示的花絮的解释,
docs/parallel_fuzzing.txt - 关于在多个核上运行AFL的建议
Generated test cases for common image formats - 生成图像文件测试用例的demo
Technical “whitepaper” for afl-fuzz - 技术白皮书
0x04 AFL README
-Written and maintained by Michal Zalewski lcamtuf@google.com
+Written and maintained by Michal Zalewski lcamtuf@google.com
Copyright 2013, 2014, 2015, 2016 Google Inc. All rights reserved.
Released under terms and conditions of Apache License, Version 2.0.For new versions and additional information, check out:
-
http://lcamtuf.coredump.cx/afl/To compare notes with other users or get notified about major new features,
+
send a mail to afl-users+subscribe@googlegroups.com.To compare notes with other users or get notified about major new features,
send a mail to afl-users+subscribe@googlegroups.com.See QuickStartGuide.txt if you don’t have time to read this file.
1)具有导向性的模糊测试的挑战
Fuzzing是用于识别真实软件中的安全问题的最强大且经过验证的策略之一;它负责安全关键软件中迄今为止发现的绝大多数远程代码执行和权限提升漏洞。
diff --git a/baidusitemap.xml b/baidusitemap.xml index e30beff0..82bfe7c8 100644 --- a/baidusitemap.xml +++ b/baidusitemap.xml @@ -48,6 +48,9 @@
不幸的是,模糊测试也不够有力。盲目的、随机的变异使得它不太可能在测试代码中达到某些代码路径,从而使一些漏洞超出了这种技术的范围。
已经有许多尝试来解决这个问题。早期方法之一 - 由Tavis Ormandy开创 - 是一种 语义库蒸馏(corpus distillation) 。网上找到的一些大型语料库中往往包含大量的文件,这时就需要对其精简,该方法依赖于覆盖信号从大量高质量的候选文件语料库中选择有趣种子的子集,然后通过传统方式对其进行模糊处理。该方法非常有效,但需要这样的语料库随时可用。正因为如此,代码覆盖率 也只是衡量程序执行状态的一个简单化的度量,这种方式并不适合后续引导fuzzing测试的。
其他更复杂的研究集中在诸如 程序流分析(“concoic execution”),符号执行或静态分析 等技术上。所有这些方法在实验环境中都非常有前景,但在实际应用中往往会遇到可靠性和性能问题 - 部分高价值的程序都有非常复杂的内部状态和执行路径,在这一方面符号执行和concolic技术往往会显得不够健壮(如路径爆炸问题),所以仍然稍逊于传统的fuzzing技术。https://cool-y.github.io/2018/12/23/%E5%9F%BA%E4%BA%8E%E8%A7%84%E5%88%99%E5%BC%95%E6%93%8E%E5%8F%91%E7%8E%B0IOT%E8%AE%BE%E5%A4%87/ 2019-04-15 ++ https://cool-y.github.io/2019/02/22/qq%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86/ +2019-04-15 https://cool-y.github.io/2019/01/16/wifi%E5%8D%8A%E5%8F%8C%E5%B7%A5%E4%BE%A7%E4%BF%A1%E9%81%93%E6%94%BB%E5%87%BB%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/ 2019-04-15 @@ -55,14 +58,11 @@https://cool-y.github.io/2018/12/15/miio-control/ 2019-04-15 - https://cool-y.github.io/2019/02/22/qq%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86/ +https://cool-y.github.io/2000/01/01/hello-world/ 2019-04-15 https://cool-y.github.io/2019/03/23/auto-send-WX/ 2019-04-15 -- https://cool-y.github.io/2000/01/01/hello-world/ -2019-04-15 https://cool-y.github.io/2018/11/16/BIBA%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E6%A8%A1%E5%9E%8B%E5%AE%9E%E7%8E%B0(python)/ 2019-04-15 diff --git a/css/main.css b/css/main.css index 6a080e40..63112951 100644 --- a/css/main.css +++ b/css/main.css @@ -189,7 +189,7 @@ body { font-size: 14px; line-height: 2; color: #555; - background: #eee; + background: #fff; } @media (max-width: 767px) { body { @@ -226,51 +226,51 @@ h6 { margin: 20px 0 15px; } h1 { - font-size: 22px; + font-size: 24px; } @media (max-width: 767px) { h1 { - font-size: 18px; + font-size: 20px; } } h2 { - font-size: 20px; + font-size: 22px; } @media (max-width: 767px) { h2 { - font-size: 16px; + font-size: 18px; } } h3 { - font-size: 18px; + font-size: 20px; } @media (max-width: 767px) { h3 { - font-size: 14px; + font-size: 16px; } } h4 { - font-size: 16px; + font-size: 18px; } @media (max-width: 767px) { h4 { - font-size: 12px; + font-size: 14px; } } h5 { - font-size: 14px; + font-size: 16px; } @media (max-width: 767px) { h5 { - font-size: 10px; + font-size: 12px; } } h6 { - font-size: 12px; + font-size: 14px; } @media (max-width: 767px) { h6 { - font-size: 8px; + font-size: 10px; } } p { @@ -445,11 +445,11 @@ body { .header-inner { margin: 0 auto; padding: 100px 0 70px; - width: 500px; + width: 700px; } @media (min-width: 1600px) { .container .header-inner { - width: 500px; + width: 1080px; } } .main { @@ -457,11 +457,11 @@ body { } .main-inner { margin: 0 auto; - width: 500px; + width: 700px; } @media (min-width: 1600px) { .container .main-inner { - width: 500px; + width: 1080px; } } .footer { @@ -474,11 +474,11 @@ body { .footer-inner { box-sizing: border-box; margin: 20px auto; - width: 500px; + width: 700px; } @media (min-width: 1600px) { .container .footer-inner { - width: 500px; + width: 1080px; } } pre, @@ -653,8 +653,8 @@ pre .javascript .function { @media (min-width: 992px) { .full-image.full-image.full-image.full-image { max-width: none; - width: 118%; - margin: 0 -9%; + width: 110%; + margin: 25px -5%; } } .blockquote-center, @@ -941,10 +941,10 @@ pre .javascript .function { padding: 0 20px; font-size: 14px; color: #555; - background: #fff; - border: 2px solid #555; + background: transparent; + border: 2px solid #222; text-decoration: none; - border-radius: 2px; + border-radius: 0; transition-property: background-color; transition-duration: 0.2s; transition-timing-function: ease-in-out; @@ -953,8 +953,8 @@ pre .javascript .function { } .btn:hover { border-color: #222; - color: #fff; - background: #222; + color: #222; + background: #fff; } .btn +.btn { margin: 0 0 8px 8px; @@ -1066,7 +1066,7 @@ pre .javascript .function { width: 24px; background: #222; font-size: 12px; - opacity: 0.6; + opacity: 1; color: #fff; cursor: pointer; text-align: center; @@ -1087,7 +1087,7 @@ pre .javascript .function { } } .back-to-top.back-to-top-on { - bottom: 30px; + bottom: 19px; } .header { background: transparent; @@ -1101,7 +1101,7 @@ pre .javascript .function { } .site-meta { margin: 0; - text-align: center; + text-align: left; } @media (max-width: 767px) { .site-meta { @@ -1112,12 +1112,12 @@ pre .javascript .function { position: relative; display: inline-block; padding: 0 40px; - color: #fff; + color: #222; background: #222; border-bottom: none; } .brand:hover { - color: #fff; + color: #222; } .logo { display: inline-block; @@ -1136,7 +1136,7 @@ pre .javascript .function { .site-subtitle { margin-top: 10px; font-size: 13px; - color: #ddd; + color: #999; } .use-motion .brand { opacity: 0; @@ -1209,8 +1209,7 @@ pre .javascript .function { transition-timing-function: ease-in-out; transition-delay: 0s; } -.menu .menu-item a:hover, -.menu-item-active a { +.menu .menu-item a:hover { border-bottom-color: #222; } .menu .menu-item .fa { @@ -1270,7 +1269,7 @@ pre .javascript .function { .posts-expand { padding-top: 40px; } -@media (max-width: 500px) { +@media (max-width: 767px) { .posts-expand { margin: 0 20px; } @@ -1349,7 +1348,7 @@ pre .javascript .function { .posts-collapse { position: relative; z-index: 1010; - margin-left: 55px; + margin-left: 0; } .posts-collapse::after { content: " "; @@ -1859,20 +1858,20 @@ pre .javascript .function { display: block; margin: 0 auto; padding: 2px; - max-width: 120px; + max-width: 96px; height: auto; - border: 1px solid #eee; + border: 2px solid #333; } .site-author-name { - margin: 0; + margin: 5px 0 0; text-align: center; - color: #222; - font-weight: 600; + color: #f5f5f5; + font-weight: normal; } .site-description { - margin-top: 0; + margin-top: 5px; text-align: center; - font-size: 13px; + font-size: 14px; color: #999; } .site-state { @@ -1884,7 +1883,7 @@ pre .javascript .function { .site-state-item { display: inline-block; padding: 0 15px; - border-left: 1px solid #eee; + border-left: 1px solid #333; } .site-state-item:first-child { border-left: none; @@ -1897,11 +1896,11 @@ pre .javascript .function { text-align: center; color: inherit; font-weight: 600; - font-size: 16px; + font-size: 18px; } .site-state-item-name { font-size: 13px; - color: #999; + color: inherit; } .feed-link { margin-top: 20px; @@ -1943,7 +1942,7 @@ pre .javascript .function { width: 4px; height: 4px; border-radius: 50%; - background: #3847ff; + background: #002fff; } .links-of-blogroll { font-size: 13px; @@ -1981,7 +1980,7 @@ pre .javascript .function { color: #555; } .sidebar-nav li:hover { - color: #fc6423; + color: #f5f5f5; } .page-post-detail .sidebar-nav-toc { padding: 0 5px; @@ -1990,11 +1989,11 @@ pre .javascript .function { margin-left: 10px; } .sidebar-nav .sidebar-nav-active { - color: #fc6423; - border-bottom-color: #fc6423; + color: #87daff; + border-bottom-color: #87daff; } .sidebar-nav .sidebar-nav-active:hover { - color: #fc6423; + color: #87daff; } .sidebar-panel { display: none; @@ -2027,12 +2026,12 @@ pre .javascript .function { transition-timing-function: ease-in-out; transition-delay: 0s; transition-property: all; - color: #666; - border-bottom-color: #ccc; + color: #999; + border-bottom-color: #555; } .post-toc ol a:hover { - color: #000; - border-bottom-color: #000; + color: #ccc; + border-bottom-color: #ccc; } .post-toc .nav-item { overflow: hidden; @@ -2054,14 +2053,14 @@ pre .javascript .function { display: block; } .post-toc .nav .active > a { - color: #fc6423; - border-bottom-color: #fc6423; + color: #87daff; + border-bottom-color: #87daff; } .post-toc .nav .active-current > a { - color: #fc6423; + color: #87daff; } .post-toc .nav .active-current > a:hover { - color: #fc6423; + color: #87daff; } .footer { font-size: 14px; @@ -2714,544 +2713,328 @@ pre .javascript .function { } } .page-post-detail .sidebar-toggle-line { - background: #fc6423; + background: #87daff; } .page-post-detail .comments { overflow: hidden; } +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 20px 0 10px; +} +p { + margin: 0 0 25px 0; +} +a { + border-bottom-color: #ccc; +} +hr { + margin: 20px 0; + height: 2px; +} +.main-inner { + margin-top: 80px; +} .header { - position: relative; - margin: 0 auto; - width: 75%; -} -@media (min-width: 768px) and (max-width: 991px) { - .header { - width: auto; - } -} -@media (max-width: 767px) { - .header { - width: auto; - } + background: #f5f5f5; } .header-inner { - position: absolute; - top: 0; - overflow: hidden; - padding: 0; - width: 240px; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); - border-radius: initial; + padding: 25px 0 20px; } -@media (min-width: 1600px) { - .container .header-inner { - width: 240px; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .header-inner { - position: relative; - width: auto; - border-radius: initial; - } -} -@media (max-width: 767px) { - .header-inner { - position: relative; - width: auto; - border-radius: initial; - } -} -.main:before, -.main:after { +.header-inner:before, +.header-inner:after { content: " "; display: table; } -.main:after { +.header-inner:after { clear: both; } -@media (min-width: 768px) and (max-width: 991px) { - .main { - padding-bottom: 100px; - } -} @media (max-width: 767px) { - .main { - padding-bottom: 100px; - } -} -.container .main-inner { - width: 75%; -} -@media (min-width: 768px) and (max-width: 991px) { - .container .main-inner { + .header-inner { width: auto; + margin-bottom: 50px; + padding: 10px; } } -@media (max-width: 767px) { - .container .main-inner { - width: auto; - } -} -.content-wrap { - float: right; - box-sizing: border-box; - padding: 40px; - width: 500px; - background: #fff; - min-height: 700px; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); - border-radius: initial; -} -@media (min-width: 768px) and (max-width: 991px) { - .content-wrap { - width: 100%; - padding: 20px; - border-radius: initial; - } -} -@media (max-width: 767px) { - .content-wrap { - width: 100%; - padding: 20px; - min-height: auto; - border-radius: initial; - } -} -.sidebar { - position: static; - float: left; - margin-top: 300px; - width: 240px; - background: #eee; - box-shadow: none; -} -@media (min-width: 768px) and (max-width: 991px) { - .sidebar { - display: none; - } -} -@media (max-width: 767px) { - .sidebar { - display: none; - } -} -.sidebar-toggle { - display: none; -} -.footer-inner { - width: 75%; - padding-left: 260px; -} -@media (min-width: 768px) and (max-width: 991px) { - .footer-inner { - width: auto; - padding-left: 0 !important; - padding-right: 0 !important; - } -} -@media (max-width: 767px) { - .footer-inner { - width: auto; - padding-left: 0 !important; - padding-right: 0 !important; - } -} -.sidebar-position-right .header-inner { - right: 0; -} -.sidebar-position-right .content-wrap { - float: left; -} -.sidebar-position-right .sidebar { - float: right; -} -.sidebar-position-right .footer-inner { - padding-left: 0; - padding-right: 260px; -} -.site-brand-wrapper { - position: relative; -} .site-meta { - padding: 20px 0; - color: #fff; - background: #222; -} -@media (min-width: 768px) and (max-width: 991px) { - .site-meta { - box-shadow: 0 0 16px rgba(0,0,0,0.5); - } + float: left; + margin-left: -20px; + line-height: normal; } @media (max-width: 767px) { .site-meta { - box-shadow: 0 0 16px rgba(0,0,0,0.5); + margin-left: 10px; } } -.brand { - padding: 0; +.site-meta .brand { + padding: 2px 1px; background: none; } -.brand:hover { - color: #fff; +@media (max-width: 767px) { + .site-meta .brand { + display: block; + } +} +.site-meta .logo { + display: none; +} +.site-meta .site-title { + font-size: 22px; + font-weight: bolder; +} +@media (max-width: 767px) { + .site-meta .site-title { + line-height: 34px; + } +} +.logo-line-before, +.logo-line-after { + display: block; + overflow: hidden; + margin: 0 auto; + width: 75%; +} +@media (max-width: 767px) { + .logo-line-before, + .logo-line-after { + display: none; + } +} +.logo-line-before i, +.logo-line-after i { + position: relative; + display: block; + height: 2px; + background: #222; +} +@media (max-width: 767px) { + .logo-line-before i, + .logo-line-after i { + height: 3px; + } +} +.use-motion .logo-line-before i { + left: -100%; +} +.use-motion .logo-line-after i { + right: -100%; } .site-subtitle { - margin: 10px 10px 0; - font-weight: initial; + display: none; +} +.site-nav-toggle { + position: static; + float: right; +} +.menu { + float: right; + margin: 8px 0 0 0; +} +@media (max-width: 767px) { + .menu { + margin: 20px 0 0 0; + padding: 0; + } +} +.menu br { + display: none; +} +.menu .menu-item { + margin: 0; +} +@media (max-width: 767px) { + .menu .menu-item { + display: block; + } +} +.menu .menu-item a { + padding: 0 10px; + background: none; + border: none; + border-radius: 2px; + transition-property: background; +} +@media (max-width: 767px) { + .menu .menu-item a { + text-align: left; + } +} +.menu .menu-item a:hover { + background: #e1e1e1; +} +.menu a::before { + display: none; +} +@media (max-width: 767px) { + .menu a::before { + display: block; + } +} +@media (max-width: 767px) { + .menu { + float: none; + } } .site-search form { display: none; } -.site-nav { - border-top: none; +.posts-expand { + padding-top: 0; } -@media (min-width: 768px) and (max-width: 991px) { - .site-nav { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .site-nav-on { - display: block !important; - } -} -.menu .menu-item { - display: block; - margin: 0; -} -.menu .menu-item a { - position: relative; - box-sizing: border-box; - padding: 5px 20px; - text-align: left; - line-height: inherit; - transition-property: background-color; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0s; -} -.menu .menu-item a:hover, -.menu-item-active a { - background: #f9f9f9; - border-bottom-color: #fff; -} -.menu .menu-item br { - display: none; -} -.menu-item-active a:after { - content: " "; - position: absolute; - top: 50%; - margin-top: -3px; - right: 15px; - width: 6px; - height: 6px; - border-radius: 50%; - background-color: #bbb; -} -.btn-bar { - background-color: #fff; -} -.site-nav-toggle { - left: 20px; - top: 50%; - -webkit-transform: translateY(-50%); - -webkit-transform: translateY(-50%); - -moz-transform: translateY(-50%); - -ms-transform: translateY(-50%); - -o-transform: translateY(-50%); - transform: translateY(-50%); -} -@media (min-width: 768px) and (max-width: 991px) { - .site-nav-toggle { - display: block; - } -} -.use-motion .sidebar .motion-element { - opacity: 1; -} -.sidebar { - margin-left: -100%; - right: auto; - bottom: auto; - -webkit-transform: none; -} -.sidebar-inner { - box-sizing: border-box; - width: 240px; - color: #555; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); - border-radius: initial; - opacity: 0; -} -.sidebar-inner.affix { - position: fixed; - top: 12px; -} -.sidebar-inner.affix-bottom { - position: absolute; -} -.site-overview { +.posts-expand .post-title, +.posts-expand .post-meta { text-align: left; } -.site-author:before, -.site-author:after { - content: " "; - display: table; +@media (max-width: 767px) { + .posts-expand .post-title, + .posts-expand .post-meta { + text-align: center; + } } -.site-author:after { - clear: both; -} -.sidebar a { - color: #555; -} -.sidebar a:hover { - color: #222; -} -.site-state-item { - padding: 0 10px; -} -.links-of-author-item a:before { +.posts-expand .post-eof { display: none; } -.links-of-author-item a { - border-bottom: none; - text-decoration: underline; +.posts-expand .post { + margin-top: 120px; } -.feed-link { - border-top: 1px dotted #ccc; - border-bottom: 1px dotted #ccc; - text-align: center; -} -.feed-link a { - display: block; - color: #fc6423; - border: none; -} -.feed-link a:hover { - background: none; - color: #e34603; -} -.feed-link a:hover i { - color: #e34603; -} -.links-of-author { - display: flex; - flex-wrap: wrap; - justify-content: center; -} -.links-of-author-item { - margin: 5px 0 0; - width: 50%; -} -.links-of-author-item a { - max-width: 216px; - box-sizing: border-box; - display: inline-block; - margin-right: 0; - margin-bottom: 0; - padding: 0 5px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.links-of-author-item a { - display: block; - text-decoration: none; -} -.links-of-author-item a:hover { - border-radius: 4px; - background: #eee; -} -.links-of-author-item .fa { - margin-right: 2px; - font-size: 16px; -} -.links-of-author-item .fa-globe { - font-size: 15px; -} -.links-of-blogroll { - text-align: center; - margin-top: 20px; - padding: 3px 0 0; - border-top: 1px dotted #ccc; -} -.links-of-blogroll-title { +.posts-expand .post:first-child { margin-top: 0; } -.links-of-blogroll-item { - padding: 0; -} -.links-of-blogroll-inline:before, -.links-of-blogroll-inline:after { - content: " "; - display: table; -} -.links-of-blogroll-inline:after { - clear: both; -} -.links-of-blogroll-inline .links-of-blogroll-item { - margin: 5px 0 0; - width: 50%; - display: inline-block; - width: unset; -} -.links-of-blogroll-inline .links-of-blogroll-item a { - max-width: 216px; - box-sizing: border-box; - display: inline-block; - margin-right: 0; - margin-bottom: 0; - padding: 0 5px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.content-wrap { - padding: initial; - background: initial; - box-shadow: initial; - border-radius: initial; -} -.post-block { - padding: 40px; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); - border-radius: initial; -} -#posts > article + article .post-block { - margin-top: 12px; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); - border-radius: initial; -} -.comments { - padding: 40px; - margin: initial; - margin-top: 12px; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); - border-radius: initial; -} -.posts-expand { - padding-top: initial; -} -.post-nav-divider { - width: 4%; -} -.post-nav-item { - width: 48%; -} -.post-eof, -.post-spread { - display: none !important; -} -.pagination { - margin: 12px 0 0; - border-top: initial; - background: #fff; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); - border-radius: initial; - padding: 10px 0 10px; -} -.pagination .prev, -.pagination .next, -.pagination .page-number { - margin-bottom: initial; - top: initial; -} -.main { - padding-bottom: initial; -} -.footer { - bottom: auto; -} -.post-header h1, -.post-header h2 { - margin: initial; -} -.posts-expand .post-title-link { - line-height: inherit; +.posts-expand .post-meta { + margin-top: 5px; + margin-bottom: 20px; } .posts-expand .post-title { - font-size: 1.7em; + position: relative; + font-size: 26px; + font-weight: 400; } -.post-body h1 { - font-size: 1.6em; - border-bottom: 1px solid #eee; -} -.post-body h2 { - font-size: 1.45em; - border-bottom: 1px solid #eee; -} -.post-body h3 { - font-size: 1.3em; - border-bottom: 1px dotted #eee; -} -.post-body h4 { - font-size: 1.2em; -} -.post-body h5 { - font-size: 1.07em; -} -.post-body h6 { - font-size: 1.03em; -} -@media (min-width: 768px) and (max-width: 991px) { - .content-wrap { - padding: 10px; +@media (max-width: 767px) { + .posts-expand .post-title { + font-size: 22px; } - .posts-expand { - margin: initial; +} +@media (min-width: 1600px) { + .posts-expand .post-title { + font-size: 26px; } - .posts-expand .post-button { - margin-top: 20px; +} +.posts-expand .post-title:hover:before { + background: #222; +} +@media (max-width: 767px) { + .posts-expand .post-body { + font-size: 12px; } - .post-block { - padding: 20px; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); - border-radius: initial; +} +.posts-expand .post-body img { + margin: 0; +} +.posts-expand .post-tags { + text-align: left; +} +.posts-expand .post-tags a { + padding: 1px 5px; + background: #f5f5f5; + border-bottom: none; +} +.posts-expand .post-tags a:hover { + background: #ccc; +} +.posts-expand .post-nav { + margin-top: 40px; +} +.post-button { + margin-top: 20px; + text-align: left; +} +.post-button a { + padding: 0; + font-size: 14px; + background: none; + border: none; + border-bottom: 2px solid #666; + transition-property: border; +} +@media (max-width: 767px) { + .post-button a { + font-size: 12px; } - #posts > article + article .post-block { - margin-top: 10px; +} +@media (min-width: 1600px) { + .post-button a { + font-size: 16px; } - .comments { - margin-top: 10px; - padding: 10px 20px; - } - .pagination { - margin: 10px 0 0; +} +.post-button a:hover { + border-bottom-color: #222; +} +.links-of-blogroll-inline .links-of-blogroll-item { + display: inline-block; +} +.btn { + padding: 0 10px; + border-width: 2px; + border-radius: 0; +} +.headband { + display: none; +} +.site-search { + position: relative; + float: right; + margin-top: 5px; + padding-top: 3px; +} +@media (max-width: 767px) { + .site-search { + float: none; + padding: 0 10px; } } @media (max-width: 767px) { - .content-wrap { - padding: 8px; - } - .posts-expand { - margin: initial; - } - .posts-expand .post-button { - margin-top: 12px; - } - .posts-expand img { - padding: initial !important; - } - .post-block { - padding: 12px; - min-height: auto; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); - border-radius: initial; - } - #posts > article + article .post-block { - margin-top: 8px; - } - .comments { - margin-top: 8px; - padding: 0 12px; + .container .main-inner { + width: auto; } +} +.page-post-detail .post-title, +.page-post-detail .post-meta { + text-align: center; +} +.page-post-detail .post-title:before { + display: none; +} +.page-post-detail .post-meta { + margin-bottom: 60px; +} +.pagination { + margin: 120px 0 0; + text-align: left; +} +@media (max-width: 767px) { .pagination { - margin: 8px 0 0; + margin: 80px 10px 0; + text-align: center; + } +} +.footer { + margin-top: 80px; + padding: 10px 0; + background: #f5f5f5; + color: #666; +} +.footer-inner { + margin: 0 auto; + text-align: left; +} +@media (max-width: 767px) { + .footer-inner { + width: auto; + text-align: center; } } #rewardButton span { diff --git a/search.xml b/search.xml index caa73c8d..86d5936b 100644 --- a/search.xml +++ b/search.xml @@ -78,7 +78,7 @@%2F2019%2F07%2F01%2FAFL-first-learn%2F -+ diff --git a/sitemap.xml b/sitemap.xml index 9c0137c6..fbb48b1d 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -121,14 +121,14 @@ 二进制 - https://cool-y.github.io/tags/index.html +https://cool-y.github.io/categories/index.html 2019-04-15T07:35:38.085Z - +https://cool-y.github.io/categories/index.html +https://cool-y.github.io/tags/index.html 2019-04-15T07:35:38.085Z @@ -162,6 +162,13 @@+ +https://cool-y.github.io/2019/02/22/qq%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86/ + +2019-04-15T07:35:38.082Z + +https://cool-y.github.io/2019/01/16/wifi%E5%8D%8A%E5%8F%8C%E5%B7%A5%E4%BE%A7%E4%BF%A1%E9%81%93%E6%94%BB%E5%87%BB%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/ @@ -177,21 +184,14 @@- - -https://cool-y.github.io/2019/02/22/qq%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86/ - -2019-04-15T07:35:38.082Z - -- https://cool-y.github.io/2019/03/23/auto-send-WX/ +https://cool-y.github.io/2000/01/01/hello-world/ 2019-04-15T07:35:38.081Z - https://cool-y.github.io/2000/01/01/hello-world/ +https://cool-y.github.io/2019/03/23/auto-send-WX/ 2019-04-15T07:35:38.081Z