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 Cho hỏi cách pass qua được DMA (Dynamic Memory Allocated)  XML
  [Question]   Cho hỏi cách pass qua được DMA (Dynamic Memory Allocated) 13/08/2009 09:26:09 (+0700) | #1 | 189779
onlyAnh
Member

[Minus]    0    [Plus]
Joined: 27/06/2006 07:14:09
Messages: 10
Offline
[Profile] [PM]
Hi mọi người,

Dạo này rãnh rổi nên mình có thử ngồi mày mò cái CheatEngine để xem và chỉnh sửa các value trên memory của mấy cái software đang chạy.

Tuy nhiên mình đang bị stuck ở 1 chỗ sau:
[+] Lần đầu tiên mình scan ra được cái memory address để chứa value A đó.
[+] Tuy nhiên tắt software đó đi và bật lại, thì value A đó đã không còn được lưu giữ tại memory address cũ, vì vậy code của mình viết bằng C# không thể đọc được value A đó ra.

Mình có tham khảo trên Net và tìm ra đó là do DMA.
Có 1 vài chỗ có nói về cách defeat DMA bằng pointer hay offset gì đó nhưng mình không hiểu lắm:

[+] Căn cứ vào đâu để tìm ra đích danh value A đó được lưu ở memory address nào nếu không phải re-scan memory (vì mỗi lần restart software là mình cứ phải rescan memory để tim lại cái address lưu giữ value A đó)

Bro nào đã có kinh nghiệm xin chia sẽ với mình

Trân trọng.
[Up] [Print Copy]
  [Question]   Cho hỏi cách pass qua được DMA (Dynamic Memory Allocated) 13/08/2009 09:50:49 (+0700) | #2 | 189784
[Avatar]
H3x4
Member

[Minus]    0    [Plus]
Joined: 02/04/2009 00:03:16
Messages: 242
Offline
[Profile] [PM]
Bạn đã tìm hiểu về code injection chưa ?
[Up] [Print Copy]
  [Question]   Cho hỏi cách pass qua được DMA (Dynamic Memory Allocated) 13/08/2009 10:16:02 (+0700) | #3 | 189790
[Avatar]
H3x4
Member

[Minus]    0    [Plus]
Joined: 02/04/2009 00:03:16
Messages: 242
Offline
[Profile] [PM]
.net code injection :
http://damianblog.com/2008/07/02/net-code-injection/
[Up] [Print Copy]
  [Question]   Cho hỏi cách pass qua được DMA (Dynamic Memory Allocated) 13/08/2009 16:01:06 (+0700) | #4 | 189842
onlyAnh
Member

[Minus]    0    [Plus]
Joined: 27/06/2006 07:14:09
Messages: 10
Offline
[Profile] [PM]
Thanks bác H3x4

Tuy nhiên tui vẫn chưa tìm được câu trả lời thõa mãn cho thắc mắc của mình.

Khoan hãy đề cập đến C#, tui chỉ thắc mắc làm sau khi restart software mà tui vẫn bắt được ngay memory address chứa value A mà tui cần lấy về.

[Up] [Print Copy]
  [Question]   Cho hỏi cách pass qua được DMA (Dynamic Memory Allocated) 13/08/2009 20:23:11 (+0700) | #5 | 189878
[Avatar]
H3x4
Member

[Minus]    0    [Plus]
Joined: 02/04/2009 00:03:16
Messages: 242
Offline
[Profile] [PM]

onlyAnh wrote:
Thanks bác H3x4

Tuy nhiên tui vẫn chưa tìm được câu trả lời thõa mãn cho thắc mắc của mình.

Khoan hãy đề cập đến C#, tui chỉ thắc mắc làm sau khi restart software mà tui vẫn bắt được ngay memory address chứa value A mà tui cần lấy về.

 


Nghĩa là mỗi khi restart thì DMA làm cho địa chỉ base của chương trình thay đổi, do đó nó sẽ không đúng với giá trị cũ nữa, do vậy bạn phải code injection vào nó, nghĩa là nó sẽ đọc hay ghi chép giá trị nào đó mà bạn muốn ngay trong lúc cái software mà bạn nói nó đang runtime smilie
[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|