h_nosonの日記

競プロ、CTFなど

pwn challenges list easy writeup その3

前回 h-noson.hatenablog.jp [CodeGate 2013] Vuln500 ELF 32-bit、動的リンク、NX有効。 % file kpop_music kpop_music: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2…

pwn challenges list easy writeup その2

前回 h-noson.hatenablog.jp [29c3 CTF 2012] Exploitation - ru1337 ELF 32-bit、動的リンク、NX有効。 % file ru1337 ru1337: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/L…

MeePwn CTF 1st 2017 old school, bs Writeup

ctf

shpxで参加してました。 pwn2問解いて201点、108位。 Writeup The Biginning (Misc 1) MeePwnCTF{HellO_WorLd!} old school (Pwnable 100) ELF 64-bit、動的リンク、SSPとNX有効 % file oldschool_27e20fd0de79d5d1a69f957120c370ed oldschool_27e20fd0de79d…

SECUINSIDE CTF 2017 Writeup

ctf

wwogtechで出てました。 389点取って54位。 Writeup SANITY CHECK [MISC 30] SECU[THIS_IS_FLAG] CAT CARRIER [MISC 30] 何か問題が起きたらしい SECU[____MEOW_____MEOW____] OHCE [PWNABLE 133] ELF 64-bit、静的リンク、NX有効 % file ohce ohce: ELF 64-…

Trend Micro CTF 2017 Forensic 200 Writeup

ctf

メモリフォレンジックの問題 まずvolatilityで情報をいろいろ見てみる % volatility -f VictimMemory.img imageinfo Volatility Foundation Volatility Framework 2.5 INFO : volatility.debug : Determining profile based on KDBG search... Suggested Pro…

pwn challenges list easy writeup その1

ctf

pwn challenges list easyのWriteup babyのWriteupをさぼってしまったのでeasyでは少しずつ書いていこうと思います。 使っているライブラリは github.com にあります。 Writeup [PoliCTF 2012] Bin-Pwn 300 ELF 32-bit、動的リンク、NX有効。 % file chal ch…

WhiteHat Summer Contest 2017 Writeup

ctf

shpxで参加してました。 結果はpwnを2問解いて76位。 Writeup Da Lat city (Pwnable 100) ELF 32-bit、動的リンク、canaryとNX有効。 % file cheatme cheatme: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter …

RCTF 2017 Writeup

ctf

ogteckで参加していました。 後輩と参加してましたが結局解いたのは自分だけでした。 Misc1問、Pwn2問解いて752点、86位。 PwnのRecho、RCalc、RNoteは個人的に面白かったです(RNoteは解けてないが)。 解いたチーム数によって点数が変わるシステムもよかっ…

angstromctf 2017 Writeup

ctf

angstromCTF チームで参加しました。 Crypto1問、Binary4問解いて470点。チーム全体で780点取り15位でした。 他のメンバーのWriteup Writeup Running in Circles (Binary 50) このCTFのBinaryはすべてソースコードも渡された。 ソースコードを見てみるとシェ…

ASIS CTF Quals 2017 Writeup

ctf

https://asis-ctf.ir/challenges/ 今回は一人で参加しました。 7問解き、763点で65位でした。 初めてpwnをコンテスト中に解いたので満足。 Writeup Welcome! (Trivia 1), CTF Survey (Trivia 9) サービス問題 Start (Warm-up, Pwning 89) こちらの資料がとて…

VolgaCTF 2017 Quals write up

ctf

shpxというチームを組ませていただいてから初めてのCTF。 700点を取り、117位という結果で終わりました。 個人では150+50+200(共同)点。全体的に全然わからなかったので精進が必要です。 Write up VC A.pngとB.pngを重ねたら文字が見えたのでそれを読むだけ…

CTF for ビギナーズ Writeup & 参加記

ctf

CTF for ビギナーズに参加してきました。 解けない問題も多かったのですが運よく優勝しました。CTF for ビギナーズ 優勝しました pic.twitter.com/qjBqFGauV8— h_noson (@h_noson) January 29, 2017 Tシャツと本をいただきました。感謝 Writeup Misc 100 Wel…

Amazon Dash ButtonでAC数をカウントする

巷で流行りのAmazon Dash Buttonで何かしようということで,競プロのAC数を数えてみたいと思います. 環境 Amazon Dash Button Python 2.7.13(scapy,requests_oauthlib) ボタンが押されたことを検知 ボタンが押されたことを検知できないと何も始まらないので…

yukicoder No.429 CupShuffle

問題 No.429 CupShuffle - yukicoder N個のコップについて交換の仕方・最終配置が与えられる.ただし,X回目の交換の仕方の情報が抜けている.どのコップを交換したかを求める問題. 解法 解説を見るとX-1回目までswapを行い,一方K回目からX+1回目まで逆順…

CODE FESTIVAL 2016 qual B E - Lexicographical disorder

問題 E: Lexicographical disorder - CODE FESTIVAL 2016 qual B | AtCoder N個の文字列Siが与えられる.以下のクエリにQ回答える問題 整数kと{'a',...,'z'}を並び替えたp1,...,p26が与えられる.文字の順序がp1&ltp2<...&ltp26の時SkはN個の文字列の中で何…

yukicoder No.416 旅行会社

