Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
dotNET_vulnclicker_intro.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tomohiko Morita
October 10, 2026
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
dotNET_vulnclicker_intro.pdf
Tomohiko Morita
October 10, 2026
More Decks by Tomohiko Morita
See All by Tomohiko Morita
owaspkansai_x_oecu_intro_20261011.pdf
deka_morita
0
48
OWASP Kansai DAY 2025.09: OSINTにふれてみよう
deka_morita
0
410
(会社ライフ)ハッカーになろう / Let's Become a Corporate-life-hacker
deka_morita
0
1k
ガンダム × ネーミング
deka_morita
0
790
クレジットカードを不正利用された話
deka_morita
0
1.6k
ガンダム勉強会@関西アンケート集計
deka_morita
0
820
ガンダム勉強会@サイド2開催にあたって
deka_morita
0
710
物理なポチポチ操作自動化
deka_morita
1
330
まじめな技術者のためのWEBフィルタリング回避術
deka_morita
1
1.5k
Other Decks in Programming
See All in Programming
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
350
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
110
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
450
速習iPhone Duo対応
yuukiw00w
2
960
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
Are APIs Still Relevant in the AI Era?
soyuka
0
430
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
FreeBSDでZabbixを動かす
kenkino
0
360
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
4.9k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
560
Ethics towards AI in product and experience design
skipperchong
2
420
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
HDC tutorial
michielstock
2
950
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Optimizing for Happiness
mojombo
378
71k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
The Curse of the Amulet
leimatthew05
3
15k
Transcript
.NETやられアプリ VULN ClICKER
.NET Frameworkとは C#で書いたプログラムを実行するためのプラットフォーム 業務アプリの開発に使われるケースが多い ゲームエンジンUnityでも.NET Framework 4.xのAPIを利用可能
中間言語IL(Intermediate Language/中間言語)を採用している点が特徴 CPU 非依存の中間命令セット デコンパイルしやすい
中間言語 C C# C#コンパイラ Cコンパイラ IL(中間言語) .dll / .exe JITコンパイラ
機械語 (CPU向けの言語に変換) 機械語
デコンパイラ dnSpy ILSpy C# IL(中間言語) .dll / .exe
JITコンパイラ 機械語 デコンパイラ C#風のソースコードに戻す 関数名を復元できる
テキストエディタでdll表示
やられアプリ VulnClicker https://github.com/tom-morita/VulnClicker/ 「vulnerability」(脆弱性) Clickerゲーム
VulnClickerの構成 ZipをDLし、任意のフォルダに展開する VulnClicker_1.0.0 ├─tool │ bese64_calculator.py │ httpreq2curl.py │
request.txt │ ├─VulnClicker │ VulnClicker.exe │ VulnClicker.dll │ ・・・ │ └─VulnClickerScoreServer │ VulnClickerScoreServer.exe │ VulnClickerScoreServer.dll │ VulnClickerScoreServer.pdb │ ・・・ │ └─Data scores.json 解析支援ツール python やられアプリ本体 解析対象 HTTPクライアント 簡易スコアサーバー 解析対象外 HTTPサーバー(TLSにより通信暗号化)
やられアプリの動かし方 ZipをDLし、任意のフォルダに展開する やられアプリ「VulnClicker.exe」を実行 VulnClicker_1.0.0 ├─tool │ bese64_calculator.py │
httpreq2curl.py │ request.txt │ ├─VulnClicker │ VulnClicker.exe ←まずこれを実行 │ VulnClicker.dll │ ・・・ │ └─VulnClickerScoreServer │ VulnClickerScoreServer.exe │ VulnClickerScoreServer.dll │ VulnClickerScoreServer.pdb │ ・・・ │ └─Data scores.json
スコアサーバーの動かし方 証明書の設定を行う cd <Zipを展開したディレクトリ> cd .¥VulnClicker_1.0.0¥VulnClicker_1.0.0¥VulnClickerScoreServer dotnet dev-certs https
--check --trust dotnet dev-certs https dotnet dev-certs https --check --trust dotnet dev-certs https --trust Successfully trusted the existing HTTPS certificate.という表示が出ればOK スコアサーバー「VulnClickerScoreServer.exe」を実行
やられアプリ ゲーム機能 30秒間のスコアを競うクリッカーゲーム スコアサーバーが起動していれば、スコアの登録 が可能(HTTPS通信) ハイスコアはtop10ランキング入り
その他の機能 起動日や起動回数のカウント シリアルコードを入力し、モード変更できる ストップ、再スタート スコアをファイルにエクスポート・インポート スコアの改ざんチェック機能
dnSpyの起動 Zipをダウンロードし展開 「dnSpy.exe」を起動 dnSpy上で、File>Open> 「VulnClicker.dll」を選択 DLL:
Dynamic Link Library 動的リンクライブラリ →C#コンパイルにより生成 されたILのファイル
dnSpyの読み方のコツ System.*は.NETの標準ライブラリ 解析対象外なので読む必要なし VulnClickerが今回のやられアプリ Activation
シリアルコード認証していそう怪 しい Clicker クリック回数のカウントなどアプ リの主要部分 濃いオレンジ色 →C#で記述した関数名
dnSpyの便利機能1 Serach機能 Edit>SearchAssembliesで右下 に検索窓が開く 検索条件「Options」の設定 「Search
in framework assemblies」はオフにする。解 析対象外の標準ライブラリを除外 してくれる。(System.*系) 「Serch For:」で検索対象を設定。 「Number/String」でハードコー ディングされた値や文字列を探し やすい。それで見つからない場合 は「All of the Above」に変更 シリアルコード で検索した例
dnSpyの便利機能2 Analyze 右クリックして「Analyze」 UsedBy,Usesでどこで使われているかを列記してくれる
セキュリティ対策の基礎知識 ハードコーディング ユーザーの手元にあるプログラムは解析される 攻撃の手掛かりになるダメ絶対。難読化、暗号化しても・・・
全アプリで共通の値を避ける、サーバー側で個別生成する、など 暗号化 通信の暗号化、データの暗号化 基本的に復号するには「鍵」が必要 ハッシュ 値やファイルが改ざんされていることをチェックできる。 入力に対して出力がかなりランダムで偶然の一致がほぼない。出力から入力を予測することが困難 Sha256など エンコード 一定のルールに従った文字列の変換、デコードも可能。暗号化ではない base64など
ハンズオン