Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
東華大學資工周-我的程式安全嗎
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
LegBone
June 04, 2014
Programming
0
160
東華大學資工周-我的程式安全嗎
LegBone
June 04, 2014
Tweet
Share
More Decks by LegBone
See All by LegBone
SITCON2015-列印點數歡樂談
cowby123
0
340
第一次自幹debugger就上手
cowby123
1
950
Other Decks in Programming
See All in Programming
AI & Enginnering
codelynx
0
120
atmaCup #23でAIコーディングを活用した話
ml_bear
1
130
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
470
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
680
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
620
MUSUBIXとは
nahisaho
0
140
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Amusing Abliteration
ianozsvald
0
110
Practical Orchestrator
shlominoach
191
11k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Prompt Engineering for Job Search
mfonobong
0
160
Transcript
初探滲透測試系列 – 我的程式安全嗎? 我的心血會不會被免費公布?
About Me • LegBone(蔡耀德) • 撰寫BY PASS Hackshield • TDOHacker
南區召集人 • 本業是廚師,coder 的身份 只是掩飾,平常最大的興趣 就是到處亂拆,debug 只是 為了世界和平,來自傳說中 的黑暗料理界。 • 慣用VC,asm • 平常拆點東西 • 不務正業
逆向工程
可以用在….改遊戲,挖0day,註冊軟體,繁化軟體….等
每種保護都有相對應的破解方式 但是你只要讓破解者花費更多心 力,你就成功了!
前置技能:會寫CODE,看得懂ASM
逆向常用工具介紹
OllyDbg
Cheat Engine
IDA PRO
當然不止這三套
再來 開始改!
三分鐘惡補! 我猜這裏的人大多數都看不懂組合語言
指令 用途 Jmp 地址 無條件跳轉到某地址 je 地址 如果暫存器Z=1就跳轉 jne 地址
如果暫存器Z=0就跳轉 add 數值A,數值B 把數值A加到數值B 數值A可為地址 Call 地址 把返回地址壓進堆疊 之後跳轉到地址 nop 不做任何動作
MessageBoxA(NULL,”標題”,”內容”,NULL); push 0 push 標題 push 內容 push 0 CALL
MessageBoxA
If(true){ ::MessageBoxA(NULL,”標題”,”註冊成功”,NULL); } else{ ::MessageBoxA(NULL,”標題”,”註冊失敗”,NULL); }
DEMO+實作
再來 怎麼保護軟體呢?
1.把一些東西寫進註冊檔裡面,可能是某個dll,沒 有那個註冊DLL,軟體就沒辦法擁有完整功能
2.加殼
這次介紹的是VMProtect 他有原始碼的狀況下 可以對某段程式碼加上虛擬機
DEMO+實作
逆向工程在遊戲上的用途!
植物大戰殭屍
要是用C++來寫的話……. cd = cd-1; If(cd == 0){ 產生陽光; }
要是用ASM來寫的話……. add [cd],0xFF FF在這裡表示-1 add是加 CD這個地址裡面的數值加上-1
DEMO+實作