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
LegBone
June 04, 2014
Programming
0
150
東華大學資工周-我的程式安全嗎
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
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.1k
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.3k
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
220
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
770
VS Code Update for GitHub Copilot
74th
2
640
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
18k
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
290
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
100
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
190
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
800
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Faster Mobile Websites
deanohume
307
31k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
For a Future-Friendly Web
brad_frost
179
9.8k
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
A better future with KSS
kneath
238
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
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+實作