设为首页收藏本站

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

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

  [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]   5 J/ w$ {' [1 H1 S& ?9 f
PC Game Hack -- DLL Relocation
7 w; h2 e# c2 x; i# H$ [
Author: Krizal Chen
7 ]: b$ E5 h: U* k$ N
HackerTeam: VirusDream7
$ X3 ]9 l0 d# D" H2 D
Original: DarkShadow GameHackTeam 4 ~# D0 y& o6 N  u! @8 d2 J
WebSite:http://kenkuroro.t35.com
- \9 F$ a7 h" G3 O& @! I, Y! p
Blog:http://tw.myblog.yahoo.com/dsght-krizal
8 F; N  ?2 E9 B  O% U7 ]
: \6 l' N0 Z" i7 ?4 l" h( X# N, n

8 I0 X* C% M- T
) g2 J: K' d9 U' T# g
昨天2009/08/12 Thursday
/ A" V4 t0 q- x
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
0 S7 b0 X4 {( P; Y- R
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀,
" k/ W- O$ k9 K! f
希望那三隻可愛的寶寶也能早日投胎。 , Y0 u3 @  {7 B: g4 F' ~

! z' a$ O0 o( J, L/ J* @, ~
明天是本人的生日, 7 o0 D$ |& u8 I3 I
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間,
: ^' ^0 c% J: h+ V8 r5 m: P. R
於是把我這禮拜Hack某東西的某些資料,整理簡化寫個教學, / @* Z+ S& O; {2 t5 s8 I
適用於PC Game Hack或是加密解密的應用。
1 C8 l* l3 E! U; i
! y; U0 L* j2 p( k* t; g

. v1 E$ ^/ r% i# Q

! H) |' z6 L8 s3 k1 A* S' a1 `

3 m5 L& M9 ]  u4 M8 _2 [( j7 ]
首先我們先了解什麼是重定位?
5 e9 D: i& \+ E4 P5 B

, C- h# i3 Q4 N' z3 v. P# H: L0 ~
一般Windows執行檔EXE,
- B% B6 r/ P& A  _1 R, {/ {
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。 & ^8 S4 r4 Q+ T4 \! X
但是DLL並沒有辦法獲得保證,所以需要重定位資料, 1 A  C. U& z0 w2 E# i' @
使DLL重新定位,否則可能造成程式執行上的錯誤。
' G1 A& `4 [& d. m) T0 f, ^2 a

) b( F- B0 o: l( r8 R3 @/ y
1 G9 h# G8 C/ Y" O& z4 A1 f7 J7 s
什麼時候需要重定位?
7 i- N+ {: D, d+ `* M
2 Y, N; ?3 v# l! Q8 b5 f
當我們修改完DLL的時候,都必須進行重定位修復。
+ X  t4 e( b+ p0 ^3 X- \
ex:
  d" b; V: j; U1 b& tOriginal:
4 {2 u# e; \9 P2 K+ B005269A8      6A 00               push 0

# I; w: n9 ?% K( A6 N$ F005269AA      6A 00               push 0 ' X- R, L) L5 n# I2 R4 q; a
005269AC      E8 72000000         call Visual.00526A23 : X  {* c6 @0 F8 d% E/ S
) D5 P. l5 I3 v5 ]* z
After: * n! b' N9 O$ O
005269A8      68 10695300         push Visual.00536910 ' [* d  K$ G! r' d! g/ Q! t: j
005269AD      68 20645200         push Visual.00526420 8 q4 [' E! e+ A* v4 L+ ]  D4 s
005269B2      E8 6C000000         call Visual.00526A23 3 w1 B: d- g/ M5 e% C8 ?9 G
( r8 H3 ^: L9 X& K5 A
當以上程式碼經過修改後有兩段需要進行重定位:
2 A9 q8 g$ Y3 F- z9 T# v6 a- K
005269A8      68 【10695300】       push Visual.00536910
3 R" {! ~. ^! j# k005269AD      68 【20645200】       push Visual.00526420 % ~2 e( O( |6 F/ I
005269B2      E8  6C000000         call Visual.00526A23
( H0 S4 e& u. A  {Must be relocated Address: 0x5269A9 & 0x5269AE / q5 K' F7 z7 q9 \0 j0 h

% n! t+ ?* L# z% A0 ~實際範例:
0 @% F+ f- b+ C4 X. y# q: p
% e' p  B% d! f本人使用了C++撰寫了一個DLL Demo和DLL Loader, , ?' W- \! x# P  @/ K8 }9 b" i' K
給大家方面練習,下載於附件。
; T* U' o0 v9 k
$ Q4 ?0 Y- L5 [# ]修改目的,讓MsgBox彈出顯示字串。 & v1 f% J. b% u. f. e% l0 y
. E& L1 r* l+ ^: X( Q: ~! o
P.S.
0 v  o* N, t; D& z為了讓初學者快速上手,DLL已經處理過,
& @9 Z" J  U/ D1 i6 O6 D) c可以直接使用RVA,且更改ASM時也預留了很多空間。
0 W8 S/ Q6 a( W9 D突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^ ! n. r* E+ P8 Y
: b# D' Z5 V  C' t
游客,如果您要查看本帖隐藏内容请回复

, _, I/ c, `% J: k' s# z5 n! D  `- i) E6 t
[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1514 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...: v4 W. j- D3 e6 L: Z) _
看不懂,纯支持了$ B- i. {. d6 i3 P8 t4 J
: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 | 显示全部楼层
那个 好象我顶过团长的这帖了
: y2 D; }. f9 [1 z2 d, |论坛回滚:funk:
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,
- B' `" h$ i! _8 b& p% a6 S已經有盡量簡化過了,希望各位能有所得。
0 |/ J8 g4 O9 P" _: d+ f# k學會後對於Hack DLL 很有用處。
# T0 e! A2 e/ _3 t" l  |% z8 @
: {! S6 N) S6 S% g0 ?$ w) @+ D, G2 jPS:/ U; p1 S4 s) N" f1 W# c$ ]5 h, n
1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,9 s. j* y4 o( u% l
但是記得更換字串書寫格式。
) w4 j* i, B: T( o! N
  [$ x: Y/ ^" A3 {2.此DLL其實更改後需要修復3處,! x8 _9 M% p# x
最後一處蠻簡單的,就留給大家當Homework。
回复

使用道具 举报

该用户从未签到

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

使用道具 举报

头像被屏蔽

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 1897 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-17 02:33

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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