EMU618社区

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

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

 关闭 [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]   . P  y4 l5 F( t: {8 i
PC Game Hack -- DLL Relocation 2 I1 q: \6 N3 @" c; v
Author: Krizal Chen
$ r6 N! E5 f; L* a
HackerTeam: VirusDream7 . A* r9 Q" l  f/ Q# u
Original: DarkShadow GameHackTeam
8 N% T% I. v* F$ K- ^# _" d
WebSite:http://kenkuroro.t35.com " t/ U$ Y) M6 c
Blog:http://tw.myblog.yahoo.com/dsght-krizal
) Z2 ]' N# e& K0 I

3 n3 N( R! g( Z; T

/ U1 S3 ^1 N  H: d

+ W* S" o9 k+ O" O7 T" s2 |
昨天2009/08/12 Thursday 1 [! {4 g; _+ }9 R
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
' c, I7 M0 c( j3 }: Z) z$ W
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀,
2 H+ S8 u. U2 e* W; e; H
希望那三隻可愛的寶寶也能早日投胎。
8 S1 o/ w. l; K" B

5 ?( K5 v# O" [& D, p' z6 k; L
明天是本人的生日,
$ C" v8 y" v8 A0 T
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間,
) _1 q0 X  ~7 R2 K: k2 P+ f7 L
於是把我這禮拜Hack某西的某些資料,整理簡化寫個教學,
7 A* g) W  N9 `5 |
適用於PC Game Hack或是加密解密的應用。 + G! `' g  H/ k
1 K, u2 }; [6 \' C/ g3 a3 `5 m
: t$ s5 ]# S/ _+ m- F

' T0 [2 @. O& p" ^2 t6 e6 u2 O

6 j) Z8 q) P5 D
首先我們先了解什麼是重定位?
- Q% Y$ X% v2 |* y, B
! i, e: Y4 e, w5 Z9 u* p
一般Windows執行檔EXE, $ M% v& O3 y, l; T" Y; \$ K
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。 8 j! i* \4 E% o% m. R
但是DLL並沒有辦法獲得保證,所以需要重定位資料, 3 m/ G! [+ R& j& f! }& @/ F# b
使DLL重新定位,否則可能造成程式執行上的錯誤。
! h/ G0 m2 Q) \9 `
& [2 C$ {1 H6 Q3 C3 z; j

8 [. y) H  E4 q
什麼時候需要重定位? 4 K/ O( R# Z2 e

9 h7 P5 d2 M( |0 z0 R7 i
當我們修改完DLL的時候,都必須進行重定位修復。
2 m+ ~; c& U+ V' H* ^# R3 k
ex:
  o5 u/ U5 c9 I/ m4 U6 g, kOriginal: . ^+ I: {1 y, F. ]4 V0 }
005269A8      6A 00               push 0
; M4 T5 x7 W3 R# m& K
005269AA      6A 00               push 0
9 F- H- E1 N0 P% E8 J" [005269AC      E8 72000000         call Visual.00526A23 % g# g; t: J' }0 Y! X
# z0 o9 R  U% {& v0 g1 j7 Z9 L
After:
1 Y! }% @4 G: P1 i# t+ K7 P005269A8      68 10695300         push Visual.00536910
2 R5 i8 X$ n& u( e005269AD      68 20645200         push Visual.00526420 7 j8 K* B" T8 ^4 V9 G! s
005269B2      E8 6C000000         call Visual.00526A23
8 g1 P7 N% R* O$ w2 _  _% n; m
3 h; Q! a$ q3 Q5 l
當以上程式碼經過修改後有兩段需要進行重定位:
8 h: U' I2 R; J- U7 t/ x' H9 F* M
005269A8      68 【10695300】       push Visual.00536910 1 V2 k6 j8 B: Q
005269AD      68 【20645200】       push Visual.00526420
% T7 O- K+ J& H5 [( H+ K7 S) U005269B2      E8  6C000000         call Visual.00526A23
0 B7 B; v0 o. o1 R. O5 P) _+ F( a: D, PMust be relocated Address: 0x5269A9 & 0x5269AE
& g7 m' o$ D; h$ _. d

0 X5 r9 r# g5 R4 S" f4 G) O, Q實際範例:
2 C) v: k  z/ k7 S/ z% N
0 _& p5 P* \" q* c  z1 Y本人使用了C++撰寫了一個DLL Demo和DLL Loader, : X# _# R/ ?5 t$ ?% |" q% G% B3 A
給大家方面練習,下載於附件。 1 Y1 F0 ^  v3 K, z) a0 Q7 X( {8 \! {
7 u% J' r9 E  {
修改目的,讓MsgBox彈出顯示字串。 8 Z% v- l5 v" }4 l

, @" g4 q* S* z7 T. pP.S. . d8 H3 c+ o' s9 P6 J+ X
為了讓初學者快速上手,DLL已經處理過,
+ u/ b' a) w" G* j' A* n! [( W可以直接使用RVA,且更改ASM時也預留了很多空間。 3 c0 o1 s: O/ F, T$ L
突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^ $ f. j0 p, K' x: N

; |! C. O% q: h$ g, k
游客,如果您要查看本帖隐藏内容请回复

' r; a+ U6 n; s1 K( s' _. \: Z4 ~
) |, Z: ?5 F+ D- ^. L" `) R* O+ S[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1805 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...) ]* H9 g7 ]. e7 s0 `$ V5 _/ b9 E4 A
看不懂,纯支持了
: P1 a* [/ z  r# o0 s) T: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 | 显示全部楼层
那个 好象我顶过团长的这帖了
! I8 z, r8 t" N$ A( N论坛回滚:funk:

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,/ G* L# J6 B  I  Y% d" C( B# K
已經有盡量簡化過了,希望各位能有所得。9 V5 H) Z8 l9 ~/ d  K6 H
學會後對於Hack DLL 很有用處。1 a4 ^. |% q$ \2 h# d7 |

' C" H9 S3 G# U6 w1 `3 e- {PS:
* n, U7 v8 u' j: O  z1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,9 E- s- x0 u3 x4 a
但是記得更換字串書寫格式。
/ }3 O+ l, A: i3 M
, C( V7 d, ~5 t+ L+ l: P1 [2.此DLL其實更改後需要修復3處,7 S! E9 c5 T1 j  N7 g
最後一處蠻簡單的,就留給大家當Homework。

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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

签到天数: 2192 天

[LV.Master]伴坛终老

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

本版积分规则

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

GMT+8, 2026-1-15 05:33 , Processed in 1.090820 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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