Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
junk_coken
PDF, PPTX
7,002 views
ctfで学ぼうリバースエンジニアリング
初心者向け、SECCON2015binary100の解説LT
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 22
2
/ 22
Most read
3
/ 22
4
/ 22
5
/ 22
6
/ 22
7
/ 22
8
/ 22
9
/ 22
10
/ 22
11
/ 22
12
/ 22
13
/ 22
14
/ 22
Most read
15
/ 22
16
/ 22
17
/ 22
Most read
18
/ 22
19
/ 22
20
/ 22
21
/ 22
22
/ 22
More Related Content
PDF
CTF超入門 (for 第12回セキュリティさくら)
by
kikuchan98
PDF
CTF for ビギナーズ バイナリ講習資料
by
SECCON Beginners
PDF
CTF for ビギナーズ ネットワーク講習資料
by
SECCON Beginners
PDF
えっ今日はハッキングしてもいいのか?(CTF Web入門)
by
otya mura
PDF
初心者向けCTFのWeb分野の強化法
by
kazkiti
PDF
PWNの超入門 大和セキュリティ神戸 2018-03-25
by
Isaac Mathis
PPTX
トランザクションの設計と進化
by
Kumazaki Hiroki
PPTX
CyberChefの使い方(HamaCTF2019 WriteUp編)
by
Shota Shinogi
CTF超入門 (for 第12回セキュリティさくら)
by
kikuchan98
CTF for ビギナーズ バイナリ講習資料
by
SECCON Beginners
CTF for ビギナーズ ネットワーク講習資料
by
SECCON Beginners
えっ今日はハッキングしてもいいのか?(CTF Web入門)
by
otya mura
初心者向けCTFのWeb分野の強化法
by
kazkiti
PWNの超入門 大和セキュリティ神戸 2018-03-25
by
Isaac Mathis
トランザクションの設計と進化
by
Kumazaki Hiroki
CyberChefの使い方(HamaCTF2019 WriteUp編)
by
Shota Shinogi
What's hot
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
PDF
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
by
NTT DATA Technology & Innovation
PDF
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
by
Tokoroten Nakayama
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
RSA暗号運用でやってはいけない n のこと #ssmjp
by
sonickun
PDF
実践イカパケット解析
by
Yuki Mizuno
PDF
SAT/SMTソルバの仕組み
by
Masahiro Sakai
PDF
flaws.cloudに挑戦しよう!
by
zaki4649
PDF
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
PDF
プログラムを高速化する話
by
京大 マイコンクラブ
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
.NET Core 3.0時代のメモリ管理
by
KageShiron
PPTX
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
by
Tokoroten Nakayama
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
by
Kuniyasu Suzaki
PDF
Marp Tutorial
by
Rui Watanabe
PDF
機械学習で泣かないためのコード設計 2018
by
Takahiro Kubo
PDF
目grep入門 +解説
by
murachue
PDF
組織にテストを書く文化を根付かせる戦略と戦術
by
Takuto Wada
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
by
NTT DATA Technology & Innovation
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
by
Tokoroten Nakayama
Docker Compose 徹底解説
by
Masahito Zembutsu
RSA暗号運用でやってはいけない n のこと #ssmjp
by
sonickun
実践イカパケット解析
by
Yuki Mizuno
SAT/SMTソルバの仕組み
by
Masahiro Sakai
flaws.cloudに挑戦しよう!
by
zaki4649
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
プログラムを高速化する話
by
京大 マイコンクラブ
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
マイクロにしすぎた結果がこれだよ!
by
mosa siru
.NET Core 3.0時代のメモリ管理
by
KageShiron
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
by
Tokoroten Nakayama
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
by
Kuniyasu Suzaki
Marp Tutorial
by
Rui Watanabe
機械学習で泣かないためのコード設計 2018
by
Takahiro Kubo
目grep入門 +解説
by
murachue
組織にテストを書く文化を根付かせる戦略と戦術
by
Takuto Wada
Viewers also liked
PDF
katagaitai CTF勉強会 #5 Crypto
by
trmr
PDF
CTF初心者🔰
by
icchy
PDF
Can We Prevent Use-after-free Attacks?
by
inaz2
PPTX
セキュリティを学ぼう~Ctfを添えて~
by
Takumi Ishibashi
PDF
Summary of "Hacking", 0x351-0x354
by
Taku Miyakawa
PPT
Beta
by
Nithin Chandran
ODP
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
by
nomuken
PDF
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
by
junk_coken
katagaitai CTF勉強会 #5 Crypto
by
trmr
CTF初心者🔰
by
icchy
Can We Prevent Use-after-free Attacks?
by
inaz2
セキュリティを学ぼう~Ctfを添えて~
by
Takumi Ishibashi
Summary of "Hacking", 0x351-0x354
by
Taku Miyakawa
Beta
by
Nithin Chandran
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
by
nomuken
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
by
junk_coken
ctfで学ぼうリバースエンジニアリング
1.
CTFで学ぼう! リバースエンジニアリング @junk_coken
2.
自己紹介 ● ジャンクさん(@junk_coken) ● どこかの留年しそうな専門学校生 ●
セキュリティのことを勉強中 ● java女子部は昨年12月の部活からの超新参 ● CTF初心者 ● LT初です
3.
リバースエンジニアリング、ご存知ですか?
4.
リバースエンジニアリングとは ● 機械語である実行ファイル(.jarなど)から人間が 読めるソースコードを導き出すこと。 (一部の超人はバイナリ読んじゃう) ● マルウェア(ウイルス)の解析によく使われる手法 の一つ。
5.
では、CTFはご存知ですか?
6.
CTFとは ● Capture The
Flagの略。 ● セキュリティ技術を競うコンテスト。 ● 有名なCTFでは日本では「SECCON」、 海外では 「DEFCON」などがある。 ● CTFで問われる技術の中に、 リバースエンジニアリングが存在する!
7.
リバースエンジニアリング問題を 解いてみよう!
8.
SECCON2015 Online CTF
binary100 Reverse-Engineering Android APK 1 問題文:じゃんけんに1000回連続で勝ち続けよ rps.apk ← 実行ファイルが落ちてくる (解答は SECCON{hogehoge} の形式)
10.
リバースエンジニアリングは難しい?
11.
リバースエンジニアリングは難しい? ツールで簡単!!!!!
12.
ざっくりリバースエンジニアリング 1. apkをzipとして解凍 2. 中のclasses.dexをdex2jarというツールでjarファイルに変換 3.
変換したjarをzipとして解凍 4. 中のclassファイルをjd-guiというツールで開く 参考: http://qiita.com/kasaharu/items/900fc937be80d87090ce http://d.hatena.ne.jp/ozuma/20130817/1376748772 _人人人人人人_> 完成 < ̄^Y^Y^Y^Y^Y ̄
13.
読める!! 読めるぞ!!
14.
if (1000 ==
MainActivity.this.cnt) { localTextView.setText("SECCON{" + String. valueOf((MainActivity.this.cnt + MainActivity.this. calc()) * 107) + "}"); } つまり・・・ 解答:SECCON{ (1000+calc()の値) * 107 }
15.
calc()とは何ぞや? static { System.loadLibrary("calc"); } public native int
calc(); どうやらライブラリらしい・・・ libフォルダにlibcalc.soが存在
16.
soファイルとは? ● Shared Objectという共有ライブラリ ●
Linuxで扱われるELF形式の実行ファイル ● javaほどわかりやすい リバースエンジニアリングはできない 逆アセンブルをすることになる
17.
x86フォルダ内のlibcalc.soをobjdumpで逆アセンブル! $ objdump -d
libcalc.so <Java_com_example_seccon2015_rock_1paper_1scissors_ MainActivity_calc>: 400: b8 07 00 00 00 mov $0x7,%eax 405: c3 ret movは値をレジスタ(ここではeax)に格納する命令。 7をeaxに格納し、戻り値としてeaxを返している。 soファイルをリバースエンジニアリング!
18.
x86フォルダ内のlibcalc.soをobjdumpで逆アセンブル! $ objdump -d
libcalc.so <Java_com_example_seccon2015_rock_1paper_1scissors_ MainActivity_calc>: 400: b8 07 00 00 00 mov $0x7,%eax 405: c3 ret movは値をレジスタ(ここではeax)に格納する命令。 7をeaxに格納し、戻り値としてeaxを返している。 soファイルをリバースエンジニアリング! calc()は7を返すことがわかる!
19.
それでは解答! SECCON{(1000+7) * 107} ↓ SECCON{107749} SECCON2015onlineCTF問題:https://github. com/SECCON/SECCON2015_online_CTF
20.
まとめ ● リバースエンジニアリングすることでflagのように隠された情報 がわかってしまう (例えば、秘密鍵をそのままソースに埋めていたら・・・) ● 難読化を行うことでリバースエンジニアリングされにくくするこ とはできるが大体時間稼ぎにしかならないと思われる。 ●
機密情報はなるべくソースに入れないのが吉。
21.
まとめ ここで紹介した技術は絶対に悪用しないように お願いします。 基本的にリバースエンジニアリングは著作者の許可 なく行うことは許されません。
22.
ご清聴ありがとうございました
Download