设为首页收藏本站

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

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

  [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]   4 W. H! X1 L5 o3 H! v, Q  |
PC Game Hack -- DLL Relocation   `* R3 t2 }# ~" ~/ e1 T' y3 c; p
Author: Krizal Chen
: ]  ?( X( R4 v8 i( I
HackerTeam: VirusDream7   m6 h2 w0 z1 J- M; @. I
Original: DarkShadow GameHackTeam 6 \8 D2 P$ D& u
WebSite:http://kenkuroro.t35.com 2 h; ~( n. |) p) s' w" r4 B  ?
Blog:http://tw.myblog.yahoo.com/dsght-krizal 1 E, v1 \% Q" V$ g, K+ z/ W" P" j

- {% Z5 O$ J7 ~9 T! u2 n

; x7 z; K  ?' a/ x5 U

4 o3 p: m0 I3 ~2 u
昨天2009/08/12 Thursday ) ?  P5 x; h" D) J+ }3 n4 R, O
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
$ a  P4 {# s6 }' \# B
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀,
7 O6 Z7 z! ]" y  o4 Z% X
希望那三隻可愛的寶寶也能早日投胎。 1 l: A  a4 u! T

+ O6 C+ e6 l( T# P3 z: G5 y: X3 l
明天是本人的生日,
2 t) H6 z, ~8 k: Y) H
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間,
' ?1 b) k1 s, k3 {4 K1 ]
於是把我這禮拜Hack某東西的某些資料,整理簡化寫個教學,
! H1 D: B8 l+ S) d
適用於PC Game Hack或是加密解密的應用。 5 x% g( [# a/ M4 t$ c
/ e1 x  G3 z  b

+ i1 G% w6 r% y) ?
+ \9 X/ z( y6 c2 A3 U

0 R. E/ n' i$ t% X; }
首先我們先了解什麼是重定位?   o. ]. T$ Q$ c4 X# |2 x6 y* B9 J1 H
6 O0 A# e- B+ S8 Z) Q/ m2 q/ X& B, @
一般Windows執行檔EXE, . n$ I$ m6 C8 O$ [" A
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。 ) \  L6 n) S8 g2 \6 L' L$ r
但是DLL並沒有辦法獲得保證,所以需要重定位資料, * x2 P' [1 \7 R' N
使DLL重新定位,否則可能造成程式執行上的錯誤。
2 i; P; S' v. h" E  G* D
* K+ A3 u+ c( w# [' w6 J5 S

" a: F, J. e9 Q7 @( T& G
什麼時候需要重定位?
# C$ a0 k/ [' o7 O% Y

, }& a2 j& |* r, f' ~* d
當我們修改完DLL的時候,都必須進行重定位修復。 & W# z: K/ m1 L% Q2 r4 C
ex: ! R$ c( r2 E* ]8 Z
Original: 5 p$ n, W2 t& v1 c8 J
005269A8      6A 00               push 0
  c, y  w$ _; ]& Y+ G
005269AA      6A 00               push 0
) n( Q' j& O  R2 U* X$ |4 D9 X005269AC      E8 72000000         call Visual.00526A23 & |) i6 I) I- B( K. _- z; ]- z7 d
. k; O3 T9 }1 S' I+ h
After:
% X5 J) ^% I+ j0 b) K005269A8      68 10695300         push Visual.00536910 * d; J. Q* F5 ~% O) L& u/ `
005269AD      68 20645200         push Visual.00526420 ! G; Y' j) \; R
005269B2      E8 6C000000         call Visual.00526A23
7 V5 o, {/ S" s' h, ?, @2 Y6 i/ |( W% N; V3 s+ p
當以上程式碼經過修改後有兩段需要進行重定位: + N+ }: E* w/ [4 m
005269A8      68 【10695300】       push Visual.00536910 " x* j" X$ _. w. e! N0 }* k, \
005269AD      68 【20645200】       push Visual.00526420   W% [* L: K4 Y; X
005269B2      E8  6C000000         call Visual.00526A23
* \3 S$ j/ E7 _3 K1 e& v6 n3 N7 cMust be relocated Address: 0x5269A9 & 0x5269AE 8 H' W, o4 c4 C+ L3 O

+ u: d7 f: ^5 M, `# }實際範例:
0 S2 l/ P: c4 R( j4 z
2 y. I4 x( N1 u' m. m( {本人使用了C++撰寫了一個DLL Demo和DLL Loader, 8 f8 b( x4 \  R! D3 I5 Y: ~9 O
給大家方面練習,下載於附件。
% Z' I5 n5 k, f! ]* X7 C3 F6 O2 ?  W8 X$ m; n  K
修改目的,讓MsgBox彈出顯示字串。
8 n3 d; H( |2 I+ n" R. `. G( n$ P. Y7 B" ^1 l
P.S.
; c' H8 a( h7 N; B! W為了讓初學者快速上手,DLL已經處理過,
$ ^  Y+ k% R3 S0 b1 Z9 r( _可以直接使用RVA,且更改ASM時也預留了很多空間。 ; g+ {/ P$ g+ M
突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^ " @* G- i3 Y! O8 a

+ R8 m# E* V0 `. e- F
游客,如果您要查看本帖隐藏内容请回复

1 g/ [& R! _% U6 b) Z: H! a+ I( z  [& N8 t
[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1593 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...! k' d2 n; `/ H
看不懂,纯支持了* Q# U: |( r* {5 n; D) \5 Y
: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 | 显示全部楼层
那个 好象我顶过团长的这帖了
' i  m. n2 t: b" e' j论坛回滚:funk:
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,5 a: u8 X( o) ]
已經有盡量簡化過了,希望各位能有所得。
2 A  U$ r# V# A7 A學會後對於Hack DLL 很有用處。
! X" o9 Q5 |& d" ?; Y1 m( M! r% k
/ j! c4 l) u2 T$ ^1 j  m3 X4 k4 v# a  `PS:% M, e1 j- D+ q9 c& y- |2 H# c
1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,
* ]& n# S3 w/ H; T$ s- ^但是記得更換字串書寫格式。
+ W2 p( A( g  @; J1 [0 @
  P# K+ G+ N  ]1 C6 R. Y" ^2.此DLL其實更改後需要修復3處,
( [1 B$ Z5 a2 y+ H8 w/ ~7 K最後一處蠻簡單的,就留給大家當Homework。
回复

使用道具 举报

该用户从未签到

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

使用道具 举报

头像被屏蔽

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 1972 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-5 19:10

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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