设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 2596|回复: 11

[原创HACK教程] 【Hack Tutorial】DLL Relocation

  [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]   / R! d1 w; n/ M  [; B
PC Game Hack -- DLL Relocation
0 d, `4 a- |4 \  @. W) S. U
Author: Krizal Chen 0 z; m$ x# K  U4 l! z
HackerTeam: VirusDream7
( S% p# E- v/ U  `
Original: DarkShadow GameHackTeam 4 ]; O" a# T+ Q  g8 J
WebSite:http://kenkuroro.t35.com
2 Z1 ?! z. @$ a8 `# @/ X
Blog:http://tw.myblog.yahoo.com/dsght-krizal
3 w6 u+ c- `" F2 G: l
, ?- v" G3 \$ f% Q" P  V+ e
* r" y. y' {8 D+ i6 R% ?+ p; L7 ]
3 G' T7 {5 w, \  [; v/ n) @6 K* b
昨天2009/08/12 Thursday 3 k# F% e5 E  D/ O) \1 W7 [. u
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
6 N( k; M$ ~! k% S9 Z& V8 F3 z3 H' L
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀, 7 G! \- O& C- J" `* ?7 E. f+ e
希望那三隻可愛的寶寶也能早日投胎。
( J- h8 e$ P$ ?" q: S! C1 Q
7 C% q5 c+ w; K$ ]$ U; F
明天是本人的生日,
; n4 b9 A) D& c1 p  a# V7 ]' V
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間,
! m/ y7 F# L5 E! j1 [. X7 i% k
於是把我這禮拜Hack某東西的某些資料,整理簡化寫個教學,
* x  O3 S6 }+ d4 R! d7 U
適用於PC Game Hack或是加密解密的應用。
' o; c. ]8 y$ p- e  b

4 x' L- r6 b0 B8 H
9 C; \2 [) C7 p% s. w7 P. H/ F# k% k* _

, I. j; x) e. t: i7 j, t

; ?" N& A- ]: s
首先我們先了解什麼是重定位? $ ~, h/ y# k) f, H( W' o" N
# V& x- L8 m8 B7 `0 S, @9 y
一般Windows執行檔EXE, - U  y% V) s* Z% A2 d
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。
- l. {  O  I1 f2 D* \; o( s
但是DLL並沒有辦法獲得保證,所以需要重定位資料, , U$ P  b. ^1 B  j9 u( R
使DLL重新定位,否則可能造成程式執行上的錯誤。
# C0 y% z; v, f

: e. w/ Z/ a" i: _4 p% |, R

4 H) D. N/ A# [6 r! p$ @
什麼時候需要重定位? + q* G$ C& i/ r- O! g" Y
! M& r+ \! C0 Q2 q$ B
當我們修改完DLL的時候,都必須進行重定位修復。
! I$ m1 p+ R4 G7 o+ v* k
ex: , F# v+ v9 S8 g
Original: ; D5 D/ u& O& y( E$ p
005269A8      6A 00               push 0

: O/ S4 G' v- t: u+ H# J9 k  M005269AA      6A 00               push 0 6 {( a. r+ s9 Q
005269AC      E8 72000000         call Visual.00526A23
. g, K' v% |9 f% w( K! y% Q: a
- p4 m0 e3 K8 T: vAfter:
% B6 u7 O0 c, z. v4 I5 ]$ ^005269A8      68 10695300         push Visual.00536910
; w/ S9 {+ z4 R" E5 R. Q' ~005269AD      68 20645200         push Visual.00526420 4 b# A: l# t$ X& |+ Q' j) K! P! z& o* E
005269B2      E8 6C000000         call Visual.00526A23 5 c' ?* Y1 V5 c3 c' S* o" {4 T

1 M8 ?3 y) A4 D: X
當以上程式碼經過修改後有兩段需要進行重定位: 7 k  B' R# |! D1 j
005269A8      68 【10695300】       push Visual.00536910 / E9 q5 G" s& ?+ x% R8 u
005269AD      68 【20645200】       push Visual.00526420 : g8 @+ ~( L) n& L- y- J
005269B2      E8  6C000000         call Visual.00526A23 . @+ `' T, {& G: Q9 J" [
Must be relocated Address: 0x5269A9 & 0x5269AE
! [" @. C& M1 W4 t  [, c8 k9 K
( K; f" l/ D4 K: ?2 P. C8 e
實際範例: & m7 i- c. h3 u  m8 V
$ W$ ]/ Y9 j9 x8 q
本人使用了C++撰寫了一個DLL Demo和DLL Loader,
3 T8 r( U# v( l$ @! _給大家方面練習,下載於附件。 " X; P7 S: x7 {$ }5 I7 o; R5 \
3 R/ W  x5 m0 V- I* R2 ^, H
修改目的,讓MsgBox彈出顯示字串。
9 y6 B" S, @; @" n; ^, p; ?1 X$ D/ x" F
P.S.
5 N9 x' O$ c, l  ?6 }為了讓初學者快速上手,DLL已經處理過, # G" [6 x7 j4 d  @
可以直接使用RVA,且更改ASM時也預留了很多空間。 1 c: R3 A3 i! r9 W  d& b8 H2 A
突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^ 5 x6 z' y  e* H) L/ P
; `+ z8 u& Y7 ]% o
游客,如果您要查看本帖隐藏内容请回复
) |) t& u: a& t8 x5 S

