SECCON 2019 Online CTF に参加した (Beeeeeeeeeer, Sandstorm, repair, PPKeyboard)

2019-10-20

SECCON 2019 Online CTFにp3r0zとして参加しました。2131点で42位でした。 僕はBeeeeeeeeeerとSandstormとrepairとPPKeyboardを解いたので、その解法を簡単に書きたいと思います。 Beeeeeeeeeer 問題ファイルをダウンロードしてみると、中身はシェルスクリプトのようです。 整形してみても、コマンド置換を使ったり$'string'を使ったりして難読化しています。 良い解き方が思い浮かばなかったので、set -xをして地道に1ステップずつ追っていきました。部分的にset -xを検出してexitするコードや、後半の方でshutdownを呼び出すコードが含まれてい Read More…

Python 2系と3系のsys.stdinの違い

2018-08-28

早速ですが、次のコードを見てください stdin_loop.py 1 2 3 4 5 import sys for x in sys.stdin: sys.stdout.write('stdin: {}'.format(x)) sys.stdout.flush() これをPython 2.7と3.6でそれぞれ実行してみると、それぞれ次のような結果になります。 Python 2.7での実行結果 hoge fuga ^D stdin: hoge stdin: fuga Python 3.6での実行結果 hoge stdin: hoge fuga stdin: fuga ^D hogeやfugaは入力で、^DはCtrl+Dを入力してEOFを送っていることを意味しています。 結果を見ると2系と3系の違いは明らかで、3系は1行ずつ処理されているにも関わらず、2系ではEOFが送られるまで(正確には一定の大きさのバッファがいっぱいになるまで)処理が始まりません。 インタラクティブなプログラムを作ろうと思って、2系で上 Read More…

今年は”ポエム”を出さない代わりに、ここにポエムを書きます

2018-03-31

2015年から頂いていたMicrosoft MVPアワードですが、今年は7月に審査があるわけで3/31がその審査書類の締め切りとなります。 いろいろ悩みはしましたが、今回私はMVPアワードの審査書類を出さないことにしました。特にMicrosoftやMVPアワードに対して不満があるわけではなく、完全に個人的な気持ちの問題です。 私がコミュニティ活動を本格的に始めたのは2014年からで、その一歩を踏み出す勇気を与えてくださったのがMicrosoftコミュニティの皆さん、そしてMVPの皆さんでした。 特に当時Microsoft Student Partnersプログラムに参加してから Read More…

Pythonのマルチスレッドで気を付けるべきこと

2017-01-26

はじめに、この記事は「マルチスレッドで気を付けるべきnの項目」のような、よくまとまったまとめ記事ではないのでご了承ください。 とある条件でマルチスレッドの挙動が意図しないものになり、その後によくよく考えると「なるほど!」となったのでメモしておきます。 というか内容もあってるかわかりません、独自の考察です。詳しい人ツッコミください。 マルチスレッドで問題が発生する条件 とある条件では、マルチスレッドを使ってしまうと意図しない挙動が発生すると思っています。 それはめちゃくちゃ重い、Pythonを考慮していないような外部ライブラリを使った場合です。 どういうことか、文字だ Read More…

たるしょ~ Advent Calendar 19日目

2016-12-19

この記事はtarusho Advent Calendarの19日目です。遅くなってすみませんでした。 今年もあと2週間か — たるしょ~ (@tarusho) 2016年12月18日 今年もあと2週間なんですね。あと11日間、たるしょ~診断を忘れないように頑張ります。 本編の前に… うちのらぼでのたるしょ~先生の有名ぶりが見て取れるものをざっと紹介したいと思います。 Slack うちの研究室にはドイツのトリに代表される生物や、水瀬いのられさんのような有名人が多く在籍しておりますが、中でもそのコミュニケーションを支えているSlackは大活躍しています。ちなみに研究室全体で有料版課金済みです。 現時点でチャンネルが11 Read More…

