设为首页收藏本站

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

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

  [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]   5 o4 D  g5 r! `' _6 }
PC Game Hack -- DLL Relocation
, f. Z" `6 K2 B" o0 z, C! {
Author: Krizal Chen
$ I* l$ B: {! s
HackerTeam: VirusDream7 ! \4 T& o; l/ W- V+ n1 x- f4 g
Original: DarkShadow GameHackTeam   J6 |8 i: A! ?& c- e2 g
WebSite:http://kenkuroro.t35.com
* w( M% R8 b8 B
Blog:http://tw.myblog.yahoo.com/dsght-krizal
) C5 M3 R; A  o7 F
/ d' Z1 h5 M0 d  f; ~

4 k8 p+ s% ?/ {% n# Q5 {

4 b2 R; d1 d1 H) K/ h- X1 A. o7 c
昨天2009/08/12 Thursday - o) z* o8 S8 |2 `) k
我們家的寶貝米格魯 - ミル,生了七隻小寶寶, * ]! c  x9 C1 T3 r+ _
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀,
: b. W8 T0 k4 B2 p
希望那三隻可愛的寶寶也能早日投胎。 ) ]4 K4 p1 d9 Q  w7 f& I
% Y0 m" ]; M5 S+ Y3 P# l
明天是本人的生日,
! J. r; W* y; B7 }
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間, ' j' r  G1 s  s9 O
於是把我這禮拜Hack某東西的某些資料,整理簡化寫個教學, * g+ T. j4 z+ Z4 m2 {/ p
適用於PC Game Hack或是加密解密的應用。   v) L* H+ A% f& Q# E
, D: B, c1 T' u: a3 r$ s" [! E

2 q" F, T; V, j) G( q  w' m: Z3 E

3 R% r6 }) P* w6 _$ z

4 w/ l& |+ b3 r! G4 n5 I# `
首先我們先了解什麼是重定位? - g$ q& t& h; Z

! k) F; K! i  V4 [0 K
一般Windows執行檔EXE,
' N2 l& V- L) ?8 M
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。 2 \3 B0 G0 V: }! B8 x
但是DLL並沒有辦法獲得保證,所以需要重定位資料, 0 O, M3 @; J, T5 T* z! t
使DLL重新定位,否則可能造成程式執行上的錯誤。 % b7 U- U, e$ T  w7 y0 w/ s
: d2 N% r" w; c+ n% G3 a

6 h4 P8 h$ F: p9 F* V- M+ w0 g; T
什麼時候需要重定位? 4 V; a  k6 S5 J# H* Y/ f

* X9 k- q9 V! x. ~" ~; ^3 d7 @
當我們修改完DLL的時候,都必須進行重定位修復。 : m" X8 Q( f7 a* o. V
ex: 8 I$ B7 ~9 W3 Y3 u5 J" V
Original:
3 b2 ?, v3 O, C, ?005269A8      6A 00               push 0

; S4 A6 Z# Q4 `% h4 V$ A005269AA      6A 00               push 0
5 E; u7 t7 G- B005269AC      E8 72000000         call Visual.00526A23
/ j' q/ v- B/ N' T1 M5 f2 Z0 W6 m5 {& Y+ j% O5 I+ T
After: : e5 t1 f* A' x5 G# E
005269A8      68 10695300         push Visual.00536910 4 k2 l  m+ u! u
005269AD      68 20645200         push Visual.00526420 1 ?2 w" R9 N" k1 u9 c3 z) R
005269B2      E8 6C000000         call Visual.00526A23
- N" g& e- `8 y; Q' C" d3 @% V0 K0 C& S) J$ X4 }7 m
當以上程式碼經過修改後有兩段需要進行重定位: , J/ H0 ?; u. B
005269A8      68 【10695300】       push Visual.00536910 3 E# N- [5 \9 M6 M. \5 {
005269AD      68 【20645200】       push Visual.00526420 * ]' c! f2 _" p% I) C4 M. W. C0 ^
005269B2      E8  6C000000         call Visual.00526A23 * H* X: B2 a: q# Y. r& ~4 r
Must be relocated Address: 0x5269A9 & 0x5269AE ( X$ P/ V' g$ A1 Z: i) T" F$ O
" C! Y3 e( L# l
實際範例: : N! x- P7 c! Q  F& d

; `+ `  V9 X9 X本人使用了C++撰寫了一個DLL Demo和DLL Loader, + {  b! u2 @0 D7 z4 {* a7 m
給大家方面練習,下載於附件。
3 G: h! B0 A' l9 g9 E( _) i( ?8 K
修改目的,讓MsgBox彈出顯示字串。 ' {- H$ l2 {& ^4 }% f5 k
( ^2 H, u3 Y) \  Z  u
P.S. 6 b- l7 F5 `: R, u
為了讓初學者快速上手,DLL已經處理過, / @3 }. n" u' r6 J0 |- q
可以直接使用RVA,且更改ASM時也預留了很多空間。
+ ]% v( u6 f1 w2 s  g3 k6 E. V突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^ $ D1 R9 s( z" m
7 e% G, U* O' s" v! B
游客,如果您要查看本帖隐藏内容请回复

5 ]3 k8 F) P7 `8 s+ ~2 Y- ^. ]7 e3 C" _& e( x  v
[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1651 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...
* I+ o; z7 j3 g0 G. n  U看不懂,纯支持了! W' ^1 G9 x, ?3 f7 Y1 ^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 | 显示全部楼层
那个 好象我顶过团长的这帖了3 ^( f, o; _- f5 r
论坛回滚:funk:
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,; O& N$ m# Q1 v. C
已經有盡量簡化過了,希望各位能有所得。  \9 y7 }6 Q& |$ m
學會後對於Hack DLL 很有用處。; J, M/ M& h6 c; K  e# J
& n. t( R4 Q' Z  E* m% x
PS:$ p1 K# k5 c2 d3 [# i; h
1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,
7 b3 \7 k3 ^; V  D% W' Y* I但是記得更換字串書寫格式。
+ t& z, T5 }2 B& S: y9 U9 |1 N
3 m* e5 W7 u/ o2.此DLL其實更改後需要修復3處,
% ~# D$ S7 N$ l: @; A最後一處蠻簡單的,就留給大家當Homework。
回复

使用道具 举报

该用户从未签到

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

使用道具 举报

头像被屏蔽

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 2032 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-5 03:04

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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