6 Y( P+ X' K& r5 A[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1613 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...1 Y0 A4 U" h! H: B- F
看不懂,纯支持了
1 T; s$ a) r/ h:L
回复

使用道具 举报

签到天数: 41 天

[LV.5]常住居民I

发表于 2009-8-13 22:49:34 | 显示全部楼层
回帖看隐藏:loveliness:
回复

使用道具 举报

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2009-8-14 02:42:28 | 显示全部楼层
团长的东西都是让我们这些新手看着晕头:victory:
回复

使用道具 举报

签到天数: 712 天

[LV.9]以坛为家II

发表于 2009-8-14 07:44:11 | 显示全部楼层
虽然看不懂,还是要支持下。:loveliness:
回复

使用道具 举报

签到天数: 343 天

[LV.8]以坛为家I

发表于 2009-8-14 10:49:58 | 显示全部楼层
感谢团长,支持下。
回复

使用道具 举报

该用户从未签到

发表于 2009-8-14 16:00:50 | 显示全部楼层
那个 好象我顶过团长的这帖了4 K* ^. h4 f9 n6 a
论坛回滚:funk:
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,4 E6 e' i* I4 ?# {! F8 b
已經有盡量簡化過了,希望各位能有所得。
( J" b# V; A# n* r學會後對於Hack DLL 很有用處。
# O$ D: m0 V! n6 x' T3 _/ c; e( i/ N& v. q- O8 h, s
PS:* v! b% u4 y# |, E8 ]
1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,; O6 p6 l4 B1 d$ c% n3 J
但是記得更換字串書寫格式。7 N$ b# V1 Z- n2 b8 \& c

9 `, v) \% W9 v, Z8 M& Y9 X2.此DLL其實更改後需要修復3處,
% s+ R1 l; W+ _) }: r$ h- Q- p最後一處蠻簡單的,就留給大家當Homework。
回复

使用道具 举报

该用户从未签到

发表于 2009-8-14 21:03:11 | 显示全部楼层
睡起来看看,在顶一帖
回复

使用道具 举报

头像被屏蔽

该用户从未签到

发表于 2009-8-15 09:01:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

该用户从未签到

发表于 2009-8-15 11:29:53 | 显示全部楼层
看看隐藏
回复

使用道具 举报

签到天数: 1993 天

[LV.Master]伴坛终老

发表于 2009-8-17 20:25:26 | 显示全部楼层
来迟了,支持一下团长,团长生日快乐。:loveliness:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-6-26 02:35

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表