Skip to content

Instantly share code, notes, and snippets.

View st98's full-sized avatar

st98 st98

View GitHub Profile
@st98
st98 / unsafe.cs
Created April 18, 2014 15:51
unsafe を試してみたかったので。
class Unsafe
{
static unsafe void Main()
{
int a = 100;
int *p = &a;
*p = 200;
System.Console.WriteLine("{0}", a);
@st98
st98 / Array#toString.js
Last active August 29, 2015 14:00
Array#toString を少し見やすく。ただしコードは醜い。
Object.defineProperty(Array.prototype, 'toString', {
value: (function () {
var start = '[';
var end = ']';
var delimiter = ', '
function toString() {
var index = 0;
var len = this.length;
var result = '';
@st98
st98 / divmod.js
Created April 27, 2014 09:28
冪剰余。
var divmod = function (base, exp, mod) {
var result = 1;
while (exp > 0) {
if ((exp & 1) === 1) {
result = result * base % mod;
}
exp >>= 1;
var obj = Object.create(Object.prototype, {
prop: { set: undefined }
});
console.log(obj.prop); // => undefined
obj.prop = 5;
console.log(obj.prop); // => undefined
@st98
st98 / example.js
Last active August 29, 2015 14:00
部分適用?
var add = function (x, y) {
return x + y;
};
var add5 = partial(add, 5);
add5(10); // => 15
// 素直に Function#bind を使いましょう
var add5 = add.bind(null, 5);
add5(10); // => 15
@st98
st98 / va.c
Created April 28, 2014 18:31
可変長引数で遊んでみるテスト。
#include <stdio.h>
#include <stdarg.h>
int sum(int n, ...) {
int i;
int result = 0;
va_list args;
va_start(args, n);
@st98
st98 / gist:befafe90ce39a27cf0f9
Last active August 29, 2015 14:00
'ABCD' から [(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')] を作りたい。
s = 'ABCD'
# 1
i = 0
result = []
while True:
if i >= len(s):
break
result.append((i, s[i]))
@st98
st98 / return-0.c
Last active August 29, 2015 14:00
char main[] = { 0x31, 0xc0, 0xc3 };
@st98
st98 / tkbctf3.md
Last active August 29, 2015 14:01
#tkbctf3 の write-up。(移動しました -> http://st98.github.io/diary/posts/2014-05-06-tkbctf3.html)

#tkbctf3

チーム nyoronyoro として参加した。最終的に獲得できたポイントは 650 点でチーム順位は 14 位だった。
Our Future (Network 100), Real World TeX (Misc 100), The Deal (Crypto 200), miocat(Web 250) の 4 問を解いた。

解けた問題

Our Future (Network 100)

普通に future.tkbctf.info にアクセスすると Nope, this is not what you're looking for. Try another way! と表示される。

another way って何だろうと思いながら nslookup future.tkbctf.info すると、IPv6 のアドレスが出てきた。
IPv6 でアクセスしろということなのかと考えて、IPv6 Proxy を通して future.tkbctf.info を閲覧。

@st98
st98 / gomi.js
Last active August 29, 2015 14:01
f([1, 2, 3, 4, 2, 3]); == 'ABCDBC'
function f(ary) {
var i, n, s, r, m;
s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
r = '';
m = {};
for (i = n = 0; i < ary.length; i++) {
if (m[ary[i]] == null) {
m[ary[i]] = s[n++];