前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >github 的黑夜模式小猫咪动画源码

github 的黑夜模式小猫咪动画源码

作者头像
王图思睿
发布于 2021-06-16 07:53:17
发布于 2021-06-16 07:53:17
93900
代码可运行
举报
文章被收录于专栏:膨胀的面包膨胀的面包
运行总次数:0
代码可运行

github 上的小猫咪黑夜模式切换很可爱,想要~ 。于是花了点时间扒了下来放在了自己的博客上。 秉着开源精神,将源码分享给大家。

废话少说,上代码

html:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- 暗黑模式 -->
<div class="profile-color-modes js-promo-color-modes-banner-profile">
    <svg aria-hidden="true" height="45" viewBox="0 0 106 60" fill="none" stroke-width="3"
         stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
        <g class="profile-color-modes-illu-group profile-color-modes-illu-red">
            <path d="M37.5 58.5V57.5C37.5 49.768 43.768 43.5 51.5 43.5V43.5C59.232 43.5 65.5 49.768 65.5 57.5V58.5"></path>
        </g>
        <g class="profile-color-modes-illu-group profile-color-modes-illu-orange">
            <path d="M104.07 58.5C103.401 55.092 97.7635 54.3869 95.5375 57.489C97.4039 54.6411 99.7685 48.8845 94.6889 46.6592C89.4817 44.378 86.1428 50.1604 85.3786 54.1158C85.9519 50.4768 83.7226 43.294 78.219 44.6737C72.7154 46.0534 72.7793 51.3754 74.4992 55.489C74.169 54.7601 72.4917 53.3567 70.5 52.8196"></path>
        </g>
        <g class="profile-color-modes-illu-group profile-color-modes-illu-purple">
            <path d="M5.51109 58.5V52.5C5.51109 41.4543 14.4654 32.5 25.5111 32.5C31.4845 32.5 36.8464 35.1188 40.5111 39.2709C40.7212 39.5089 40.9258 39.7521 41.1245 40"></path>
            <path d="M27.511 49.5C29.6777 49.5 28.911 49.5 32.511 49.5"></path>
            <path d="M27.511 56.5C29.6776 56.5 26.911 56.5 30.511 56.5"></path>
        </g>
        <g class="profile-color-modes-illu-group profile-color-modes-illu-green">
            <circle cx="5.5" cy="12.5" r="4"></circle>
            <circle cx="18.5" cy="5.5" r="4"></circle>
            <path d="M18.5 9.5L18.5 27.5"></path>
            <path d="M18.5 23.5C6 23.5 5.5 23.6064 5.5 16.5"></path>
        </g>
        <g class="profile-color-modes-illu-group profile-color-modes-illu-blue">
            <g class="profile-color-modes-illu-frame">
                <path d="M40.6983 31.5C40.5387 29.6246 40.6456 28.0199 41.1762 27.2317C42.9939 24.5312 49.7417 26.6027 52.5428 30.2409C54.2551 29.8552 56.0796 29.6619 57.9731 29.6619C59.8169 29.6619 61.5953 29.8452 63.2682 30.211C66.0833 26.5913 72.799 24.5386 74.6117 27.2317C75.6839 28.8246 75.0259 33.7525 73.9345 37.5094C74.2013 37.9848 74.4422 38.4817 74.6555 39"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M41.508 31.5C41.6336 31.2259 41.7672 30.9582 41.9085 30.6968C40.7845 26.9182 40.086 21.8512 41.1762 20.2317C42.9939 17.5312 49.7417 19.6027 52.5428 23.2409C54.2551 22.8552 56.0796 22.6619 57.9731 22.6619C59.8169 22.6619 61.5953 22.8452 63.2682 23.211C66.0833 19.5913 72.799 17.5386 74.6117 20.2317C75.6839 21.8246 75.0259 26.7525 73.9345 30.5094C75.1352 32.6488 75.811 35.2229 75.811 38.2283C75.811 38.49 75.8058 38.7472 75.7957 39"></path>
                <path d="M49.4996 33V35.6757"></path>
                <path d="M67.3375 33V35.6757"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M41.508 31.5C41.6336 31.2259 41.7672 30.9582 41.9085 30.6968C40.7845 26.9182 40.086 21.8512 41.1762 20.2317C42.9939 17.5312 49.7417 19.6027 52.5428 23.2409C54.2551 22.8552 56.0796 22.6619 57.9731 22.6619C59.8169 22.6619 61.5953 22.8452 63.2682 23.211C66.0833 19.5913 72.799 17.5386 74.6117 20.2317C75.6839 21.8246 75.0259 26.7525 73.9345 30.5094C75.1352 32.6488 75.811 35.2229 75.811 38.2283C75.811 38.49 75.8058 38.7472 75.7957 39"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M41.508 31.5C41.6336 31.2259 41.7672 30.9582 41.9085 30.6968C40.7845 26.9182 40.086 21.8512 41.1762 20.2317C42.9939 17.5312 49.7417 19.6027 52.5428 23.2409C54.2551 22.8552 56.0796 22.6619 57.9731 22.6619C59.8169 22.6619 61.5953 22.8452 63.2682 23.211C66.0833 19.5913 72.799 17.5386 74.6117 20.2317C75.6839 21.8246 75.0259 26.7525 73.9345 30.5094C75.1352 32.6488 75.811 35.2229 75.811 38.2283C75.811 38.49 75.8058 38.7472 75.7957 39"></path>
                <path d="M49.4996 33V35.6757"></path>
                <path d="M67.3375 33V35.6757"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M41.508 31.5C41.6336 31.2259 41.7672 30.9582 41.9085 30.6968C40.7845 26.9182 40.086 21.8512 41.1762 20.2317C42.9939 17.5312 49.7417 19.6027 52.5428 23.2409C54.2551 22.8552 56.0796 22.6619 57.9731 22.6619C59.8169 22.6619 61.5953 22.8452 63.2682 23.211C66.0833 19.5913 72.799 17.5386 74.6117 20.2317C75.6839 21.8246 75.0259 26.7525 73.9345 30.5094C75.1352 32.6488 75.811 35.2229 75.811 38.2283C75.811 38.49 75.8058 38.7472 75.7957 39"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M41.508 31.5C41.6336 31.2259 41.7672 30.9582 41.9085 30.6968C40.7845 26.9182 40.086 21.8512 41.1762 20.2317C42.9939 17.5312 49.7417 19.6027 52.5428 23.2409C54.2551 22.8552 56.0796 22.6619 57.9731 22.6619C59.8169 22.6619 61.5953 22.8452 63.2682 23.211C66.0833 19.5913 72.799 17.5386 74.6117 20.2317C75.6839 21.8246 75.0259 26.7525 73.9345 30.5094C75.1352 32.6488 75.811 35.2229 75.811 38.2283C75.811 38.49 75.8058 38.7472 75.7957 39"></path>
                <path d="M49.4996 33V35.6757"></path>
                <path d="M67.3375 33V35.6757"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M73.4999 40.2236C74.9709 38.2049 75.8108 35.5791 75.8108 32.2283C75.8108 29.2229 75.1351 26.6488 73.9344 24.5094C75.0258 20.7525 75.6838 15.8246 74.6116 14.2317C72.7989 11.5386 66.0832 13.5913 63.2681 17.211C61.5952 16.8452 59.8167 16.6619 57.973 16.6619C56.0795 16.6619 54.2549 16.8552 52.5427 17.2409C49.7416 13.6027 42.9938 11.5312 41.176 14.2317C40.0859 15.8512 40.7843 20.9182 41.9084 24.6968C41.003 26.3716 40.4146 28.3065 40.2129 30.5"></path>
                <path d="M82.9458 30.5471L76.8413 31.657"></path>
                <path d="M76.2867 34.4319L81.8362 37.7616"></path>
                <path d="M49.4995 27.8242V30.4999"></path>
                <path d="M67.3374 27.8242V30.4998"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M45.3697 34.2658C41.8877 32.1376 39.7113 28.6222 39.7113 23.2283C39.7113 20.3101 40.3483 17.7986 41.4845 15.6968C40.3605 11.9182 39.662 6.85125 40.7522 5.23168C42.5699 2.53117 49.3177 4.6027 52.1188 8.24095C53.831 7.85521 55.6556 7.66186 57.5491 7.66186C59.3929 7.66186 61.1713 7.84519 62.8442 8.21095C65.6593 4.59134 72.375 2.5386 74.1877 5.23168C75.2599 6.82461 74.6019 11.7525 73.5105 15.5094C74.7112 17.6488 75.3869 20.2229 75.3869 23.2283C75.3869 28.6222 73.2105 32.1376 69.7285 34.2658C70.8603 35.5363 72.6057 38.3556 73.3076 40"></path>
                <path d="M49.0747 19.8242V22.4999"></path>
                <path d="M54.0991 28C54.6651 29.0893 55.7863 30.0812 57.9929 30.0812C59.0642 30.0812 59.8797 29.8461 60.5 29.4788"></path>
                <path d="M66.9126 19.8242V22.4999"></path>
                <path d="M33.2533 20.0237L39.0723 22.1767"></path>
                <path d="M39.1369 25.0058L33.0935 27.3212"></path>
                <path d="M81.8442 19.022L76.0252 21.1751"></path>
                <path d="M75.961 24.0041L82.0045 26.3196"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M73.4999 40.2236C74.9709 38.2049 75.8108 35.5791 75.8108 32.2283C75.8108 29.2229 75.1351 26.6488 73.9344 24.5094C75.0258 20.7525 75.6838 15.8246 74.6116 14.2317C72.7989 11.5386 66.0832 13.5913 63.2681 17.211C61.5952 16.8452 59.8167 16.6619 57.973 16.6619C56.0795 16.6619 54.2549 16.8552 52.5427 17.2409C49.7416 13.6027 42.9938 11.5312 41.176 14.2317C40.0859 15.8512 40.7843 20.9182 41.9084 24.6968C41.003 26.3716 40.4146 28.3065 40.2129 30.5"></path>
                <path d="M82.9458 30.5471L76.8413 31.657"></path>
                <path d="M76.2867 34.4319L81.8362 37.7616"></path>
                <path d="M49.4995 27.8242V30.4999"></path>
                <path d="M67.3374 27.8242V30.4998"></path>
            </g>
            <g class="profile-color-modes-illu-frame">
                <path d="M40.6983 31.5C40.5387 29.6246 40.6456 28.0199 41.1762 27.2317C42.9939 24.5312 49.7417 26.6027 52.5428 30.2409C54.2551 29.8552 56.0796 29.6619 57.9731 29.6619C59.8169 29.6619 61.5953 29.8452 63.2682 30.211C66.0833 26.5913 72.799 24.5386 74.6117 27.2317C75.6839 28.8246 75.0259 33.7525 73.9345 37.5094C74.2013 37.9848 74.4422 38.4817 74.6555 39"></path>
            </g>
        </g>
    </svg>
    <span class="profile-color-modes-toggle js-promo-color-modes-toggle" role="checkbox"
          aria-checked="false" aria-label="Toggle dark mode" tabindex="0">
        <div class="profile-color-modes-toggle-track"></div>
        <div class="profile-color-modes-toggle-thumb js-promo-color-modes-thumb">
          <svg style="fill: #ffdf5d; margin: 7px 0 0 7px;" aria-hidden="true"
               width="14" height="13" viewBox="0 0 14 13" xmlns="http://www.w3.org/2000/svg">
            <path fill-rule="evenodd" clip-rule="evenodd"
                  d="M4.52208 7.71754C7.5782 7.71754 10.0557 5.24006 10.0557 2.18394C10.0557 1.93498 10.0392 1.68986 10.0074 1.44961C9.95801 1.07727 10.3495 0.771159 10.6474 0.99992C12.1153 2.12716 13.0615 3.89999 13.0615 5.89383C13.0615 9.29958 10.3006 12.0605 6.89485 12.0605C3.95334 12.0605 1.49286 10.001 0.876728 7.24527C0.794841 6.87902 1.23668 6.65289 1.55321 6.85451C2.41106 7.40095 3.4296 7.71754 4.52208 7.71754Z"></path>
          </svg>
        </div>
      </span>
