Skip to content

Instantly share code, notes, and snippets.

View st98's full-sized avatar

st98 st98

View GitHub Profile
window.addEventListener('load', function main() {
var plaintext, ciphertext, range;
function crypt(str, n) {
var i, c, result = '';
for (i = 0; i < str.length; i++) {
c = str.charCodeAt(i);
result += String.fromCharCode(
c >= 0x41 & c < 0x41 + 26 ? (c - 0x41 + n) % 26 + 0x41 :
@st98
st98 / g.py
Last active August 29, 2015 14:06
getopt。
import getopt
import sys
def usage(filename):
print('usage: python {} [-h | --help]'.format(filename))
def main(filename, *argv):
opts, args = getopt.getopt(argv, 'h', 'help')
for opt, arg in opts:
@st98
st98 / slice.c
Created September 19, 2014 09:20
#include <stdio.h>
int main(void) {
char s[101] = "hoge";
puts(s + 2); // => ge
return 0;
}
@st98
st98 / freq.js
Last active August 29, 2015 14:06
freq.js
function freq(s) {
var r = {}, i, k, c;
for (i = 0; i < s.length; i++) {
c = s.charAt(i);
if (!(c in r)) {
r[c] = 0;
}
@st98
st98 / m.bat
Last active August 29, 2015 14:08
雑、grep でいける。
:: $ m \d+ -s ho12ge34
:: 12
:: 34
::
:: $ echo ho12ge34 | grep -o [0-9]\\+ -
:: 12
:: 34
::
@echo off
python -c "import re, sys;print('usage: m pattern file\n m pattern -s string' if '-h' in sys.argv or len(sys.argv) <= 2 else '\n'.join(re.findall(sys.argv[1],sys.argv[sys.argv.index('-s') + 1] if '-s' in sys.argv[2:] else open(sys.argv[2], 'r', encoding='utf-8').read())))" %*
@st98
st98 / tkbctf4.md
Last active August 29, 2015 14:08
#tkbctf4 の write-up。 (移動しました -> https://st98.github.io/diary/posts/2014-11-03-tkbctf4.html)

#tkbctf4

チーム omakase として参加した。最終的に獲得できたポイントは 626 点でチーム順位は 13 位だった。
rand (javascript 200), args (javascript 200), gradius (binary 100), monochrome bar (steganography 100) の 4 問を解いた。
rand は 3 番目に正解したので 6 点、args は最初に正解したので 20 点のボーナスポイントがあった。

解けた問題

rand (javascript 200)

  • まずグローバルオブジェクトのプロパティを確認する。
Object.keys(this) // =&gt; ["print", "quit", "version", "arguments", "g"]
@st98
st98 / applet-GetFonts.java
Last active August 29, 2015 14:09
getFonts, Flash で実装しているのを見て Java アプレットでもやってみたいなーと思った。
// applet/GetFonts.java
package applet;
import java.applet.Applet;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
public class GetFonts extends Applet {
public String s = "getFonts";
public String getFonts() {
@st98
st98 / no-click.js
Last active August 29, 2015 14:10
クリック禁止です!
// Array.from($$('*')).forEach(...);
[].forEach.call($$('*'), function(e) {
e.addEventListener('click', function(e) {
alert('クリック禁止です!');
e.preventDefault();
e.stopPropagation();
},false);
});
@st98
st98 / memo.md
Last active June 4, 2022 04:37
Advent Calendar CTF 2014 の write-up。ブログに移動しました -> https://st98.github.io/diary/posts/2014-12-26-adctf.html

Advent Calendar CTF 2014

ぼっチーム omakase として参加した。最終的に獲得できたポイントは 173 点でチーム順位は 24 位 (505 チーム中) だった。
1 ~ 14 日目、21 ~ 22 日目、25 日目の問題を解いた。

1 日目 warmup (misc)

'0x41444354465f57334c43304d335f37305f414443374632303134'.match(/[0-9a-f]{2}/g).map(function(c){return String.fromCharCode(parseInt(c, 16))}).join('');
flag: ADCTF_W3LC0M3_70_ADC7F2014
@st98
st98 / s.js
Created December 4, 2014 19:01
seccon ranking
document.getElementById('ranking_table').children.length;