设为首页收藏本站

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

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

  [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]  
1 g( P1 P. d. Q* o6 q
PC Game Hack -- DLL Relocation + j2 i% U! `6 x3 w
Author: Krizal Chen
9 K6 ?( Y# g% @+ L7 \* m( w
HackerTeam: VirusDream7
' E2 H* C# M! p* y+ r! t4 z
Original: DarkShadow GameHackTeam
& K  t( Z/ K* t$ f: C
WebSite:http://kenkuroro.t35.com
; F1 P: {0 Y$ g0 \" K
Blog:http://tw.myblog.yahoo.com/dsght-krizal
  B8 b4 B  e$ C. d+ N7 M
1 G3 k- m9 k  }5 B$ e

0 H5 P2 g  C2 E4 N0 ~

( p8 Z+ z. {) }1 S( Q- r1 E
昨天2009/08/12 Thursday
* v( z$ n) K% Q/ [5 S
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
9 Q4 K+ H. }) X/ x/ x( i, b2 T
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀,
( [5 f. M( |% s: S+ P& w4 l) e
希望那三隻可愛的寶寶也能早日投胎。
, \4 T; s) F/ Z9 A$ J& p

6 T% ^; U( _+ b2 i1 e7 S) m6 i/ n
明天是本人的生日,
# c% H+ f: S" c3 C
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間, 9 a% w- n2 U: M, |  x4 t- ^
於是把我這禮拜Hack某東西的某些資料,整理簡化寫個教學, 8 U/ q" a" w2 s  }
適用於PC Game Hack或是加密解密的應用。 ' `" n' s& H8 A

4 u! N2 Y$ \& P5 |7 [

( [! l  D$ u% j2 }3 C- u1 ~
; I7 j! c1 ^4 Q& R" E
- t8 d* s6 t, j- r9 L
首先我們先了解什麼是重定位?
2 i* F4 i6 P2 R0 T9 O

  t) m. i9 _' {+ j
一般Windows執行檔EXE, , i3 k# W4 K% n+ }/ K  b% ~
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。 - _& ^# @9 i9 h/ [( x
但是DLL並沒有辦法獲得保證,所以需要重定位資料, ! @3 O5 j8 a6 R! I
使DLL重新定位,否則可能造成程式執行上的錯誤。
9 v; q% C7 m& _- F

( ^) w" H3 j- q% i. v4 m: }

$ {; P  s0 @: q, u5 S0 _
什麼時候需要重定位?
" P: A$ m: c- ^" t( T2 ^9 F
0 ?7 w, w3 _- u/ ?
當我們修改完DLL的時候,都必須進行重定位修復。
& c. f. z' h* E
ex:
) k/ J6 O/ J/ u0 K6 x2 g& D& A/ Q- UOriginal:
& [: I) b5 O# e6 I2 c& T0 O005269A8      6A 00               push 0

, z* e2 c) G# F. H" ^* m, m005269AA      6A 00               push 0 8 x1 n7 u5 H, v1 B3 X
005269AC      E8 72000000         call Visual.00526A23
9 A: ^  g3 @, A: ]1 `' g8 |5 ]- @7 h6 E' @' [5 u* ^3 K. `( h2 A3 a
After: " X4 X9 I- @, u2 J
005269A8      68 10695300         push Visual.00536910 4 L3 J, ]0 ~! M8 u2 N( \
005269AD      68 20645200         push Visual.00526420 ! R) ^- j3 B5 [, y
005269B2      E8 6C000000         call Visual.00526A23 2 `+ W, D# J1 l  e* m
/ h* L' w- s! d+ O3 k0 V! W9 {
當以上程式碼經過修改後有兩段需要進行重定位: . f' E# t9 z. m, ~: B
005269A8      68 【10695300】       push Visual.00536910   I* B8 w; c9 f' J
005269AD      68 【20645200】       push Visual.00526420
$ N) S8 Y% B* v0 s005269B2      E8  6C000000         call Visual.00526A23 4 W2 y5 u8 t  B
Must be relocated Address: 0x5269A9 & 0x5269AE
% d$ c1 ^* {" ~. M5 v! i

; {9 Z! O9 L; {" J/ n9 R' r實際範例: 9 N  j/ q1 _, B; {4 q2 B

( _- Z# d4 m! S本人使用了C++撰寫了一個DLL Demo和DLL Loader, ; O# }% |1 r4 `+ K3 b
給大家方面練習,下載於附件。
; A& N- N$ |5 W$ T1 K* \! R2 W1 E+ }1 I2 B3 X
修改目的,讓MsgBox彈出顯示字串。
/ [9 S  V2 ~. _- R7 b; [1 x$ f: Y( X
. l1 y4 d& q" k2 Y$ S+ U, a3 ~7 NP.S. 0 s4 ]1 Q- l+ K8 h3 l- n
為了讓初學者快速上手,DLL已經處理過,
- d6 z! {3 B& b5 X* @, I可以直接使用RVA,且更改ASM時也預留了很多空間。
- D' e  T# Z1 h* g9 O6 |突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^ 4 O$ X: f* D: w6 G- R
8 ]' h4 R' ~1 u7 a5 d) V6 U' [
游客,如果您要查看本帖隐藏内容请回复

" `: W  z8 i" E% m
. [3 S' x+ Z! E+ j* d8 k' n[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1633 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...
7 v- l, V* Y8 b  `0 R) D" L9 `' g看不懂,纯支持了4 N8 F2 M9 i  e# s9 S& `2 [
: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 | 显示全部楼层
那个 好象我顶过团长的这帖了/ w0 C9 P4 ~6 D( `/ Y
论坛回滚:funk:
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,
* F* y6 F% b  y" l1 k/ |已經有盡量簡化過了,希望各位能有所得。/ Q! w& S# B7 z2 [, x
學會後對於Hack DLL 很有用處。
4 R5 d8 u9 }5 O" t1 c7 |& b
5 b6 h6 {5 V. v$ S$ @& u1 U8 PPS:  L, H' h4 J% J! b/ f7 P
1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,  M& W1 E5 ?3 o- T  ]" i
但是記得更換字串書寫格式。1 D/ u+ G2 \# i1 F9 s$ W2 Z6 {0 \

$ o9 g4 |. Q( D( E5 s( q2.此DLL其實更改後需要修復3處,
+ x+ @2 S( O0 r% A最後一處蠻簡單的,就留給大家當Homework。
回复

使用道具 举报

该用户从未签到

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

使用道具 举报

头像被屏蔽

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 2012 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-16 00:40

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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