</div>

css:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* 暗夜模式 */
// style
:root,[data-color-mode=light] {
    --color-text-primary: #24292e;
    --color-bg-canvas: #fff;
    --color-scale-gray-3: #d1d5da;
    --color-scale-purple-8: #3a1d6e;
    --color-scale-white: #fff;
    --color-scale-purple-9: #29134e;
    --color-scale-gray-8: #2f363d;
    --color-scale-purple-6: #5a32a3;
    --color-scale-yellow-4: #ffdf5d;
    --color-scale-yellow-0: #fffdef;
    --color-auto-gray-3: #d1d5da;
    --color-scale-red-5: #d73a49;
    --color-scale-orange-3: #ffab70;
    --color-scale-purple-5: #6f42c1;
    --color-scale-green-3: #85e89d;
    --color-scale-blue-4: #2188ff;
    --color-scale-gray-6: #586069;
}

[data-color-mode=dark] {
    --color-text-primary: #c9d1d9;
    --color-bg-canvas: #0d1117;
    --color-scale-gray-3: #8b949e;
    --color-scale-purple-8: #3c1e70;
    --color-scale-white: #f0f6fc;
    --color-scale-purple-9: #271052;
    --color-scale-gray-8: #161b22;
    --color-scale-purple-6: #6e40c9;
    --color-scale-yellow-4: #bb8009;
    --color-scale-yellow-0: #f8e3a1;
    --color-auto-gray-3: #30363d;
    --color-scale-red-5: #da3633;
    --color-scale-orange-3: #f0883e;
    --color-scale-purple-5: #8957e5;
    --color-scale-green-3: #3fb950;
    --color-scale-blue-4: #388bfd;
    --color-scale-gray-6: #30363d;
}

