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
Tomohiko Morita
October 10, 2026
Programming
160
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
88
OWASP Kansai DAY 2025.09: OSINTにふれてみよう
deka_morita
0
430
(会社ライフ)ハッカーになろう / Let's Become a Corporate-life-hacker
deka_morita
0
1k
ガンダム × ネーミング
deka_morita
0
800
クレジットカードを不正利用された話
deka_morita
0
1.6k
ガンダム勉強会@関西アンケート集計
deka_morita
0
830
ガンダム勉強会@サイド2開催にあたって
deka_morita
0
720
物理なポチポチ操作自動化
deka_morita
1
330
まじめな技術者のためのWEBフィルタリング回避術
deka_morita
1
1.5k
Other Decks in Programming
See All in Programming
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
200
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
350
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.4k
Groovy as a human and AI friendly programming language
paulk
0
120
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7k
R8 の設定見直しでアプリサイズ削減
andpad
0
230
Modernizing iOS Apps
seyfoyun
0
130
phperだってパンチカードでコーディングしたい
o0h
PRO
0
480
Domain-Driven Transformation
hschwentner
2
2.3k
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
140
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
220
Jetpack Compose Mechanisms
skydoves
3
890
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
950
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
340
Color Theory Basics | Prateek | Gurzu
gurzu
1
500
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
880
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
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など
ハンズオン