センスがないブログ

趣味の話とかいろいろ

プライバシーポリシー

当サイトでは、ユーザ様からお預かりする個人情報の重要性を強く認識し、個人情報の保護に関する法律、その他の関係法令を遵守すると共に、以下に定めるプライバシーポリシーに従って、個人情報を安全かつ適切に取り扱うことを宣言いたします。

個人情報の定義

本プライバシーポリシーにおいて、個人情報とは生存する個人に関する情報であって、氏名、生年月日、住所、電話番号、メールアドレス等、特定の個人を識別することができるものをいいます。

個人情報の管理

ユーザ様からお預かりした個人情報は、不正アクセス、紛失、漏えい等が起こらないよう、慎重かつ適切に管理します。

個人情報の利用目的

当サイトでは、ユーザ様からのお問い合わせやサービスへのお申し込み等を通じて、お客様の氏名、生年月日、住所、電話番号、メールアドレス等の個人情報をご提供いただく場合があります。その場合は、以下に示す利用目的のために、適正に利用するものと致します。

  • ユーザ様からのお問い合わせ等に対応するため。
  • 当サイトのサービス向上・改善、新サービスを検討するための分析等を行うため。
  • 個人を識別できない形で統計データを作成し、当サイトおよびユーザ様の参考資料とするため。

個人情報の第三者提供

ユーザ様からお預かりした個人情報を、個人情報保護法その他の法令に基づき開示が認められる場合を除き、ご本人様の同意を得ずに第三者に提供することはありません。

個人情報の開示・訂正・削除について

ユーザ様からお預かりした個人情報の開示・訂正・削除をご希望の場合は、ご本人様よりお申し出ください。適切な本人確認を行った後、速やかに対応させていただきます。

InterKosenCTFのWriteUpをすこし

チーム:074m4K053nのN0n5enseで出てました

f:id:NonSense:20190120222114p:plain

弱い(確信)

チームとしては全体10位で高専チームで3位でした。

Cryptoが強い先輩がいて、夜寝て朝起きたらCrypto全部解かれてたときはビビりました。

 

とりあえずでWriteUp的なものを書いて置こうと思います。

 

 [Cheat 100] lights out

うさみみとかねこまんまでメモリ見てフラグ形式で検索

f:id:NonSense:20190120223330p:plain

[Cheat 250] anti cheat

chromeデベロッパツールで難読化解除するなりして、読む気を起こさせてから、SCOREを表示してるところを検索かけると、_e3._r3にスコアが入ってるんじゃないかと思って、watchしてゲームしてると確からしいので、それでまた検索。

f:id:NonSense:20190120223643p:plain

_e3._r3が使われているところをみると、インクリメントしてるところとかあるので、+=10000みたいなのにして実行すると、怒られます。