/* 暗夜模式 */
[data-color-mode] {
    color: var(--color-text-primary);
    background-color: var(--color-bg-canvas)
}

:root,[data-color-mode=light] {
    color-scheme: light
}

[data-color-mode=dark] {
    color-scheme: dark
}

// style end
:root,[data-color-mode=light] {
    --color-profile-color-modes-toggle-track-border:var(--color-scale-gray-3)}



[data-color-mode=dark] {
    --color-profile-color-modes-toggle-track-border:var(--color-scale-purple-8)}

:root,[data-color-mode=light] {
    --color-profile-color-modes-toggle-track-bg:var(--color-scale-white)}


[data-color-mode=dark] {
    --color-profile-color-modes-toggle-track-bg:var(--color-scale-purple-9)}



:root,[data-color-mode=light] {
    --color-profile-color-modes-toggle-thumb-bg:var(--color-scale-gray-8)}



[data-color-mode=dark] {
    --color-profile-color-modes-toggle-thumb-bg:var(--color-scale-purple-6)}


:root,[data-color-mode=light] {
    --color-profile-color-modes-toggle-moon:var(--color-scale-yellow-4)}


[data-color-mode=dark] {
    --color-profile-color-modes-toggle-moon:var(--color-scale-yellow-0)}



//color
.profile-color-modes {
    display: block;
    position: relative;
    padding-right: 32px
}

