banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thủ thuật reverse engineering Sử dụng chuỗi ngoài bộ nhớ  XML
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 15/08/2011 19:59:38 (+0700) | #1 | 245069
[Avatar]
xwhitelight
Member

[Minus]    0    [Plus]
Joined: 03/02/2011 01:39:33
Messages: 63
Location: HVA & REA
Offline
[Profile] [PM]
Em có một crackme này download từ hackthissite.org : http://www.mediafire.com/?i0d82hlmuuly649
Em đã tìm kiếm chuỗi bad boy trong Olly và IDA nhưng không thấy, kể cả ở memory. Sau khi load nó vào HIEW thì em tìm thấy được chuỗi này:


Sau khi quan sát một hồi thì em nhận thấy phía trước địa chỉ chứa chuỗi này không có dấu chấm (ở trong HIEW). Theo như em suy nghĩ thì địa chỉ này nằm ngoài memory (em đoán vậy thôi). Mọi người có thể chỉ rõ cho em cách chương trình truy cập đến chuỗi này, cách để đặt Memory Breakpoint lên nó trong Olly và cách để crack chương trình này được không ạ? Dò lên phía trên đoạn địa chỉ chứa chuỗi này em thấy các real serial nhưng đó là do em hoàn toàn đoán mò mà thôi.
Life in God Mode
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 17/08/2011 00:34:46 (+0700) | #2 | 245144
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]
Cái crackme này nó dùng Overlay Data, bạn tìm bên tuts4you có bài nói về cái này rồi đấy.
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 18/08/2011 16:16:48 (+0700) | #3 | 245251
[Avatar]
xwhitelight
Member

[Minus]    0    [Plus]
Joined: 03/02/2011 01:39:33
Messages: 63
Location: HVA & REA
Offline
[Profile] [PM]
Có phải topic này ko anh secmask? : http://forum.tuts4you.com/topic/11277-overlays-extra-data/
Life in God Mode
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 18/08/2011 20:23:28 (+0700) | #4 | 245264
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]

xwhitelight wrote:
Có phải topic này ko anh secmask? : http://forum.tuts4you.com/topic/11277-overlays-extra-data/
 

đúng nó rồi đấy. đại loại nó thêm data vào cuối file PE mà không chỉ sửa gì PE header cả nên phần data này sẽ không được load lên trong IDA hay Olly, nó load manual bằng cách đọc image, tìm ra offset bắt đầu overlay data bằng một chuỗi đặc biệt nào đó, hoặc tính thông qua thông tin có được từ PE header.
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 21/08/2011 10:34:03 (+0700) | #5 | 245464
[Avatar]
xwhitelight
Member

[Minus]    0    [Plus]
Joined: 03/02/2011 01:39:33
Messages: 63
Location: HVA & REA
Offline
[Profile] [PM]

secmask wrote:

xwhitelight wrote:
Có phải topic này ko anh secmask? : http://forum.tuts4you.com/topic/11277-overlays-extra-data/
 

đúng nó rồi đấy. đại loại nó thêm data vào cuối file PE mà không chỉ sửa gì PE header cả nên phần data này sẽ không được load lên trong IDA hay Olly, nó load manual bằng cách đọc image, tìm ra offset bắt đầu overlay data bằng một chuỗi đặc biệt nào đó, hoặc tính thông qua thông tin có được từ PE header. 

Chuỗi đặc biệt là chuỗi như thế nào ạ? +_+
Em thấy một câu lệnh PUSH text dùng tham số là địa chỉ của chuỗi, mà chuỗi overlay lại không có địa chỉ thì làm sao để tham chiếu nó ạ? Ở topic anh chỉ có nói là đọc nó từ image vật lý của file, em cũng chả hiểu. smilie
Life in God Mode
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 21/08/2011 10:43:42 (+0700) | #6 | 245465
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]

xwhitelight wrote:

secmask wrote:

xwhitelight wrote:
Có phải topic này ko anh secmask? : http://forum.tuts4you.com/topic/11277-overlays-extra-data/
 

