EMU618社区

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

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

 关闭 [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]   ! B" Q, _0 |9 R9 u, J5 t9 J
PC Game Hack -- DLL Relocation
2 J- X/ K  }5 m2 Y3 |+ A; {
Author: Krizal Chen 3 x. q+ s% d, A, ]
HackerTeam: VirusDream7
9 t9 o5 H  b  V! R2 C# ]
Original: DarkShadow GameHackTeam + c! A# ]% G0 p, m$ r  ~
WebSite:http://kenkuroro.t35.com ! G  h$ u7 e) v8 C1 U( S
Blog:http://tw.myblog.yahoo.com/dsght-krizal   `' n) J' \: a* e) y) A3 I

' Y/ v: x( {8 v, {' T
  {5 v! I! V- A

7 X6 I! m( }+ W4 f
昨天2009/08/12 Thursday 4 E5 p$ x, Q1 g" M
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
- w) `$ [+ N* @# \6 a  i; E
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀,
3 i+ [) A8 a9 G2 d/ U
希望那三隻可愛的寶寶也能早日投胎。 5 O) j7 z0 o0 N  J# r
  G, y- B+ L3 ]  B* x+ d
明天是本人的生日,
6 L& Q+ X0 H4 l1 P6 c
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間,
- }% [% P2 b1 b! v, Q
於是把我這禮拜Hack某西的某些資料,整理簡化寫個教學, 6 Y! ]0 L. k9 O5 l- X1 W+ k7 {- H1 C
適用於PC Game Hack或是加密解密的應用。 3 _$ c/ ?6 M5 C/ a) y) x

! a; V  ^0 @  |0 y" ]
3 f8 v! `3 Z& J* D. w
# ~: u, q+ B" A4 q% w; N, k

7 `0 r' A! B9 Z5 o3 U
首先我們先了解什麼是重定位? - T* N2 R' V1 P/ F2 @4 g

. k. A' E" p" R+ _- Z. s- b, O
一般Windows執行檔EXE,
5 A6 t. r" ]5 I$ D. \
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。 & K' L2 r& C: P; t
但是DLL並沒有辦法獲得保證,所以需要重定位資料, , g, {" y! o; Z9 l
使DLL重新定位,否則可能造成程式執行上的錯誤。
3 X' S5 H9 F0 F
, v9 Z( F) B( U+ V4 D% L6 v% G4 i

+ I) d: c- s( I! s5 ]9 R6 J2 c! ]1 a
什麼時候需要重定位?
4 @7 }* n9 A& r8 Y& X
7 [: b' N  |: S
當我們修改完DLL的時候,都必須進行重定位修復。 6 {# d( p1 I% C' b; x
ex: , A9 r/ h4 G& ]8 e+ f7 _, B" l
Original:
$ S) t2 K' U, Q, I# g& R: Q% a! c005269A8      6A 00               push 0
) P+ t8 k! ~! p7 T% A- i3 G
005269AA      6A 00               push 0 " \8 x: j& v4 s$ i& q
005269AC      E8 72000000         call Visual.00526A23 ( |* u! ^6 y+ n+ A6 }1 ~
0 `- V0 O. E6 f* |. J
After:
# _* ^! z4 f5 g& G* z/ b2 g& S4 s005269A8      68 10695300         push Visual.00536910 & Q: C* |6 o+ L5 E* ~
005269AD      68 20645200         push Visual.00526420
$ m( D5 D( G+ {3 ^6 ^9 u: J005269B2      E8 6C000000         call Visual.00526A23
: k* j- k# f& e1 v. G1 H' `$ z
6 L3 i* P; d+ ?: H% Z
當以上程式碼經過修改後有兩段需要進行重定位: 9 R) Y% k$ ?  C: K
005269A8      68 【10695300】       push Visual.00536910 4 [* z7 `6 Y# u
005269AD      68 【20645200】       push Visual.00526420
/ e& t( k7 F. y& m3 v. w0 n0 p005269B2      E8  6C000000         call Visual.00526A23 " E* J- H4 H/ v- e
Must be relocated Address: 0x5269A9 & 0x5269AE
' y$ r& v" X5 o4 a( h1 [

$ `3 n$ q$ C4 w1 @實際範例:
+ |% Q8 B  }$ N$ \/ H+ F7 D4 V# W- A
) a% p- i2 f$ n, _- m本人使用了C++撰寫了一個DLL Demo和DLL Loader,
1 F& \# a; [% J/ M, _給大家方面練習,下載於附件。 # G$ W! d0 G) G, S, q6 @; D& v

6 n5 c9 S) @' |3 `; e+ ?* X修改目的,讓MsgBox彈出顯示字串。
: {7 M2 s9 U# ]& X
# a3 R" X7 P' e5 FP.S.
$ e) m3 M+ h4 ]為了讓初學者快速上手,DLL已經處理過, 1 P, i' k% p2 d6 O
可以直接使用RVA,且更改ASM時也預留了很多空間。
- H+ O  b+ }  b, d- R突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^
# ^# }! r9 L1 P' x3 c+ }
+ q6 k$ T" d/ C2 f" ]" Y. Z2 z$ i9 Q
游客,如果您要查看本帖隐藏内容请回复

1 P1 K! q$ S9 R5 I+ l4 w0 [) |; x) c4 I* L# r$ {
[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1786 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...
" g' R% t8 ~9 Z8 h6 k3 F& k- b看不懂,纯支持了2 j8 \7 v9 N% c* n$ F
: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 | 显示全部楼层
那个 好象我顶过团长的这帖了" \3 Z* `/ r- Q# i7 ?
论坛回滚:funk:

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,1 g1 K; ~- m: F1 @
已經有盡量簡化過了,希望各位能有所得。
" p4 K  B; u! F& R( |1 A! @: c學會後對於Hack DLL 很有用處。# i7 _4 U, Y$ L. s8 i8 `$ B

; W( {% h" f7 G/ pPS:4 Y2 s9 O+ X, v2 i8 p
1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,' r% N# h4 x) Z) f' a0 s
但是記得更換字串書寫格式。
: {/ y+ ?8 T3 t" m( c" e: j- ?8 F% X
2.此DLL其實更改後需要修復3處,
4 [3 u6 T: ^" t6 ~  E; Q最後一處蠻簡單的,就留給大家當Homework。

该用户从未签到

发表于 2009-8-14 21:03:11 | 显示全部楼层
睡起来看看,在顶一帖
头像被屏蔽

该用户从未签到

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

该用户从未签到

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

签到天数: 2171 天

[LV.Master]伴坛终老

发表于 2009-8-17 20:25:26 | 显示全部楼层
来迟了,支持一下团长,团长生日快乐。:loveliness:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 00:28 , Processed in 1.095703 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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