Skip to content

Instantly share code, notes, and snippets.

View duangsuse's full-sized avatar
👨‍💻
Leaning at school

duangsuse duangsuse

👨‍💻
Leaning at school
View GitHub Profile
@duangsuse
duangsuse / 前浪.txt
Last active May 4, 2020 13:32
《前浪》——献给老一代的演讲 (原bilibili,字幕)
那些口口声声“前浪死在沙滩上”的人
应该看看你们
就像我一样
我看着你们
满怀羡慕
新中国成立以来最开放的时代
全球的知识、观点、科技和艺术
像是仅仅只为你们准备的礼物
改革开放、拥抱世界、闷声发大财
地球村的美好乌托邦被逐步构建
@duangsuse
duangsuse / Dazibao.txt
Last active April 30, 2020 06:06
表-疫情大字报
霸权威胁--暂停资助世卫组织
认为世卫组织应当听其指挥--
支持捐助--在前期向世卫组织捐款
2000万美元现汇的基础上
增加3000万美元现汇捐款
==
合理惩罚--在维尼快乐组织(WHO)
前期错误判断的基础上
暂停资助并调查世卫组织,
合理冻结4亿美元的捐款
@duangsuse
duangsuse / CustomBaseNumber.kt
Last active February 13, 2020 04:23 — forked from CattenLinger/CustomBaseNumber.kt
CustomBaseNumberKt
import kotlin.math.abs
private val max = CustomBase.from(Long.MAX_VALUE)
private val maxLength = max.length
object CustomBase {
val radix = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toList().toCharArray()
val base = radix.size.toLong()
fun from(long: Long): String {
@duangsuse
duangsuse / numpreety.ts
Created November 11, 2019 09:38
https://t.me/dsuse/11648 Draft typescript library
//export { fst, snd, identity };
//export { show, read };
const
fst = <T0, T1> (xs: [T0, T1]) => xs[0],
snd = <T0, T1> (xs: [T0, T1]) => xs[1],
identity = <T> (x: T) => x;
class Stream<T> {
seq: ArrayLike<T>; position: number
@duangsuse
duangsuse / Essay-Android-AsynchronousTaskAbstractoin.kt
Last active May 26, 2019 04:21
Essay: Android cancellable asynchronous task API abstractoin in Kotlin
package org.duangsuse.essay.android.Async
import android.os.AsyncTask
/**
* Job to be executed in worker thread, returning result with type `R`
*/
@FunctionalInterface
interface BackgroundJob<out R> {
/**
@duangsuse
duangsuse / StupidReader.hs
Created May 19, 2019 08:58
Stupid Reader Monad Instance
{-# LANGUAGE ApplicativeDo #-}
newtype Reader t a = Reader { runReader :: t -> a }
instance Functor (Reader t) where
fmap f (Reader g) = Reader (\x -> f (g x))
instance Applicative (Reader t) where
pure = return
Reader f <*> Reader g = Reader $ \x -> (f x) (g x)
@duangsuse
duangsuse / Json.hs
Created April 29, 2019 16:08
Json emitter in Haskell
-- | Naive JSON Emitter
module Json where
import Data.Map as Map
import Data.Char as Char
import Text.Printf
type NumJ = Double
-- | Simple parser combinator
-- |
-- | copied from: https://ice1000.org/2017/07/26/HaskellParsers/
-- |
-- | Exposes
-- | Parser, satisfy, charItem, runParser, parse, chainl1, chainr1
module SimpleParserc
(Parser, runParser, parse, charItem, satisfy, chainl1, chainr1,
may, mayDefault, charP, elemP, stringP, tokenP, kwP, ws, ws0, binOp) where
@duangsuse
duangsuse / LaTeXPrimer.pdf
Last active March 9, 2019 19:23
XeLaTeX 2 Primer - by example
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@duangsuse
duangsuse / r2-debug-data.md
Created December 23, 2018 09:03
Radare 2 动态调试基本使用和基本 x86_64 汇编教程

Radare 2 动态调试 - 数据修改简易入门示范

以下部分内容直接从 Telegram 频道 duangsuse::Echo 拷贝,许可 CC-BY

PART 0x00 认识 Radare 2 逆向工程/取证框架

Radare 2 是著名的开源跨平台逆向分析框架,能够读取多种文件格式、支持很多动态分析调试器、有很多种前端(诸如基于 QtCutter)可以使用,也可以远程调试,支持插件并且 CLI 非常方便,能够进行许多厉害的静态分析。

Radare 2 堪比商业软件 IDA,R2 工程组里是有前端的,只不过他们比较喜欢推广 CLI Shell 而已,有些人可能认为 R2 没有前端只能用 CLI,实际上 R2 的 HTML 前端是非常友好的,也非常适合进行远程调试 这里 R2 在开源系逆向工程工具里的地位就好像类似于 KODI 在 Home Theater 软件里的地位了,自由软件一家独大