đúng nó rồi đấy. đại loại nó thêm data vào cuối file PE mà không chỉ sửa gì PE header cả nên phần data này sẽ không được load lên trong IDA hay Olly, nó load manual bằng cách đọc image, tìm ra offset bắt đầu overlay data bằng một chuỗi đặc biệt nào đó, hoặc tính thông qua thông tin có được từ PE header. 

Chuỗi đặc biệt là chuỗi như thế nào ạ? +_+
Em thấy một câu lệnh PUSH text dùng tham số là địa chỉ của chuỗi, mà chuỗi overlay lại không có địa chỉ thì làm sao để tham chiếu nó ạ? Ở topic anh chỉ có nói là đọc nó từ image vật lý của file, em cũng chả hiểu. smilie  


Ví dụ như cái Overlay data đó được đặt bắt đầu bằng một chuỗi như "THIS_IS_START_OF_OVERLAY" , thì crackme nó sẽ tiến hành tìm kiếm trên image xem chuỗi này nằm ở vị trí nào để lấy data đính kèm ra. Do overlay data không thuộc một section nào trong PE header cả nên nó sẽ không được map lên memory khi chuơng trình tuơng ứng load. Thay vào đó, chuơng trình sẽ coi phần overlay data là data file (chỉ là biến thể thay vì dùng một file data tách rời hoàn toàn), seek đến đúng vị trí là có thể đọc được data này, giống như đọc file thông thường thôi.
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 29/08/2011 14:35:45 (+0700) | #7 | 246143
[Avatar]
xwhitelight
Member

[Minus]    0    [Plus]
Joined: 03/02/2011 01:39:33
Messages: 63
Location: HVA & REA
Offline
[Profile] [PM]
Nó dùng hàm gì để đọc file và tìm kiếm vậy ạ? (em ko rành lập trình) :">
Life in God Mode
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 05/09/2011 22:45:04 (+0700) | #8 | 246545
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]

xwhitelight wrote:
Nó dùng hàm gì để đọc file và tìm kiếm vậy ạ? (em ko rành lập trình) :">  

FindFirstFile
FindNextFile
CreateFile
....
http://msdn.microsoft.com/en-us/library/aa364428%28v=vs.85%29.aspx
Mình có tìm hiểu chút ít về API và lập trình với API.
while(1){}
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 06/09/2011 09:28:42 (+0700) | #9 | 246555
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]

xwhitelight wrote:
Nó dùng hàm gì để đọc file và tìm kiếm vậy ạ? (em ko rành lập trình) :">  


mèn, ko biết lập trình mà RCE sao được ?

Việc lấy overlay data ra, cách làm như việc trích lấy một chuỗi trong file text ra vậy thôi. Đầu tiên là dùng một hàm tìm String trong String vd với C:

Code:
char *strstr(const char *s1, const char *s2)


Xong rồi get ra n byte từ điểm tìm ra str2, sau đó loại bỏ chuỗi "đặc biệt" trên.
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Question]   Sử dụng chuỗi ngoài bộ nhớ 04/11/2011 05:17:07 (+0700) | #10 | 249502
[Avatar]
xwhitelight
Member

[Minus]    0    [Plus]
Joined: 03/02/2011 01:39:33
Messages: 63
Location: HVA & REA
Offline
[Profile] [PM]

xnohat wrote:

xwhitelight wrote:
Nó dùng hàm gì để đọc file và tìm kiếm vậy ạ? (em ko rành lập trình) :">  


mèn, ko biết lập trình mà RCE sao được ?

Việc lấy overlay data ra, cách làm như việc trích lấy một chuỗi trong file text ra vậy thôi. Đầu tiên là dùng một hàm tìm String trong String vd với C:

Code:
char *strstr(const char *s1, const char *s2)


Xong rồi get ra n byte từ điểm tìm ra str2, sau đó loại bỏ chuỗi "đặc biệt" trên.
 

Khi tên file bị rename thì làm ntn để biết đc tên mới sau đó dùng hàm đọc file vậy anh?
Life in God Mode
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|