問題 No.416 旅行会社 - yukicoder N個の点とM本の辺が与えられ,CiとDiの間の辺を壊すというクエリがQ個与えられる.それぞれの点は何回目のクエリで点1から到達できなくなるか答える問題. 解法 辺を繋いで(この問題では壊して)ある点から到達できるかを…

Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset

問題 Problem - D - Codeforces 3つのクエリに答える. 1. xをmultiset Aに加える 2. xをmultiset Aから取り除く 3. を出力する 解法1 c++のmultisetを使って二分探索をする. xorをとった値が大きくなるように上位のbitから0か1か決めていけばいい.xを反転…

Codeforces Round #365 (Div. 2) C. Chris and Road

問題 Problem - C - Codeforces N角形のバスがやってくる.幅Wの道路をバスにぶつからずに渡るとき,最短の渡る時間を求める問題 解法 バスを固定すると人が右上に向かって移動することと等しくなる.もしぶつからずにそのまま行けるのであればそのまま行く…

AtCoder Grand Contest 002 D - Stamp Rally

問題 D: Stamp Rally - AtCoder Grand Contest 002 | AtCoder N頂点,M辺からなるグラフがあり,Q組の兄弟がスタンプラリーを行う.i番目の兄弟はそれぞれXi,Yiにいて合わせてZiのスタンプを集めたいと思っている.通ることになる辺の最大の番号を最小にす…

天下一プログラマーコンテスト2016予選A C

トポロジカルソートを初めて書いた気がするので記事に残そうと思う 問題 C: 山田山本問題 - 天下一プログラマーコンテスト2016予選A | AtCoder 文字列Ai,BiがN個ずつ与えられる.Ai 解法 トポロジカルソートを使う.AiとBiを左の文字から比較して初めて異な…

Codeforces Round #363 (Div. 2) E. LRU

問題 Problem - E - Codeforces N個のデータと容量Kのキャッシュがある.キャッシュのアルゴリズムにLRUが使われていて,無限のクエリが飛んできたとき,最後のキャッシュの状態にそれぞれのデータが含まれる確率はいくつか. 解法 簡単に言うと,キャッシュ…

yukicoder No.23 技の選択

問題 No.23 技の選択 - yukicoder 体力がの敵を 攻撃力の通常攻撃(必ず当たる) 攻撃力の必殺技(2/3の確率で当たる) の二つの攻撃を使って倒したい.最小の攻撃回数の期待値はいくつか. 解法 解説を見たら全部DPで解いていたが,通常攻撃の使う回数でル…

CodeChef July Challenge 2016 Chef and Rectangle Array

問題 https://www.codechef.com/problems/CHSQARR の行列が与えられる.個のクエリに対して以下の操作を行う. が与えられての範囲の数がすべて等しくなるように行列の要素の数字を増やすとき,増やす数の最小値を出力する 解法 範囲の和と範囲の最大値を使…

yukicoder No.103 素因数ゲーム リターンズ

問題 No.103 素因数ゲーム リターンズ - yukicoder 個の整数が与えられる. 一度の操作で任意の整数をその素因数で割ることができる.同じ素因数ならば2回まで同時に割れる. AliceとBobが交互に操作を行うとき,すべての整数をにできるのはどちらか.解法 …

Codeforces Round #355 (Div. 2) D. Vanya and Treasure

問題 Problem - D - Codeforces の部屋があり,それぞれ宝箱が置いてある.タイプの宝箱にはタイプの宝箱を開ける鍵が入っている.タイプの宝箱を開けるまでに移動する最小距離はいくつか.解法 単純にタイプごとにダイクストラを行っていたら間に合わない.…

yukicoder No.318 学学学学学

問題 No.318 学学学学学 - yukicoder 数列が与えられる.からについて順番に,同じ数で挟まれた数をで置き換える.書き換えられた後の数列を出力する問題.解法 双方向リストを使う.大きい数から順番に以下の操作を行う. 一番左のが,一番右のがとすると,…

vimでテンプレート読み込み

vim

テンプレートの読み込みはcppの場合、 autocmd BufNewFile *.cpp 0read $VIM/template/template.cpp とするのが普通だと思う。 しかしこの方法では、touchや>で作ったファイルやwindowsの新規作成で作ったファイルなどを編集する時に読み込みがされない。そ…

Codeforces Round #353 (Div. 2) C. Money Transfers

問題 Problem - C - Codeforces 行の銀行が円周上に並んでいる.隣の銀行に送金することが可能になっている.Aさんがそれぞれの銀行に口座を持っていて,お金を預けている(または借りている).預けているお金を隣の銀行に送金することを繰り返し,すべての…

Codeforces Round #352 (Div. 2) B. Different is Good

問題 Problem - B - Codeforces 文字列が与えられる.どの部分列をとっても同じ文字列が現れないように与えられた文字列を書き換えるとき,書き換える最小の文字数は幾つか.解法 部分列は1文字だけ考えればよい.つまり,すべて違う文字になるように書き換…

Codeforces Round #352 (Div. 2) A. Summer Camp

問題 Problem - A - Codeforces 123456789101112...といったように数字を1から並べた列がある.番目にくる数字は幾つか.解法 1から順に数字をstringに積んでいき,番目にきた数字を出力する.ソースコード #include <iostream> #include <vector> #include <algorithm> using namespace s</algorithm></vector></iostream>…