Skip to content

Instantly share code, notes, and snippets.

View FlandreDaisuki's full-sized avatar
🌈
世界にバグは不要です

Chun-Hao Lien FlandreDaisuki

🌈
世界にバグは不要です
View GitHub Profile

WannaCry|WannaDecrypt0r NSA-Cyberweapon-Powered Ransomware Worm

  • Virus Name: WannaCrypt, WannaCry, WanaCrypt0r, WCrypt, WCRY
  • Vector: All Windows versions before Windows 10 are vulnerable if not patched for MS-17-010. It uses EternalBlue MS17-010 to propagate.
  • Ransom: between $300 to $600. There is code to 'rm' (delete) files in the virus. Seems to reset if the virus crashes.
  • Backdooring: The worm loops through every RDP session on a system to run the ransomware as that user. It also installs the DOUBLEPULSAR backdoor. It corrupts shadow volumes to make recovery harder. (source: malwarebytes)
  • Kill switch: If the website www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com is up the virus exits instead of infecting the host. (source: malwarebytes). This domain has been sinkholed, stopping the spread of the worm. Will not work if proxied (source).

update: A minor variant of the viru

@joshbuchea
joshbuchea / semantic-commit-messages.md
Last active August 29, 2025 20:42
Semantic Commit Messages

Semantic Commit Messages

See how a minor change to your commit message style can make you a better programmer.

Format: <type>(<scope>): <subject>

<scope> is optional

Example

@OliverJAsh
OliverJAsh / foo.ts
Last active January 27, 2025 18:24
Records and dictionaries in TypeScript
/*
In JavaScript, objects can be used to serve various purposes.
To maximise our usage of the type system, we should assign different types to our objects depending
on the desired purpose.
In this blog post I will clarify two common purposes for objects known as records and dictionaries
(aka maps), and how they can both be used with regards to the type system.
@sebmarkbage
sebmarkbage / Infrastructure.js
Last active February 26, 2025 13:57
SynchronousAsync.js
let cache = new Map();
let pending = new Map();
function fetchTextSync(url) {
if (cache.has(url)) {
return cache.get(url);
}
if (pending.has(url)) {
throw pending.get(url);
}
@dannvix
dannvix / NetflixSmallerSubtitles.js
Created February 4, 2018 09:06
Make the SVG-based subtitles smaller on Netflix web player
// Only applied for "image-based timed text" (i.e. SVG-based, like Chinese, Japanese, ...)
// For DFXP-based subtitles (e.g., English), try the hidden settings: https://www.netflix.com/SubtitlePreferences
(() => {
const installScaler = () => {
const subRectElem = document.querySelector('rect.image-based-subtitles-rect');
if (subRectElem) {
const subWrapperElem = subRectElem.parentNode;
const MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
const config = {attributes: true, childList: true, characterData: true, };
@bijij
bijij / viewimage.user.js
Last active August 26, 2025 17:15
Userscript version of the View Image chrome extension
// ==UserScript==
// @name View Image
// @namespace https://github.com/bijij/ViewImage
// @version 4.1.1
// @description This userscript re-implements the "View Image" and "Search by image" buttons into google images.
// @author Joshua B
// @run-at document-end
// @include http*://*.google.tld/search*tbm=isch*
// @include http*://*.google.tld/imgres*
// @updateURL https://gist.githubusercontent.com/bijij/58cc8cfc859331e4cf80210528a7b255/raw/viewimage.user.js
@x43x61x69
x43x61x69 / README
Last active March 24, 2018 16:25
Starbucks (Taiwan) Email Validation RFC 2822 Compliant Fix
// Copyright (C) 2017 Zhi-Wei Cai.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
#include <stdio.h>
#include <stdlib.h>
#include <printf.h>
struct widget {
size_t length;
size_t width;
};
@x43x61x69
x43x61x69 / .bash_profile
Last active May 21, 2018 10:14
Check SSL Certificate Info via Linux/macOS Command Line
# You can place this into '.bash_profile' to make it more accessible.
# sslstatus google.com:443
sslstatus()
{
echo
a=(${1//:/ })
PORT=443
if [ "${#a[@]}" -ne 2 ]; then
@mmis1000
mmis1000 / AbortablePromise.ts
Last active March 18, 2020 04:50
Abortable promise
import AbortController from "abort-controller"
import { AbortSignal } from "abort-controller"
import { AbortablePromise } from "."
var controller = new AbortController()
function sleep (signal: AbortSignal, time: number) {
return AbortablePromise(signal, function (resolve, reject, handleCancel) {
var id = setTimeout(resolve, time)
handleCancel(() => {