他を探してみると、

   if ((_e3._r3 >= 1000)) {

とかいうのがあって、これがハイスコアのしきい値ではないかと予想して、元コードで該当部分を書き換えて_e3._r3>=2とかにしてゲームオーバーまで持っていくとフラグが出てきました。

f:id:NonSense:20190120224355p:plain

想定解ではなかったようです。

[Forensics 200] conversation

FTKで漁ってたらなんか画像が出てきました

f:id:NonSense:20190120225839p:plain

問題がconversationだったので、チャットができそうなアプリとかを最初調べてたんですけど、あんまり関係なかったですね

ちなみにdata/com.google.android.apps.messaging/databases/bugle_dbのconversation_list_search_viewにJiro Kosenくんとママとの会話がありました。

f:id:NonSense:20190120230643p:plain

 

KOSEN セキュリティ・コンテスト2018に参加しました(日記とWrite-Up) #kosensc

こんにちはセンス無いです。

今回KOSENSCに小山高専のチーム" 074m4K053n (おたまこうせん) "略称"074m4"として参加しました。

チーム構成は4年生な僕と、自作OSとかしちゃう系の同級生1人と、たしか専攻科1年のpythonできる系の先輩と数学ができる先輩でした。

 

前回の木更津高専さん主幹の大会はインテンシブ・イングリッシュとかいう教科のせいで行けるはずの会場に行けなかったうえ、参加すらもできなかったというクソ仕様でした。

今回はちゃんと大会に参加できました。よかったね。

今回は会場が福岡(だっけ?)なので、会場には行かずにリモート参加です。

 

学校のラウンジを借りてみんなでPC持ち寄って参加しました。

手前側がぼく達のチームで、奥が別のチーム" おやまようちえん(おやまどうぶつえん) "略称:"およ"です。毎回毎回チーム名なんなんですかね。

KOSENSCのslackのrandomに顔入り写真をアップロードしてしまう情報リテラシーのかけらもない学校ですうちは。(でかいポカリのペットボトル顔の前で持ってるのが僕です)

 

それで、そんな頭の悪い学校のチームの結果は、3250点で総合3位でした。

webに弱いのが見え見えですね。(というかwebの配点高くない????)

今回のチームは僕がちょっとwebの知識あるくらいな感じだったので、脆弱性名と攻撃方法ををpythonが書ける系のおにいさんにぶん投げるみたいなノリでweb問解いてました。

"およ"のほうも7位なのでだいぶ頑張れたと思います。拍手拍手!

 

全23問の中で僕が解いたのは、たしか

  • 07 シンプルなQRコード [Binary 200]
  • 08 旅行の写真 [Crypto 200]
  • 10 Basic認証 [NetWork 100]
  • 18 更新されたIoT対応デバイス [Misc 50]
  • 20 サイトを見ていただけなのに [Misc 50]
  • 21 謎のファイル [Misc 100]
  • 23 攻撃ログ [Misc 300]

なはずです。

以上が間違っていなければ、僕がsubmitした分の得点は1000点分ですね。

他の人に解き方だけ教えて、解いてもらったものとかもあるのでもうちょっと貢献できているはず。

 

これからCTF始めそうな学校の低学年とかにも備えて、僕が解いたやつ以外にも解法を聞いてるやつもWrite-Upしていこうと思います。そこそこ丁寧めに書くつもりです。

 

00 Sample [Sample 100]

 

やるだけ。

 

01 まどわされるな! [Binary 100]

 渡される問題ファイル"flag.out"をcatするなりfileなりするとELFであるとわかります。

とりあえず、stringsに突っ込むなり、catするなり、テキストエディタに突っ込むなりすると

flag is SCKOSEN{you_are_go... oops! I Forgot!

 というテキストが見つかります。見つかるはずです。彼は脳内メモリが26bytesしか無いようです。ナメてますね。

(僕はこの問題を解いていないし、実行したらどうなるかとか知らないです。)

これが、"片方のフラグ"らしいです。

そして、このflag.outを、メモ帳に突っ込んでjpgのマジックナンバーFF D8 FF EE(.リ.)を目Grepするか、binwalk(win環境ならDataCutter.exeとか)に突っ込むとケツにjpgがくっついているとわかります。

そのバイナリを取り出すと

こんなのが出てきます。

これらを結合したらフラグです。

 

問題の"まどわされるな!"は、おそらくELFの解析のこととかでしょうね。

 

マジックナンバー(ファイルの頭についてる識別コード的なもの)はいくらか覚えていると便利なので一回は目を通して見よう!!! マジックナンバーまとめ

 

02 ログインしたい! [Binary 100]

渡されるのはELFらしいですが、解いてないし、話も聞いてないので解法知らないです。

stringsとかltraceとかstraceすればフラグ出るんじゃないんですか(適当)

 

03 printf [Binary 100]

とりあえず、ncしてみます。

するとなんだか、

みたいなのが出てきます。接続毎にthe secret is in の値は変わるようです。

what do you want:

と聞かれるので

Money!!!

とか書いてEnterッタッーンってすると、

there is no Money!!!

 って言われます。ナメてますね。

そして、この結果と問題名、からメタ推論すると、内部のコードは

printf("what do you want:");

scanf("%s",str);

printf("there is no %s",str);

みたいになっていると思われます。

そして、"%x %x %x"とか入力すると、

このようにアドレス値っぽいのが出力されます。

これらのことから、典型的なFormat String Attack(書式文字列攻撃)が効くやつとわかります。

さらに、" the secret is in "とか言っているあたりから、そこに表示されているアドレスにフラグがあると目星をつけます。

僕はコード書けない系なので、先輩に脆弱性と攻撃手法を伝えてコード書いてもらいました。先輩は脆弱性知らなかったっぽいのでぼくの間接的得点です。+100

とっても典型的な問題なので、解き方とかコードとかは調べればいくらでも出てくると思います。

 

04 XOR,XOR [Binary 200]

 ぼくは何もしりません。

なんかプログラムの中でフラグを作っているらしいので、デバッガ使って適当なところで止めたりすると、フラグが出てくるそうです。しらんけど

 

05 Simple anti debugger [Binary 250]

これも知らないです。

先輩が

アセンブラ高級言語だなぁと思いながら、バイナリ書き換えた

 とか言ってました。

デバッガを弾いてるとこのコードを書き換えて、"Simple non anti debugger"にしてdgbぶん回して解いたって言ってましたよ。

 

06 exchangeable if [Crypto 100]

次のような画像が渡されます。

ナメてますね。

このファイルをstringsにかけるなりすると、

md5=2009d1c114ed83f57cf8adde69fd6ca8 

という文字列を見つける事ができます。

ぼくが分かったのはここまででした。

しばらくしたら、数学のできるおにいさんが、

トイレ行ってたらなんかフラグでてたww 

 みたいなこと言っててsubmitしたらsuccessしてました。こわい

解法を聞いたところ、あのMD5はフラグのハッシュだったらしいです。

不明な文字がxxxxの4文字で、入りうる文字は大小英数字の計62文字っぽくて、全ケースは62^4=14776336です。

確かにトイレ行ってる間に出そうな数です。

コード書いて、ハッシュが一致したものがフラグです。

 

07 シンプルなQRコード [Crypto 200]

こんなことしてたので当然この問題はぼくに回ってきました。

 

はい。

問題では、次のようなQRコードが渡されます。

なんかすっごいみたことありますねこういう問題。

SECCON CTF 2013のonline予選[forensics 400]の問題ですね。

eleclog.quitsq.com

はい。ここのブログ様のようにやりましょう。

数学のできるお兄さんに、上のブログURLをぶん投げて、誤り訂正ビットから、マスクパターン指定子を計算してもらいました。

結果は0b011 = 3らしいです。

この結果を用いて、手でごちゃごちゃやろうとしてるところに同級生くんが強そうなツールを見つけてきてくれました。

github.com

めっちゃ強そうですね。(名前大好き)

このツールに文字列にしたQRの配置をぶん投げると、デコードしてくれます。

とりあえず問題のQRコードを文字列化するコードを適当に書きます。(ぼくはHSPで書いた)

そんでもって、このツールに突っ込みます。

すると、

不明なモード指定子 

みたいな感じで怒られてしまいます。

デバックモードのオプションをつけて実行してみると、モード指定子が書いてある、右下のパターンを見ると、確かに存在しないモード指定子になっています。(確か0b1010)

ぼくは一回、数学のできるお兄さんに出してもらったマスクパターンでマスキングした画像を作っていて、そのパターンとは明らかに違っていたので、おそらく"ツールがはじき出したマスクパターンが間違っている"と予想立てしました。

このツールは-mオプションでマスクパターン指定子を指定することができるそうなので、計算してもらった"3"を指定して実行してあげると、フラグが出てきます。

 

08 旅行の写真 [Crypto 200]

次のような画像が渡されます。

何かを隠しているそうです。

とりあえず、中のデータを見てみましたが、特に怪しそうなところは見当たりません。

よくわかんないので

png ステガノ

でGooglingしました。

すると、トップでこんな記事が出てきました。

ステガノグラフィーの解析について

"うさみみハリケーン"の"青い空を見上げればいつもそこに白い猫"のヘルプっぽいです。

読み進めると、赤色数値のビット0を抽出するとフラグが出てくる例とかが書いてあります。

こういう系かなと思ってとりあえずソフトをDLして、突っ込んで"ステガノグラフィー解析"を押しました。

こんな感じの画面になります。

左上の"次候補"を押して行くと

いろいろなタイプの表示をすることができます。

 こんな感じで。

とりあえず次候補をクリックしまくってみます。

こんな感じになります。

どうやら、緑と青のビット[3:0]に本来の画像ではないデータが入っているっぽいです。

 

そしたら、画面右上の"ビット抽出"を押します。

 こんな画面になります。

そしたら、さっき見つけた怪しそうなビットに対応するとこにチェックを入れます。

 そして、"バイナリデータ"表示を押すと、

フラグが出てきます。

 

いやぁ、マジで便利ですねうさみみさん。

コード書こうとしたらすごいめんどくさいし、そもそも兆候を見つけられない気がします。

ちなみに、この問題は僕がFirst Solverでした。

初日終了時点で " あの " insecureさんちも解けてなかったのでだいぶ浮かれてました。

 

09 CMA [Crypto 250]

数学のできるおにいさんが解いてました。

問題の.txtを読むとRSA暗号の問題っぽいです。

ファイルでは公開鍵n,eの組とそれに対応する暗号文cが2つづつ与えられています。

それらの値を見ると、

n1=n2

e1≠e2

であるとわかります。

そしてファイルには、

Dec(c1) == Dec(c2) == m?: True 

 と最後に書いてあります。

c1とc2を解読した結果が一致しているということでしょう。

このような場合には、Common Modulus Attackが有効です。

あとは適当に調べて書いてある通りに実行すれば解けるはずです。

inaz2.hatenablog.com

ももテクさんめっちゃ参考になるはずです。

 

09 RSA? [Crypto 300]

これも数学のできるおにいさんが解いてました。

おにいさん曰く、問題文の

冪演算のない世界線に来てしまった。

から、ヒントを得たそうです。

 

通常のRSA暗号の仕組みは、

暗号化 : c = m^e mod n

復号 : m = c^d mod n

の式で表されます。

しかし、この問題では冪演算が存在しないそうなので、冪演算の代わりに掛け算を使っているのではないかという予想を立てたそうです。

そうすると、暗号化の式は c = m*e mod n となります。

これを復号する場合は m = c/e mod n となりそうです。

あとは計算して文字列化して終わりです。

 

10 Basic認証 [NetWork 100]

pcapが渡されるので、とりあえずWireSharkで開いてみます。

そして、適当なパケットを右クリして追跡でTCPストリームなりHTTPストリームなりを表示してみると

こういうのが出てきて、

Authorization: Basic am9objpzOG9YKnpsY3JvOD8jd2xibHByNA==

 の最後のブロックをBase64でデコードすると、

 john:s8oX*zlcro8?#wlblpr4

 となります。

それで、ストリームの最後の方に

<p>flag is here

<a href="/flag.zip">flag.zip</a>.</p>

<p>(zip password is john's password.)</p>

 と書いてあるのでflag.zipを取り出します。

ファイル -> オブジェクトをエクスポート -> HTTP でflag.zipがある行を選択して保存します。あとは書いてある通り、johnさんのパスを突っ込んで回答したらフラグが出てきます。

 

11 ログインしてフラグを入手せよ。 [NetWork 150]

ぼくは解いてないので知らないです。

これを解いたおにいさん曰く、akictfに同じような問題あるそうです。

そのWrite-Upを探せば解けるはずです。

 

12 サーバーから情報を抜き出せ!

 問題で与えられているサーバーにアクセスするとこんな感じの画面が出てきます。

画像が頭おかしくて好きです。

このページは画像しか表示していないうえに、ソースコードにも怪しいところがありません。

わかんないので、画像を右クリして新しいタブとかで開いてみます。

するとURLがこのようになります。この状況からメタ推論して、このリクエストにはディレクトトラサーバルちゃんトラバーサルの脆弱性があると考えます。

問題文で、フラグのファイルは"flag.txt"ということが分かっているので、とりあえず、filenameのパラメータに書いて見ます。

 

はい。このディレクトリにはそんなもの存在しないそうです。

僕はここで詰まったので、先輩に状況を投げたら、" ../flag.txt "指定したら行けた!!ってなってました。

そういうことらしいです。

これも僕の間接的得点ですねきっと。+100

 

14 アカウントを奪え [Web 300]

問題のサーバーにアクセスすると、

こんな表示になります。

kosenjohでログインしろとのことなので、Useridにそれ突っ込んでPasswordにpasswordとか1234とか弱そうなパスをとりあえず突っ込んで見ます。ただ、なんか違うっぽいのでSQLインジェクションとかできるんじゃね??とか思い始めます。

Useridにkosenjoh、Passwordに典型的なSQLiの'OR 1=1;-- を突っ込むと

こんなページに飛ばされます。

古戦場から逃げるな!!

さっきのフォームのphpコードですね。

この問題の最終目的は"kosenjoh"のパスワードを抜くことだそうです。

コードを読む感じでは、SQLのクエリの結果は成功か失敗かしかわからなそうです。

こういう場合はブラインドSQLを使います。1文字づつ調べて行くやつです。

僕はコード書けない人種なので、pythonのおにいさんにこのソースのページと参考になりそうな記事をぶん投げたら解いてくれました。

間接的得点+300

 

15 47405b599e22969295ebed486d7343cb [Web 300]

解けなかった問題その1

とりあえず問題名が謎なので調べて見ると、

"SQL Injection"のMD5ハッシュだそうです。

はい。ヒントですね。

問題のサーバーにアクセスしてみます。

こんな表示です。SQLiしろってことらしいのでとりあえず上のNo.に'OR 1=1;-- を入れてみます。

こんな感じのデータの組が83件表示されますValueはなんだかAsciiコードっぽいですが、あんまり関係なさそうなのでスルーしました。

(insecureさんのWrite-upにデコードした結果が書いてありました。ここにはフラグないでwフラグはだれかのパスやぞwwみたいな感じになるらしいですよ。

スルーしたけど、あってもなくてもあんまり関係なさそうだったので良かったです。

 

んで、したのログインフォームっぽいとこも調べて見ます。

ぼくあんまりかじってないので、詳しく書けないんですが、IDにadmin突っ込んで、適当なインジェクション仕込むと、Welcomeとか表示されたそうです。

どうせadminのパスワードがフラグだろうと踏んでいたので、pythonのおにいさんにブラインドSQLのコード組んでもらってやってもらってたんですが、なぜか途中で404が吐かれるようになって結局解けずじまいでした。

相当悔しがってました。わかる。ちゃんとしたWrite-Up読みたければinsecureさんのとこ見に行くといいと思うよ。

furutsuki.hatenablog.com

 

16 進撃せよ [Web 300]

解けなかった問題その2です。

WAFの問題でした。

アクセスしてみます。

"test.txt"をクリックするとtestと表示されました。

URLを見ると、

http://waf.kosensc2018.tech/list/dGVzdC50eHQ= 

 となっていました末尾は明らかにBase64なのでデコードしたら"test.txt"になりました。

次に"flag.txt"をクリックすると、

ってなります。 わふ~~~

また、ファイル名はBase64エンコードしなくても、アクセスできるみたいです。しかし、相変わらずflag.txtはわふ~~~ってなります。

つまりは、(平文にflagが含まれている) or (Base64でデコードした結果にflagが含まれている) っていうことですね。たぶん。

どうにかしてflagを含まずにflag.txtと表現するという方針でいろいろやってたんですけど、全部ダメでした。

例えば内部がshell的なものと想定してfl''ag.txtと入れてみたり、文字列連結のシェル芸とかしてみたりしてました。

途中やってて、../のb64エンコードを突っ込んだら、無が表示されたので、ディレクトリトラサーバルちゃんがいるって気づきはしました。気づきは。

他の人のWrite-Upみると../../../../../etc/passwdが成功するらしいです。ぼくも同じようなことやったんですけど多分../の数が違うのだけを入れていた可能性がとても高いです。残念。まあ見れていたところで、その先は絶対進められなかったとおもいますけどね。

 

この問題は"flag.txt"を2回b64エンコードすることでflagを取れたそうです。エスパー問題らしいです。

とても単純でした。エスパー力が足りませんでしたね。

これ解けていれば2位になれていたので、とっっってもくやしいです。くぁwせdrftgyふじこlp;@:「」あsdfあsdf

 

はい。まあ仕方ないですね。こういうこともあります。トランプの裏側から番号当てるゲームをしまくって10月のonline予選に備えます。どうせまたSECCON{STAR_WARS}とかでてくるから。

 

17 人大杉を見たくない [Misc 50]

KOSENSCのMisc問はほとんどがGoogling力を試される感じですね。

www.atmarkit.co.jp

まあこれじゃないですか?

正解知らないんでわかんないですけど、たぶんavaliabilityです。

 

18 更新されたIoT対応デバイス [Misc 50]

Joke RFCですね。いつものって感じです。

Hyper Text Coffee Pot Control Protocol - Wikipedia

https://tools.ietf.org/html/rfc7168

コーヒーのやつを知ってればお茶のも知ってると思います。

コーヒーをお茶向けに拡張したやつらしいですよ。

Joke RFC伝書鳩プロトコルとかも結構好きです。

 

19 君の名は2018 [Misc 50]

前回のKOSENSCで"君の名は"っていう問題が出たらしいですね。

これも調べるだけです。

これはだいぶ話題になったので知ってる人がほとんどだと思います。

 

20 サイトを見ていただけなのに [Misc 50]

気合で調べましょう。

ドライブバイダウンロード - Wikipedia

pythonのおにいさんはハイフン区切りを見逃していたらしくて投げてました。いただき

 

21 謎のファイル [Misc 100]

とりあえずファイルをダウンロードします。

zipらしいです。よくわかんないのでとりあえず展開しましょう。

はい。分かる人は一瞬でわかると思うんですけど、Microsoft Wordのファイル構造です。(wordってディレクトリがあるからそれでも気づけるかも)

あとは、"rename_me.xml"とかいうファイルがありますね。

名前変えればよさそうです。

wordのファイル(.docx)を作って、拡張子を.zipに変えて展開してみましょう。

CTFやったことのある人ならば、オフィスのファイルは全部zipで展開できるってのを知ってると思います。知らなかった人はおぼえて。

さっきの問題のやつと比較してあげると、"rename_me.xml"は"[Content_Types].xml"にリネームしてあげればよさそうです。

名前を変えたら、zip圧縮して、拡張子を.docxに変えてWordとかで開いて見ましょう。

縦書きでフラグが出てきます。

 

22 ディスクが足りない! [Misc 100]

悲痛な叫びですね。

ファイルをダウンロードすると.gzのファイルをもらえます。

展開しまくるとフラグが出てくるそうです。

僕解いてないので知らないです。

 

圧縮しまくると1bitとかになっちゃうって思いこんでるやつですね。かわいい。

 

23 攻撃ログ [Misc 300]

ファイルを落っことしてくると、Apacheさんのアクセスログっぽいです。

生のテキストだとクソ見づらいので適当なビューワを落としてきました。

www.vector.co.jp

こんな感じ。生テキストよりずっといいです。

一応1万行ちょっと全部目を通した感じだと、セッションハイジャックしようとしてたり、windows\system.iniとか/etc/passwdとかを見ようとしたりファイルアップロードで書き換えようとしてるような感じでした。なんかゲームサーバーとか社員用のファイルエディタとかブラウザ、その他いろいろな機能を提供してるみたいですね。全く関係ないです。

技術的な観点からログを探すならば、攻撃が成功してるであろうログをピックアップしていく感じになるでしょう。やるなら、コードが200以外でファイルをいじっているようなログとか。

そういうのはめんどくさいので問題として成立するようなログを探す方向でやりました。このログは、ほとんどのログが重複していて、唯一のログというのが見当たりません。

つまり、他のログと重複していない唯一のログを探し出すのが目標になります。

落としてきたツールの機能をいろいろ使って調べてみたところ、ログの中にAgentが3種類登場することがわかりました。

  • Content-type:-
  • Content-type:application/x-www-form-urlencoded
  • Content-type:multipart/form-data;

これらの3つです。そして、一番下のmultipart/form-data;は11039行のログの中でたった1つしか存在していませんでした。

192.168.10.26 - - [29/Aug/2018:20:56:37 -0700] "POST /fileupload/upload.action HTTP/1.1" 500 347 time:49 Content-type:multipart/form-data; boundary=---------------------------100000000000

このログですね。

これをsha-1でハッシュしたのを送って300点!かとおもったらなぜか、不正解。

結局sha-1ハッシュを大文字で書いていたのが悪かったみたいです。

小文字でsubmitしたら通りました。そこら辺2種類登録しといてほしいですね。

 

Content-type:multipart/form-data;はファイルアップロードのときに出るやつなので、これをアテにして解いていく感じなんですかね。

おそらくディレクトリトラバーサル経由のファイルアップロードでシステム書き換えられた!みたいな想定で。

 


 

以上、結局全問触れてしまいました(需要がなさそう)。自分が解いてないやつは詳しく書いてないですけど、多分調べれば全部解けるので、まあそういうことで。

 

今回もとても楽しめたので、来年も是非参加したいですね。

KOSENSCは難易度がSECCONの予選とかよりも学生向きで、解きやすいのが多くていいですね。(KoHやりたかった)

あとは要望というか、愚痴というかなんですけど、スコアグラフとかのページを公開してほしいなぁって思ったりしました。youtubeの配信だと切り替えの時間が早すぎてまともに見れなかったんですよね。

それと、ジャンル分けをもうちょっと詳しくしてほしいなぁって思いました。ステガノだとかreverseだとかそういう

 

次はSECCON online予選になるのでWebを解けるようにして挑みたいですね。

今回のKOSENSCはなんだかwebの1問あたりの配点すごく高かったですね。Webはぼくらのチームの弱点なので、とてもつらい感じでした。

でもまあ、全正答まで2問に迫れたのでだいぶ良かったと思います。

 

こんなかんじですかね。

わざわざここまで10,829文字も読んでくれてありがとうございました。

参加者、運営陣の方々おつかれさまでした。最後の方とかスコア白熱しててとってもいい大会でした!

shupaconf4に行ってきました

こんにちはセンス無いです。

 

前回のshupaconf3に参加して、なんだかとっても楽しかったので、今回も参加してみました。

 

今回の会場は横浜近辺のおしゃれな感じの“THE CAVE”っていう地下のお部屋でした。若干かび臭かったのも雰囲気ですね。

 

時間をずっと12時からだと思っていてその時間にお家を出たけれど、本当は13:30からだったらしくて、時間ができてしまいました。

なので、暇を潰しに秋葉原でお買い物していきました。お家のキムワイプが無くなりかけで、買い足そうと、千石に行ったら、Sサイズのキムワイプに700円の値札が貼ってあって、ボッタクリにも程があるなって思いました。値札見ないでレジ持って行ってたらと思うと、こわいですね。

そのあとは、秋月行ったりメロブ行ったり、そこそこ楽しんでから、会場の最寄り駅にむかいました。

 

今回は、お話しのネタを用意していなかったので、お話聞くだけの存在で行ったんですけれども、当日に、ぱかさんが「平成最後の夏で一本つくって」って言ってくれたので、総ページ5枚のパワポを即興で作りました。“内容は無いようです”

 

みんなのお話が終わってから、ぱかさんが”なぜか“持ってきていたチャイナ服(?)を着る大会になりました。見事に標的になりました。他の参加者さん達も同じように標的になってました。

服をきた後、なんと、ぱかさんのメイクアップの標的にもなりました。人生で初めてのメイクでした。うれしいですね。

ちゃんとかわいくなってたらしいですけど、あとで自分の写真みると、やっぱり「うわっ」ってなりますね。よくわかんないです。

ぱかさん以外にも道具を持ち込んでる人がいっぱいで、ウィッグとか口紅とか、なんでも出てくる空間でした。こわいですね。

あとから思い出すと、かなりおかしな空間が出来上がっていたなぁとおもいます。

 

今回の、shupaconf4が最後のshupaconfらしいです。ぱかさんはとってもやさしくて、楽しい感じの人なので、またいつか会えたらいいなぁって思ってます。DiNNERの分のお返しもしたいですしね。

 

ただのつまんない日記みたいになっちゃってますけど、結論は、すっっごくゆるい感じの会で、楽しかったですってことです。

あとは、まあ、各々いろいろあると思うんですけど、また同じメンツで会える時があればいいなぁっていうだけです。

 

これでおわりです。ありがとうございました

 

shupaconf3に参加してきました

こんにちは。

最近こっちのブログで記事を書いていないセンス無いです。

 

学校で所属しているエレ研のブログの方に最近、一本記事を投稿したので見てもらえればいいなとおもいます。

東京高専で開催された高専カンファレンスin高尾2018で発表したもの紹介というか作り方の記事です。

eleken.jp

 

さて本題ですけど、先日5/5に開催されたshupaconf3に参加させていただきました。

申し込みするまで、しゅーぱかさんをフォローすらしていなかったぼくがなぜ参加したかというと、

これです。

 

当時ぼくは高尾のカンファに参加して「カンファ楽しいやん!もっと参加したいな?」みたいなテンションだったので速攻で申し込みしました。

 

以上、動機でした。

 

当日の話をします。

当日は方向音痴な@R_I_R_Uさんと一緒に行くことにしていましたので、適当な場所で合流して、上野経由で柴又まで行きました。

帝釈天の参道はGW中だったので人がいっぱいいましたね。全然進めません。

ちょうど1時くらいだったので天丼の匂いが犯罪的でした。

 

4分くらい歩いて会場につきました。会場はいい感じにおしゃれな空間でしたね。一人では絶対いけなさそうです。

会場にはすでに参加者の大半がいました。名札を書いて、開始まで待機です。

ぼくの名札です。はがきサイズで自由に書いていいと言われたので、自由に書きました。

 

当日はLT形式の発表で、一人5分もしくは10分,15分の発表時間と決められていましたが、めっちゃ緩かったです。時間あんまり関係無かったですね。

ぼくは発表をしない聞くだけな"傍観者"で申し込みしたので、気が楽です。

 

みなさんの発表の内容ですけど、最初はなんかこう、「Twitterと上手に関わる方法」とかそういう感じだと思っていたんですけど、めっちゃ技術色が強い発表が多い印象でした。

Unityでゲームエンジン作る話とか、CMSを構築する話とか、サイトジェネレータ作ってる話とかがあった気がします。

技術色強くない話もありました。会社入ってからの生活の話とか、好きな曲をめっちゃオススメする話とか、ボールペンオタクが本人不在で動画で発表するのとか、質問の自由時間が発表のほとんどを占めるようなよくわかんないやつとか。

1週間前なのでしっかり覚えてないです、すいません。

 

そして、LT聞いていると自分もなんかお話したくなってきました。

なんだか飛び入りで発表することが許されてしまったので、たまたま持ち込んでいた自分のノートPCを起動させてちょっと準備しました。

 

発表するまでの間に休憩時間が15分くらいありました。暇だったので、たまたま持ち込んでいた麻雀牌と取り出して、3人麻雀しました。

上がれなかったです。

 

ぼくの発表ですけど、高尾LTで発表した、左手デバイスを自作した話か、QRコードを手読みする話のどっちを聞きたいか手を上げてもらった結果、QRコードを手読みする話になりました。

個人的に左手デバイスを自作した話のほうがスライドの完成度が高いのでそちらのほうがよかったんですけど。

ちなみに、QRコードを手読みした話のスライドはエレ研の新歓LTで発表したやつそのままです。

授業中にQRコードを読んだ結果をTwitterに投稿したら伸びたので調子に乗って発表当日に3時間くらいでまとめた低クオリティなものです。

ちなみに該当ツイートはこれです。

 

 実際の発表はそこそこウケ取れましたね。よかったです。

 

その後、部屋の隅でPCいじってたら、しゅーぱかさんにポッキーを大量に口に詰め込まれました。

f:id:NonSense:20180513160217j:plain

まさしくこんな感じです。ひどいいじめですね。美味しかったです。

 

こんなところでしょうか。

他になにか思い出したら追記するかもしれません。

 

総括としてとても楽しかったです(小並感)

ただみなさんとお話があんまりできなかったきがするのでまたどこかで合いたいなぁと思いました。

横浜くらいなら行けるので次やるなら横浜がいいです。

 

以上です。中身のない記事を読んでいただき、ありがとうございました。

BMS用IIDX専コンを自作

2020/08 追記: googleフォトから画像を貼り付けているため現時点で表示がされていないと思います。

 

きっかけは弐寺専コンが欲しいと友人に頼まれたことです。

友人はACサイズなことと1P2P切り替え出来ることと小さいのがいいと言うのでその方向で設計します。

f:id:NonSense:20200830211051p:plain

はい。

一応中身の補強用の垂木的なものも全部書いてあります。

頑丈に作ることで板の反響から来る騒音を軽減できます。(個人的見解)

 

天板と底板は9mm、側面の板は12mmで設計しました。

裏面は鬼目ナットを突っ込んでネジで固定して、メンテ用に取り外せるようにしました。

 

これで設計は終わりなのでホームセンターに行って板を買ってきます。

見た目と強度的にMDF板にしました。

ホームセンターだと板カットのサービスがあるのでとても便利です。

 

買ってきたので仮組みしてみます。

f:id:NonSense:20200830211124j:plain

f:id:NonSense:20200830211144j:plain



ホームセンターのお兄ちゃんが上手だったので精度はかなりいいです。

 

寸法の間違いが無いのでとりあえず、側面だけボンドで組み立てます。

f:id:NonSense:20200830211210j:plain

ボンド塗っておもりで加圧して放置です。

 

次に皿を作ります。

皿は黒のABSの2mm板を使います。

f:id:NonSense:20200830211228j:plain

学校の工房を借りて気合で丸く削りました。

CGじゃないです。

はざいやさんとかに頼むときっと楽です。

これと一緒に皿の下の土台になる木を削ります。

12mm板を2枚重ねて24mmにします。

多分これくらいでACとおんなじくらいの位置になります。

皿本体はこれでOKです。

 

次にボタンを取り付ける板を作ります。

友人仕様に1P2P切り替えの機能を要求されているので、本体とは分離した板にボタンを取り付けます。

筐体本体への取り付け穴は完全に対称にしてあるので180度ひっくり返して使えます。

f:id:NonSense:20200830211244j:plain

f:id:NonSense:20200830211307j:plain

 

下に4mmのMDF、上に2mmのアクリル板の2層構造です。

ついでに間に挟む紙も作ります。

f:id:NonSense:20200830211326j:plain



こういう。

ダサいです。

 

次に皿の構造部分を作ります。

クラスメイトに3Dプリンタでフランジとエンコーダの歯を印刷してもらいました。

f:id:NonSense:20200830211340j:plain

f:id:NonSense:20200830211402j:plain

便利ですね。

結局このエンコーダの歯は使うことにはなりませんでしたが。

 

3Dプリンタがない場合はM8くらいのぼボルトを使うといいです。

皿に穴開けてナットで止めれば終わりです。

エンコーダの歯はレポート用紙の一番最後の厚紙とかそういう奴を切って使うといいです。

僕もそうしました。

 

これで大体部品揃ったので組み立てます。

ボタンはお金が無いのでお金が出来るまではとりあえず自分の専コンのボタンを付けておきます。

f:id:NonSense:20200830211417j:plain

f:id:NonSense:20200830211431j:plain

 

エンコーダはさっき言ったように紙です。

センサーは秋月で売ってる透過型のフォトインタラプタです。

基板は自作物です。

pic18f2550でMicrochipさんのサンプルプログラムを適当に改造して使ってます。

 

USB接続でPCからはゲームパッドとして認識されます。

このように。

Infinitasはやってないですがせっかくマイコン積んでいるのでInfinitas仕様の皿の挙動も実装しました。

動くかはわかりません。テスト出来ないので。

 

以上です。

友人君は今年大学受験なり就職なりする年なので今年度中は僕が遊んでいるつもりです。

 

今年中は僕が持っているので小山高専工陵祭のエレ研だかEE専門企画のところにおいておく予定です。

僕が遊んです。来てくみてださい。

 

 

テストプレイ動画あげました。

www.youtube.com

チュウニズムのエミュレータを作ってみる

どうも、センス無いです。

 

これまで、たまにTwitterに上げてたチュウニエミュの進捗ですが、ブログの方にまとめて行きたいと思います。(まとまってたほうが幸せになれる人多いと思った)

進捗があり次第、このページに追記していく感じでいこうと思います。

Tweet貼り付けてく感じでいいですよね 

あんまり更新頻度高くないと思います。

 

 

 

  • 譜面仕様を軽く説明
  • 4/8更新分進捗
  • TAPの追加
  • FLICKの追加
  • HOLDの追加
  • SLIDEの追加
  • AIRの追加
  • どうでもいい開発道中(日記含む)

譜面仕様を軽く説明

リズムの記述方法はBMS形式と同じです。

ヘッダ部も既存のBMS形式とほとんど同じです。

ただ、チャンネルと実データ部はチュウニズム用にだいぶ変えました。

チュウニズムは音再生は無いので…

詳しい仕様は要望があれば、早期に公開しますが、ソフトがリリース可能になったときと同時に公開するつもりでいます。

(一番早いのは本人に直接聞くこと)

 

 

4/8更新分進捗

アルストロメリアの紫譜面を借りて実際のゲームに近い形での描画・再生テストです。

 

 

TAPの追加

 

 

FLICKの追加

 

 

続きを読む