Visual Studio Code向けの簡易スペルチェッカーを実装してみる

2016-12-19

この記事はVisual Studio Code Advent Calendar 2016の19日目の記事です。 この記事では、Visual Studio Codeにおいて… 診断機能を実装する方法 Light bulb(電球アイコン)を使ったコードアクションを実装する方法 を、実際にちょっとしたスペルチェッカーを実装しながら紹介したいと思います。 といっても、VSCodeのExtension APIを叩くだけですし、 世の中には実用的なスペルチェッカーのソースコードが公開されているので、 それを例にソースコードを読み解いていきたいと思います。 ちなみに去年のAdvent Calendarでは、VSCodeの画面をリアルタイムで共有できるサービスを Read More…

「NuGetでプラットフォーム毎にアセンブリを展開する方法」と「良い感じにコードを共有してプラットフォーム別のアセンブリを作る方法」

2016-11-24

いろいろと思ったことを忘れないように書いておこうと思います。 最近は.NET Standardとかいろいろありますが、もちろんすべての状況においてすべてのコードが共通化できるわけではありません。というわけで、この投稿では NuGetでプラットフォームごとに異なるアセンブリを展開する方法 CoreFXを覗いてちょっと真似てみた、良い感じにコードを共有してプラットフォーム別のアセンブリを作る方法 をご紹介します。あまり詳しくないので、間違っていたらご指摘お願いします。 NuGetでプラットフォームごとに異なるアセンブリを展開する方法 まずはこの話題についてお話しします。 C Read More…

Microsoft MVP Awardを受賞しました

2016-04-02

参考リンク 2015年4月2日 Microsoft MVP for .NETを受賞しました | 凡人のブログ 更新がだいぶ遅くなってすみません。 2016年4月からもMicrosoft MVPとして活動できることになりました! 去年の4月に1度目を受賞しましたので、今回が2回目の受賞となります。 分野はVisual Studio and Development Technologiesです。 プロフィール・活動履歴はこちらからどうぞ。 プロフィールサイトも更新されたので記念に Microsoft MVPを受賞してから、雑誌の特集記事や本の執筆などの貴重な機会を多くいただき、非常に密度の濃い1年間を過ごすことが出来ました。 (もちろん、コミュニティの運営や勉強会の登壇な Read More…

『.NET開発テクノロジ入門2016年版Visual Studio 2015対応版』を執筆しました

2016-02-01

2月5日より、日経BP社から「.NET開発テクノロジ入門2016年版Visual Studio 2015対応版」が発売されます。私も本書の執筆に参加させていただきました。 .NET開発テクノロジ入門2016年版Visual Studio 2015対応版 参考リンク Amazon.co.jp: .NET開発テクノロジ入門2016年版Visual Studio 2015対応版: 五十嵐 祐貴, 生形 可奈子, 大田 一希, 古賀 慎一, 酒井 達明, 芝村 達郎, 田淵 義人, 日本マイクロソフト株式会社 井上 章: 本 日経BP書店|商品詳細 - .NET開発テクノロジ入門2016年版Visual Studio 2015対応版 目次 目次をご覧いただければわかると Read More…

VSCodeの画面をリアルタイムで共有できるサービスを作りました #vsshare

2015-12-21

この記事はVisual Studio / Visual Studio Code Advent Calendar 2015の21日目の記事です。 12月20日担当のたなかさんの記事はこちらです。 いよいよAdvent Calendar最後の週に入りましたね。今年も多くのご参加ありがとうございます! VSShare β さて去年の私は、VS Advent Calendarでこんな記事を公開しました。 VSで書いているコードをリアルタイムに共有できるサービスを作りました というわけで、今年は**Visual Studio Codeにも対応した、マルチセッション可能な『リアルタイムコード共有サービス』を作りました。名前は『VSShare β』**です。 さらに、この度、VSShare関連のすべて Read More…