EMU618社区

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

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

 关闭 [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]   % [9 w  T* ^# C, F, F% W3 U
PC Game Hack -- DLL Relocation 6 N2 \  a+ S3 H& w7 Q3 J
Author: Krizal Chen
  N, a: I2 j2 l4 N" g
HackerTeam: VirusDream7 # o0 v# ]! K! s5 f4 d
Original: DarkShadow GameHackTeam ; h( l3 R7 H1 B+ R7 s! d5 s
WebSite:http://kenkuroro.t35.com
1 Z2 I& E" r' u3 D
Blog:http://tw.myblog.yahoo.com/dsght-krizal
( J0 ]' y( q) e% J

( w5 K$ T: R: ]1 Y7 J

: C- n0 d; P2 G7 ~8 V+ F

7 e# g+ |0 _& O' @
昨天2009/08/12 Thursday
* E4 i' O- j& `5 H/ W& K# d, w
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
. ?* T3 t. c3 e' v: o' Q' `# k
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀,
9 ~$ x. c3 V3 J) m6 X
希望那三隻可愛的寶寶也能早日投胎。
$ I% \3 h- S# ?! w

: d1 u$ o7 {6 Z
明天是本人的生日,
1 r. z! w# ?- H1 c# G2 k. |7 i
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間, 1 ^7 B- w% \0 o2 i9 i" l1 g
於是把我這禮拜Hack某西的某些資料,整理簡化寫個教學, # R7 b! c2 g; s; E
適用於PC Game Hack或是加密解密的應用。
* P$ |/ j4 t( {8 }1 i9 N+ V
: }+ ^  c" B- P+ m

. F6 k8 m3 G' J8 z

9 ^: c, q2 t* O/ [! c
& k. D6 D' d# L. G5 ]
首先我們先了解什麼是重定位?
1 J( ~* k5 D* Y& j

* F0 H% j( M7 C4 B
一般Windows執行檔EXE, : E, _, b/ V9 j& D8 o
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。
4 I5 r: Z' h9 l* k, k1 ]6 q" r
但是DLL並沒有辦法獲得保證,所以需要重定位資料, 4 w9 O4 ~  P, x; f3 E" W0 z+ E  h5 o
使DLL重新定位,否則可能造成程式執行上的錯誤。
% s) ]$ V# ?3 h- z0 n) n

) }0 }0 y* r( H* r* D5 l
) Z, @' O! q, U
什麼時候需要重定位? ! @! O+ B- r/ d$ t. W0 H1 J" N

& N3 ]6 \) q+ X. u5 t
當我們修改完DLL的時候,都必須進行重定位修復。 % g  Z* u. ?6 o& I4 Z
ex:
( P+ r  X! j! X  R  F4 jOriginal: ) e1 Q  j9 d! R0 q
005269A8      6A 00               push 0

' \5 D4 b1 Y( U: S005269AA      6A 00               push 0 ) L$ h# M+ u& [' g
005269AC      E8 72000000         call Visual.00526A23
% @- x) W4 [( t# x
# y+ K! M, Z2 T# ]( \* e! }After:
5 _, H- O+ l5 o. g; n) q- b9 n* E4 w005269A8      68 10695300         push Visual.00536910
/ b, r" r" I( n' D005269AD      68 20645200         push Visual.00526420
: ?7 ?* p5 V: P- f005269B2      E8 6C000000         call Visual.00526A23 ' R7 y( J" o# F9 _
, O0 r7 }# ^5 P( ~
當以上程式碼經過修改後有兩段需要進行重定位: 8 M# V* i. D: m
005269A8      68 【10695300】       push Visual.00536910
% M" q* W6 I# I1 s005269AD      68 【20645200】       push Visual.00526420
/ z, k5 m' ]" r. N, \005269B2      E8  6C000000         call Visual.00526A23 + r* [# r3 E; E3 [  n" f: R
Must be relocated Address: 0x5269A9 & 0x5269AE " G+ p$ `3 M9 |& ]! j6 g

/ t3 Z2 A6 u! O) r* ^8 v# A實際範例:
' H0 h! p( h7 s; e3 B! L5 e4 G& H3 B
本人使用了C++撰寫了一個DLL Demo和DLL Loader, * K& Y; S, I7 u+ D6 ]. B5 T
給大家方面練習,下載於附件。
( u" T9 f; e  \" H7 Q& P, K5 b. m4 D1 M6 x+ V
修改目的,讓MsgBox彈出顯示字串。 9 C2 E. N( y4 {6 @( v
% `( d6 D  k7 B4 J+ R
P.S. 8 m1 [8 b* E/ j+ \0 L/ s5 W
為了讓初學者快速上手,DLL已經處理過, . ~- ^: Z) R  @7 N' V- e/ w" q3 m
可以直接使用RVA,且更改ASM時也預留了很多空間。 ( o* e! w  k2 h# m3 ?) |
突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^
0 Y3 ?6 \8 W! Z
" S, ]6 \5 {+ I0 U8 {6 f; h
游客,如果您要查看本帖隐藏内容请回复
' l+ s' o- ~" ~: k5 ^& E

4 \6 ^5 v7 H0 {. e  n4 @[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1540 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...
% u' [/ u' W* S/ T' {看不懂,纯支持了
, v0 z. r! q) H3 Q. z/ U: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 | 显示全部楼层
那个 好象我顶过团长的这帖了. o* t6 [7 X7 `. U% w
论坛回滚:funk:

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,
: e" r3 m$ p% j% v9 p2 P已經有盡量簡化過了,希望各位能有所得。7 p$ Y2 Q" n  `! o* ~/ M5 \
學會後對於Hack DLL 很有用處。
. w5 l! S: l% z/ B3 n, s! a$ J+ t1 {& W/ t
PS:
) E/ F/ |7 g3 A3 I8 w, M) ]: |1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,
: a+ K+ s) F" ~9 i; B% M$ w8 N2 Y但是記得更換字串書寫格式。
3 t1 l8 {5 k. k7 y, R: [3 G
. [7 y2 m/ e6 M1 v$ m2.此DLL其實更改後需要修復3處,
* l3 P. \- a8 ]4 {- \最後一處蠻簡單的,就留給大家當Homework。

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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

签到天数: 1924 天

[LV.Master]伴坛终老

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

本版积分规则

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

GMT+8, 2025-4-19 17:39 , Processed in 1.214844 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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