.profile-color-modes-toggle {
    position: absolute;
    top: 12px;
    right: 0
}

.profile-color-modes-toggle-track {
    width: 42px;
    height: 24px;
    border-radius: 24px;
    border: 3px solid var(--color-profile-color-modes-toggle-track-border);
    background-color: var(--color-profile-color-modes-toggle-track-bg)
}

.profile-color-modes-toggle-thumb {
    position: absolute;
    top: -2px;
    left: -2px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: var(--color-profile-color-modes-toggle-thumb-bg);
    transition: transform .3s cubic-bezier(.4,.03,0,1);
    cursor: pointer
}

[data-color-mode=dark] .profile-color-modes-toggle-thumb {
    transform: translateX(18px)
}


.profile-color-modes-popover {
    opacity: .01;
    transition: opacity .5s cubic-bezier(.4,.03,0,1)
}

.profile-color-modes-popover.shown {
    opacity: 1
}

.profile-color-modes-illu-group {
    stroke: var(--color-auto-gray-3)
}

.profile-color-modes-illu-frame {
    opacity: 0
}

:root .profile-color-modes-illu-frame:nth-child(8),[data-color-mode=light] .profile-color-modes-illu-frame:nth-child(8) {
    animation: profile-light-color-modes-illu-anim-frame-show 0s forwards,profile-light-color-modes-illu-anim-frame-hide 0s .3s forwards
}

