设为首页收藏本站

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

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

  [复制链接]

该用户从未签到

发表于 2009-8-13 20:14:40 | 显示全部楼层 |阅读模式
[tr][td]  
, V5 A4 i" [* L) N9 M8 D% ]: q
PC Game Hack -- DLL Relocation / z9 `% x/ x- ^
Author: Krizal Chen
4 l/ N: ]- q9 s4 X
HackerTeam: VirusDream7
6 Y' ~6 u- [% [/ E
Original: DarkShadow GameHackTeam
1 ~: j9 ~7 X$ M1 m
WebSite:http://kenkuroro.t35.com + Q: _/ I  R, ^6 A
Blog:http://tw.myblog.yahoo.com/dsght-krizal
$ B; a* `8 ]) N9 }3 ^; A
% C; a% S, H3 X7 b

! f3 W0 O1 J7 Q& N2 c0 {: [* [
9 x! L6 s& D4 E. ~" A
昨天2009/08/12 Thursday
$ q; r; s+ |" f7 y% D$ M1 c: G
我們家的寶貝米格魯 - ミル,生了七隻小寶寶,
8 n( G% @) C3 v$ E' `" s" b/ i
雖然三隻夭折了,不過新生命的誕生仍然值得祝賀, " F2 ?# r5 |1 H+ h; S0 M
希望那三隻可愛的寶寶也能早日投胎。
1 R% ^3 K! @( K) X
0 c2 Y8 w( J% ^. g4 w$ c1 @* A
明天是本人的生日,
+ F; k, i2 m; y. }
依照慣例都會發一些Hack ROM,不過最近很忙沒什麼時間, 9 K% K! l: }4 U- c4 O
於是把我這禮拜Hack某東西的某些資料,整理簡化寫個教學, - Z/ Q# G1 N0 I7 {
適用於PC Game Hack或是加密解密的應用。
; n# c9 D: K# v4 y. x" m

& J6 U! y3 v9 v" w
% n: [8 k* O) W* a8 [0 m4 W

, {+ ^7 b6 q, A/ m: Q

  A. J( q. L  m8 J
首先我們先了解什麼是重定位? % i, ?3 M+ G) u, Z# x& F& Y) y
6 ~* {/ J3 B/ ~( b
一般Windows執行檔EXE,
% D' l9 i2 h2 T  E/ E0 Z
於執行中系統會想盡辦法,讓EXE定位在ImageBase上。
' ?7 _% C; f# S1 @
但是DLL並沒有辦法獲得保證,所以需要重定位資料, " S  ]* i1 d0 {6 `8 S* U% m# Y# j
使DLL重新定位,否則可能造成程式執行上的錯誤。
. V% U* M' A6 k: H
4 R  ~6 n# u9 d0 F
. L' ?0 Y6 P/ M8 V
什麼時候需要重定位?
, P2 q  I1 v0 c/ _
5 {1 C: J! N  F( B$ ~! q
當我們修改完DLL的時候,都必須進行重定位修復。 " o& Q6 i9 h. I; J4 `' A# o& A
ex: 4 `* R, Y0 D# `- p* F# {
Original: ) _9 u6 C4 ^* Z$ F
005269A8      6A 00               push 0

" r* H8 Z% |& N  z2 d0 i! V005269AA      6A 00               push 0
, O6 f  P, p4 ^! ~2 j9 e005269AC      E8 72000000         call Visual.00526A23
0 D/ c' s6 @! u9 B; u" m* x1 {; V& L) a+ V& W. Q" b8 k* ^) b
After: . K  y! }+ M9 w4 Q4 p' M) m8 V
005269A8      68 10695300         push Visual.00536910
$ Q" E+ n6 w" O  D" `4 A3 o005269AD      68 20645200         push Visual.00526420
0 v% d: v/ Y& K# j6 i: }3 r: y: z$ @005269B2      E8 6C000000         call Visual.00526A23 1 l, i( `) e! K- c6 D+ |8 q5 S

+ j& ^$ s( X* x: ^) \; ?& A3 T1 \3 p
當以上程式碼經過修改後有兩段需要進行重定位: 6 n# q+ _0 x' u' ~8 f
005269A8      68 【10695300】       push Visual.00536910 + i5 R& v* J1 g) K- ^9 _9 U
005269AD      68 【20645200】       push Visual.00526420
* J1 _3 K0 c& t; @% p1 A005269B2      E8  6C000000         call Visual.00526A23 8 V  t0 [% p& \0 S8 H$ t
Must be relocated Address: 0x5269A9 & 0x5269AE
$ j$ q) d! Q1 P8 u1 R
% |9 U$ Y8 `) A1 E+ {% s) k6 Y
實際範例: . b* _4 O! o& F+ a% E
+ I. s% I8 v" r* V, u" [! i
本人使用了C++撰寫了一個DLL Demo和DLL Loader, # q" q& \7 t# p8 |  f# F* Y
給大家方面練習,下載於附件。
3 ?) s- q5 {# a& X
% i* _- ^) e8 T% c修改目的,讓MsgBox彈出顯示字串。 1 M! @9 E# \' \( t

6 h. [4 [* E5 ]$ fP.S.
% p9 G  i* O" m, r$ R" U為了讓初學者快速上手,DLL已經處理過, , i1 f3 e, d, P* @4 n: Q. n1 U
可以直接使用RVA,且更改ASM時也預留了很多空間。
: \; k& j" [" D" i1 |突然看到ASM程式碼下面很多NOP,絕對不是偶然   ^_^
9 v9 n' ^3 @' V+ |

) K( c) q* \& u5 {. V5 V: \
游客,如果您要查看本帖隐藏内容请回复

  o3 V* d0 C: F& R+ B$ i# r# Z) g9 Z9 N7 j  w& ?$ V) ]
[ 本帖最后由 krizal 于 2009-8-13 20:25 编辑 ]

评分

2

查看全部评分

签到天数: 1670 天

[LV.Master]伴坛终老

发表于 2009-8-13 22:17:56 | 显示全部楼层
汗...2 _2 g) z! q7 R, w4 T  ~+ D  q
看不懂,纯支持了, m% M5 C# p* Y9 g4 V0 ?
: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 | 显示全部楼层
那个 好象我顶过团长的这帖了
8 P# c# W4 i, x2 T+ w7 {% u论坛回滚:funk:
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-8-14 18:32:42 | 显示全部楼层
跟原始資料比較起來這個應該很簡單,0 ]- I* ?: U: D* G9 o
已經有盡量簡化過了,希望各位能有所得。
5 f6 ~. M2 _# g" L+ Y" `) i學會後對於Hack DLL 很有用處。: P8 v5 j( b6 z, Z( y- e

, N3 @; g1 w% K$ Z; a0 xPS:# D& e4 b1 A% H5 ^' V
1.MessageBox 可以自行呼叫ASCII 或是WideChar格式的,
- h3 e6 ]3 D1 B# @, ]- [& b7 Y# ^* w但是記得更換字串書寫格式。
! i; E/ D  F4 v0 r+ J1 w
3 P, I+ I- N5 b2.此DLL其實更改後需要修復3處,
: d' G; N4 c" i* p$ h( u# `最後一處蠻簡單的,就留給大家當Homework。
回复

使用道具 举报

该用户从未签到

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

使用道具 举报

头像被屏蔽

该用户从未签到

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

使用道具 举报

该用户从未签到

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

使用道具 举报

签到天数: 2052 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-25 06:02

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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