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 Unable to locate data in executable files ollydbg  XML
  [Question]   Unable to locate data in executable files ollydbg 09/03/2012 17:47:08 (+0700) | #1 | 257581
phuongco
Member

[Minus]    0    [Plus]
Joined: 22/04/2006 06:52:32
Messages: 1
Offline
[Profile] [PM]
Mình newbie mới tập toẹ vọc OllyDbg, do yêu cầu của công việc nên mình chưa có time đọc hết những bài hướng dẫn. Cũng hiểu 1 chút chút assembly nhưng vấp phải bước này, không save to executable được, google chán mà chưa biết xử lý thế nào. Bạn nào có thể giúp mình thì cho mình yahoo hoặc contact để liện hệ nhé !
[Up] [Print Copy]
  [Question]   Unable to locate data in executable files ollydbg 20/03/2012 07:53:36 (+0700) | #2 | 259344
[Avatar]
quygia128
Member

[Minus]    0    [Plus]
Joined: 15/07/2009 20:50:28
Messages: 119
Location: Somewhere
Offline
[Profile] [PM] [WWW]
không save to executable được 


Trong việc patch một file PE nào đó thì việc chú ý đầu tiên là việc kiểm tra xem nó có bị pack bởi packer nào không. Nếu bị pack thì bắt buộc phải unpack rồi mới tiến hành patch và save lại được. (Khái niệm unpack thì tìm trên google nó là 1 mảng rất lớn nhiều tài liệu để đọc), nguyên nhân của bạn là ở điểm này.

Vậy tại sao khi file bị pack thì không thể save ?

Câu trả lời rất đơn giản là vì đoạn code bạn muốn save thực ra không có sẵn mà nó sẽ được bung ra trên bộ nhớ (như giải nén) khi quá trình unpack tự động của packer diễn ra. Khi kết thúc quá trình này thì bạn phải tiến hành dump file và fix dump (2 khái niệm này bạn cũng xem các tut về unpack sẽ rõ hơn- tuy nhiên nó không hề đơn giản tý nào đối với những packer khó) -xem tut về UPX và ASPack để hiểu cách thức hoạt động của packer.

Một số packer bạn vẫn có thể save lại file này khi bị pack vd như molebox, nhưng thật ra cũng không có giá trị vì mỗi lần chạy thì địa chỉ này hoàn toàn khác nhau (Nhưng code là giống nhau) vì vậy có save được đi nữa cũng không giải quyết được gì.

Hướng giải quyết để khỏi phải unpack là "inline patch" tìm tài liệu và xem tutorials có khá nhiều.

NoTE: Nếu đoạn code bạn patch lại nằm trên các module của hệ thống, khi gặp điều này thì không patch được vì nếu save lại và thì các ứng dụng khác cần đến nó sẽ không thực thi đúng chức năng được (vd module : Kernel32.dll...)

Tôi chỉ biết có thế mong giúp được bạn phần nào khó khăn.
.::Mới bắt đầu trên con đường dài::.
.::Super Newbiez::.
[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|