:root .profile-color-modes-illu-frame:nth-child(9),[data-color-mode=light] .profile-color-modes-illu-frame:nth-child(9) {
    animation: profile-light-color-modes-illu-anim-frame-show 0s .3s forwards,profile-light-color-modes-illu-anim-frame-hide 0s .36s forwards
}

:root .profile-color-modes-illu-frame:nth-child(10),[data-color-mode=light] .profile-color-modes-illu-frame:nth-child(10) {
    animation: profile-light-color-modes-illu-anim-frame-show 0s .36s forwards
}

@keyframes profile-light-color-modes-illu-anim-frame-show {
    0% {
        opacity: 0;
        animation-timing-function: ease-out
    }

    to {
        opacity: 1
    }
}

@keyframes profile-light-color-modes-illu-anim-frame-hide {
    0% {
        opacity: 1;
        animation-timing-function: ease-in
    }

    to {
        opacity: 0
    }
}

[data-color-mode=dark] .profile-color-modes-illu-red {
    stroke: var(--color-scale-red-5)
}

[data-color-mode=dark] .profile-color-modes-illu-orange {
    stroke: var(--color-scale-orange-3)
}

[data-color-mode=dark] .profile-color-modes-illu-purple {
    stroke: var(--color-scale-purple-5)
}

[data-color-mode=dark] .profile-color-modes-illu-green {
    stroke: var(--color-scale-green-3)
}

[data-color-mode=dark] .profile-color-modes-illu-blue {
    stroke: var(--color-scale-blue-4)
}

[data-color-mode=dark] .profile-color-modes-illu-group {
    animation: profile-color-modes-illu-anim .2s cubic-bezier(.72,.08,1,.68) backwards
}

@keyframes profile-color-modes-illu-anim {
    0% {
        stroke: var(--color-scale-gray-6)
    }
}

[data-color-mode=dark] .profile-color-modes-illu-frame {
    animation: profile-color-modes-illu-anim-frame-show 0s forwards,profile-color-modes-illu-anim-frame-hide 0s forwards
}

