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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
LegBone
June 04, 2014
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
東華大學資工周-我的程式安全嗎
LegBone
June 04, 2014
More Decks by LegBone
See All by LegBone
SITCON2015-列印點數歡樂談
cowby123
0
350
第一次自幹debugger就上手
cowby123
1
960
Other Decks in Programming
See All in Programming
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
500
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
430
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
130
5分で問診!Composer セキュリティ健康診断
codmoninc
0
250
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
380
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
4.3k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
180
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
230
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
330
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
The Limits of Empathy - UXLibs8
cassininazir
1
490
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Scaling GitHub
holman
464
140k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Everyday Curiosity
cassininazir
0
250
Deep Space Network (abreviated)
tonyrice
0
230
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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+實作