[data-color-mode=dark] .profile-color-modes-illu-frame:first-child {
    opacity: 1;
    animation: profile-color-modes-illu-anim-frame-hide 0s forwards
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(8) {
    animation: profile-color-modes-illu-anim-frame-show 0s forwards
}

@keyframes profile-color-modes-illu-anim-frame-show {
    0% {
        opacity: 0;
        animation-timing-function: ease-out
    }

    to {
        opacity: 1
    }
}

@keyframes profile-color-modes-illu-anim-frame-hide {
    0% {
        opacity: 1;
        animation-timing-function: ease-in
    }

    to {
        opacity: 0
    }
}

[data-color-mode=dark] .profile-color-modes-illu-red {
    animation-delay: .4s;
    animation-duration: .1s
}

[data-color-mode=dark] .profile-color-modes-illu-orange {
    animation-delay: .5s;
    animation-duration: .1s
}

[data-color-mode=dark] .profile-color-modes-illu-purple {
    animation-delay: .6s;
    animation-duration: .1s
}

[data-color-mode=dark] .profile-color-modes-illu-blue {
    animation-delay: .7s;
    animation-duration: .1s
}

[data-color-mode=dark] .profile-color-modes-illu-green {
    animation-delay: .8s;
    animation-duration: .2s;
    animation-timing-function: cubic-bezier(.47,2.92,.84,-1.5)
}

[data-color-mode=dark] .profile-color-modes-illu-frame:first-child {
    animation-delay: 1.8s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(2) {
    animation-delay: 1.8s,2.58s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(3) {
    animation-delay: 2.58s,2.66s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(4) {
    animation-delay: 2.66s,2.78s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(5) {
    animation-delay: 2.78s,2.84s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(6) {
    animation-delay: 2.84s,3.44s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(7) {
    animation-delay: 3.44s,3.56s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(8) {
    animation-delay: 3.56s
}

[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(9),[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(10) {
    animation: none
}

/* 暗夜end */

切换控制是通过修改 html 根节点来控制的,因此需要修改 html 根节点代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html lang="en">
//改为:
<html lang="en" data-color-mode="light">

js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 切换按钮
function set_mode_toggle(e) {
    let t = !0, mode = "dark";
    "true" === e.getAttribute("aria-checked") && (t = !1 , mode = "light")
        e.setAttribute("aria-checked", String(t))
        change_mode(mode);
}
// 改变模式 并设置 cookie
function change_mode(e) {
    const t = document.querySelector("html[data-color-mode]");
    if (e === "dark") document.cookie = "night=1;path=/";
    else document.cookie = "night=0;path=/"
    t && t.setAttribute("data-color-mode", e)
}
// 获取当前模式
function get_user_scheme_mode() {
    const e = document.querySelector("html[data-color-mode]");
    if (!e)
        return;
    const t = e.getAttribute("data-color-mode");
    return "auto" === t ? function() {
        if (get_sys_scheme_mode("dark"))
            return "dark";
        if (get_sys_scheme_mode("light"))
            return "light";
    }() : t
}
// 获取系统模式 先判断 cookie 在获取系统的
function get_sys_scheme_mode(e) {
    let night = document.cookie.replace(/(?:(?:^|.*;\s*)night\s*\=\s*([^;]*).*$)|^.*$/, "$1")
    if (night){
        if(night === '0'){
            return false
        }else if(night === '1'){
            return true
        }
    }else
    return window.matchMedia && window.matchMedia(`(prefers-color-scheme: ${e})`).matches
}
!async function() {
    const e = document.querySelector(".js-promo-color-modes-toggle");
    if (e && "auto" === function() {
        const e = document.querySelector("html[data-color-mode]");
        if (!e)
            return;
        return e.getAttribute("data-color-mode")
    }()) {
        "dark" === get_user_scheme_mode() && e.setAttribute("aria-checked", "true")
    }
}()
!async function() {
    document.querySelector(".js-color-mode-settings") && window.history.replaceState({}, document.title, document.URL.split("?")[0])
}()
// 添加点击事件
let toggle_btn = document.getElementsByClassName("js-promo-color-modes-toggle")
toggle_btn[0]? toggle_btn[0].addEventListener('click',function (e) {
    set_mode_toggle(e.currentTarget)
},false):false

via: github 的黑夜模式小猫咪动画源码 - 即刻学术-学术论文写作-linux前后端开发-体系结构-存储架构-分布式-VPS https://ijkxs.com/archives/71.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
APK查壳软件(根据so名)
下载完成解压后,在 checkapp\dist 目录下启动 check.exe 文件.
李玺
2021/11/22
1.5K0
APK查壳软件(根据so名)
APP漏洞自动化扫描专业评测报告(上篇)
*本文原创作者:Sunnieli,本文属FreeBuf原创奖励计划,未经许可禁止转载 一、前言 随着Android操作系统的快速发展,运行于Android之上的APP如雨后春笋般涌现。由于一些APP的开发者只注重APP业务功能的实现,对APP可能出现安全问题不够重视,使得APP存在较多的安全隐患。 国内一些安全厂商为这些开发者提供了各种各样的安全服务,包括APP的加固、安全漏洞分析等。 目前在业界有很多自动化检测APP安全性的在线扫描平台。为了了解目前国内移动APP在线漏洞扫描平台的发展情况,我进行了一次移
FB客服
2018/02/08
3K0
android 壳特征
类加载技术: 针对apk中的classes.dex文件进行处理,放入待定的文件中,通过native代码来进行对其运行时解密。
tea9
2022/09/08
1.3K0
android 壳特征
app加固_360加固保手机版
答:因为黑客通过反编译APK得到源码后,会在应用中插入代码,获取利益,比如添加广告,盗取用户账号、密码,后台定制活动等。
全栈程序员站长
2022/09/20
6.4K0
APP漏洞自动化扫描专业评测报告(中篇)
*本文原创作者:Sunnieli,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 上一篇中通过对阿里聚安全[1]、360App漏洞扫描[2]、腾讯金刚审计系统[3]、百度移动云测试中心[4]以及AppRisk Scanner[5] 在收费情况、样本测试后的扫描时间对比和漏洞项专业对比后,本篇将以各个厂商的扫描能力作为分析维度展开。 测试方法 使用自己编写的测试APP测试各个扫描平台的扫描能力。这些扫描能力主要分为静态检测能力和动态检测能力。 静态检测能力包括检测隐藏dex、过程间分析、较复杂漏洞检
FB客服
2018/02/08
1.8K0
APP漏洞自动化扫描专业评测报告(中篇)
Android开发笔记(一百一十四)发布工具
因为app开发者常常需要统计app在不同渠道的使用量,所以app安装包就得按照不同的渠道号分别打包。至于为什么要进行使用量的统计,可参见《Android开发笔记(一百零七)统计分析SDK》,现在我们以友盟统计为例,演示一下如何在Eclipse环境实现多渠道打包的功能。 代码工程导入了友盟统计分析的sdk后,还需在AndroidManifest.xml中定义当前发布包的渠道号,如下所示:
aqi00
2019/01/18
1.1K0
中小企业网络安全建设指引(2017-02-14)
如培训现场所言,企业的网络安全是一个体系,方方面面都做的话是一个大工程,即使只是网络安全一个分支也需要较长时间建设,所以在早期需要解决当前主要矛盾(即“止血”,在关键位置先控制住大部分风险)。基于我们几个人过往的从业经验,我们建议各位在以下几个关键位置做好控制,则可以达到事半功倍立竿见影的效果:
网络安全观
2021/02/25
1.1K0
中小企业网络安全建设指引(2017-02-14)
腾讯云乐固获“最佳贡献企业”奖 助力应用安全发展
11月16日,首届安卓绿色联盟开发者大会在北京举办。来自腾讯、华为、阿里巴巴、百度等国内各大知名企业的20多位技术大咖,围绕高效应用开发、应用创新体验、自动化测试三大议题方向,与千名开发者展开了深度技术分享。 此外,本次大会还对互联网新形势下的移动应用安全防护产品进行表彰,腾讯云乐固凭借着稳定、强力的性能,荣获主办方颁发的“最佳贡献企业奖”。 应用黑产损害开发者利益   乐固提供一站式移动安全解决方案 近年来,暗扣费黑产、恶意移动广告黑产、手机应用分发黑产、APP推广刷量等一系列移动端互联网黑产活动迅
腾讯云安全
2018/11/23
16K1
腾讯云乐固获“最佳贡献企业”奖 助力应用安全发展
国内网络安全厂商清单
国内哪些公司在做企业版安全产品开发? 问题太大了,做企业版安全产品的N多,有硬件设备、有软件、也有做SAAS在线服务的。
全栈工程师修炼指南
2022/09/28
6.8K0
android 常用加密,分享一下Android各种类型的加密
几维安全com.Kiwisec.KiwiSecApplication或者com.Kiwisec.ProxyApplication或者干脆没有application
全栈程序员站长
2022/08/29
8040
【腾讯云的1001种玩法】安卓加固在腾讯云上的使用(附反编译结果)
蔡鹏
2017/03/06
6.6K0
【腾讯云的1001种玩法】安卓加固在腾讯云上的使用(附反编译结果)
腾讯云乐固成为首批通过「移动信息化可信选型」认证的安全加固服务
10月27日,由工业和信息化部指导,中国信息通信研究院主办,移动智能终端技术创新与产业联盟承办的「2016移动智能终端峰会」在京隆重召开, 会上发布了「移动信息化可信选型」测试结果,并对通过厂商进行了
腾讯云安全
2018/06/12
5.3K1
反编译完这些 app ,到底谁的安全等级更能打?
链接:https://www.jianshu.com/p/052ce81ac953
陈宇明
2020/12/16
8890
反编译完这些 app ,到底谁的安全等级更能打?
APP加固方案需稳定与安全并重
很多开发者没有意识到APP的安全隐患可能会严重损害他们的利益,加固可以帮助他们规避很多风险;
腾讯云@移动安全
2018/10/26
10.2K1
APP加固方案需稳定与安全并重
徐东山:腾讯云安全的使命和技术实现
腾讯云开发者社区
2017/05/18
3.7K0
徐东山:腾讯云安全的使命和技术实现
摩西分海:腾讯云乐固的破局之路
圣经《出埃及记》记载了一个很有名的传奇故事:摩西分海。犹太人的领袖摩西率领族人逃出埃及时来到红海边,前有巨浪,后有追兵,他举起手杖将海水分开,率领族人穿过红海抵达彼岸。 多年后的互联网化语境给“红海”赋予了新的意义:它成为了竞争白热化的市场的代名词。各方势力已经将海域瓜分完毕,若有新人下场搏杀,必然招招见红。 “以前看电影,觉得摩西分红海太难了。要从满满的海水中硬生生开出一条路。”腾讯云乐固产品负责人李京涛说,“没想到做‘乐固’,真就碰上了红的不能再红的红海市场。这次轮到我们来做摩西了。” 入局之初 °
腾讯云安全
2019/05/16
5.1K1
摩西分海:腾讯云乐固的破局之路
什么是App加壳,以及App加壳的利与弊
什么是App加壳,以及App加壳的利与弊 目前针对移动应用市场上安卓APP被破解、反编译、盗版丛生的现象,很多APP开发人员已经意识到保护APP的重要性。而对于移动应用APP加密保护的问题,如何对D
非著名程序员
2018/02/02
4.2K0
什么是App加壳,以及App加壳的利与弊
CTF逆向指南
在CTF比赛中, CTF逆向题目除了需要分析程序工作原理, 还要根据分析结果进一步求出FLAG。逆向在解题赛制中单独占一类题型, 同时也是PWN题的前置技能。在攻防赛制中常与PWN题结合。CTF逆向主要涉及到逆向分析和破解技巧,这也要求有较强的反汇编、反编译、加解密的功底。
小道安全
2021/09/24
2.1K0
CTF逆向指南
百度收购91后:五大玩家不爽指数解读
关于百度19亿美元收购91无线的分析已经汗牛充栋。在事件热度仍未消退之时,笔者凑凑热闹,分析一下“中国最大互联网并购案”带来的一些连锁反应。这一并购案涉及到中国BAT互联网三巨头、3SB大战中的360和搜狗,也涉及到昔日与百度传过“绯闻”的UC浏览器。在中国几大互联网公司中,就网易最没有参与感了。 一、阿里巴巴:爽不到哪里去 阿里在这一并购中一直担当积极的的抬价手。如果不是其强势参与,91不会获得这么高的溢价,让百度感受到了“竞价排名”的苦楚。不过阿里并不是本次并购的“托”,其自身也强烈渴望91。 一是因为
罗超频道
2018/04/25
1.6K0
iOS加固原理与常见措施:保护移动应用程序安全的利器
随着移动应用的普及和用户对数据安全的关注度提高,iOS加固成为了很多开发者和企业的必备工具。那么,iOS加固是如何保护应用程序的安全性的呢? iOS加固是指对OS应用程序进行一系列的安全措施,以提高其抗逆向工程、反编译和破解的能力。下面将介绍iOS加固的原理和常见的加固措施。
iOS Magician
2023/11/09
5800
iOS加固原理与常见措施:保护移动应用程序安全的利器
推荐阅读
相关推荐
APK查壳软件(根据so名)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档