các bạn đã đóng góp rất nhiều cho REA.. Hi vọng các bạn sẽ tiếp tục phát huy J >>>> If you have any suggestions, comments or corrections email me: kienbigmummy[at]gmail.com Appendi
Trang 1c = pString[i];
if((c >= ‘a’) && (c <= ‘z’)) pString[i] = c-0x20;
//…end of loop
Các bạn thấy đó , mọi thứ đã sáng tỏ và dễ hiểu hơn rất nhiều Bây giờ chúng ta đã bắt đầu hiểu những gì đoạn code này đang làm Chúng ta hãy sắp xếp lại chúng lại thành đoạn code cuối cùng như sau :
void SomeFunction(char* pString) {
int i; //Local variables have to be declared
unsigned char c; //at the start of the function
for(i = 0; i < lstrlenA(pString); i++) {
c = pString[i];
if((c >= ‘a’) && (c <= ‘z’)) pString[i] = c-0x20;
} }
Cuối cùng chúng ta đã có được một đoạn code ngắn gọn hơn nhiều so với những gì chúng
ta đã đọc với ASM code.Nó đã được chuyển đổi hoàn toàn sang ngôn ngữ C, nhiệm vụ
của nó là lấy từng kí tự từ String đầu vào, và nếu kí tự đó nằm trong khoảng ‘a’ và ‘z’ (tức là các kí tự chữ cái thường) nó sẽ được trừ đi cho 0x20h Mà phép trừ này biểu diễn
cho quá trình chúng ta chuyển đổi nó từ chữ cái thường thành chữ cái hoa Do đó chúng
ta sẽ đặt tên cho hàm này một cách gợi nhớ hơn là ToUpperCase
V Lời kết
Toàn bộ quá trình mà tôi và các bạn đã làm ở trên được gọi với cái tên : RE (Reverse Engineering) Chúng ta thấy rằng nó không phải là một việc làm quá khó, nhưng nó đòi
hỏi một lòng kiên nhẫn và một kiến thức nền tảng vững chắc Để chỉ khi ta chỉ nhìn lướt qua đoạn code ta có thể hiểu ngay được nó làm gì Có một công cụ giúp chúng ta đơn giản hóa công việc đi rất nhiều, một trong số đó chính là IDA mà tôi đã giới thiệu với anh em.Hi vọng bài viết này của tôi sẽ phần nào giúp mọi người hiểu được quá trình phân tích một đoạn code như thế nào, chỉ có một lời khuyên duy nhất đó là các bạn hãy thực hành thật nhiều mới có thể đạt được những điều mình mong muốn Qua đây tôi cũng xin cảm
ơn tác giả Webbit đã cho chúng ta một bài viết rất hay và bổ ích
Trang 2
Thời gian trôi đi rất nhanh
Vì sao ta cứ mãi đứng yên Ngoài kia bóng tối đang dần buông Lại một ngày nữa sắp qua mất rồi
PS : Hi vọng anh TQN, Thug và light.phoenix có thời gian viết vài bài cho anh em mở rộng tầm mắt J
Best Regards
_[Kienmanowar]_
++ ==[ Greatz Thanks To ]== ++
My family, Computer_Angel, Moonbaby , Zombie_Deathman, Littleboy, Benina,
QHQCrker, the_Lighthouse, Merc, Hoadongnoi, Nini all REA‘s members, TQN, HacNho, RongChauA, Deux, tlandn, light.phoenix, dqtln, ARTEAM all my friend, and YOU
++ ==[ Special Thanks To ]== ++
- coruso_trac, pat, trm_tr Thug4lif3, vn_blackrain, v v and all brothers in VSEC
++ ==[ Thanks To ]== ++
iamidiot, WhyNotBar, trickyboy, dzungltvn, takada,hurt_heart, haule_nth,hytkl v v các bạn đã đóng góp rất nhiều cho REA Hi vọng các bạn sẽ tiếp tục phát huy J
>>>> If you have any suggestions, comments or corrections email me:
kienbigmummy[at]gmail.com
Appendix A1 :
Appendix A2 :
Appendix A3 :
Trang 3I Introduction:
Về phương pháp Unpack Armadillo 4.xxthì loạt Tut của anh Hacnho đã chỉ dẫn rất cặn kẽ Nhưng để thành công thì bạn cần có sự kiên nhẫn và lòng đam mê Hôm nay, Em xin giới thiệu các tool có sẵn để Unpack nhanh các Soft pack bằng
Armadillo mà ko cần phải OllyDBG với nhiều câu lệnh phức tạp mà vẫn thành
công Tut này viết giành riêng cho Newbie nên mấy đại ca Try Arma bỏ qua hen!! Hiện nay, chúng ta tạm có 2 tool hỗ trợ Unpack Armadillo đó là:
ArmaDumper 1.0 by Avatar:
tool này hỗ trợ unpack dạng Standard Protection+ Code Splicing+ IAT
Elimination lâu lâu còn luộc được Debug blocker Nhưng với Copy Mem IIthì bó
tay hoàn toàn
ArmadilloDumpers by Deroko:
Còn Tool này thì Đã lém các Bác xem:
Debug Blocker and Copy Mem II dumpers
dumper1.exe - Debug Blocker oep locator and import fixer
dumper2.exe - Copy Mem II dumper and import fixer
If you have codesplices or Eliminated IAT use ArmInline to fix em
Both dumpers are console applications
usage:
dumper1 progy.exe
dumper2 progy.exe
II Tools:
· Tool cần dùng
§ Armadillo FindProtected V1.2
§ ArmadilloDumpers by deroko
§ ImportREC 1.6
§ ArmInline v0.95
§ PEiD 0.94
§ CFF Explorer IV
§ OllyDGB 1.1
Trang 4· Target:
Ace Utilitie 3.0 (Standard Protection)
hxxp://www.acelogix.com/
Automation Anywhere 2.52 (CopyMemII + Debugblocker+ Nanomites)
hxxp://www.tethyssolutions.com/
III Unpacking:
#TUT1: Sử dụng ArmaDumper 1.0 by Avatar
_ Đầu tiên chúng ta sử em Ace Utilitie 3.0 Dùng PEiD 0.94 quét coi Soft có bị pack hay
ko và pack loại nào?
_Như vậy là ta đã xác định được Soft được Pack bằng Armadillo Để biết chính xác trong
File Pack có tùy chọn Standard Protectionhay CopyMemII + Debugblocker…để biết
đường mà unpack thì chúng ta dùng Armadillo FindProtected V1.3
_Hehe dạy là Cu này chỉ cóStandard Protection Nói thêm, Tool này còn có khả năng Detach Debugblocker (nếu có) giống ArmaDetach 1.1
_Giờ thì chạy ArmaDumper 1.0 và chọn như hình dưới
_ và chọn file “au.exe”
_Haha…ArmaDumper đã xử lý dùm ta công việc nhàm chán là Patch Magic Jump để
có bản IAT Full
Trang 5
_Giờ thì mở thêm ImportREC, chọn PID cho chính xác và điền OEP=0007BFBA, Nhấn IAT AutoSearch
_ nhấn Get Imports à Show Valid
_Nhấn Chuột phải chọn như hình
_Nhấn Fix Dump chọn File “Unpacked.exe” và chạy thử File” Unpacked_.exe”
_Hehe, dạy là sao… ta cần nhớ dòng thông báo này …huhu Load File Unpacked_.exe
vào Olly và ta dừng ở đây
_Nhấp chuột phải chọn như hình dưới
_Tìm chuỗi “ Is the Program protected” và chúng ta ở đây
_Nhấp đôi vào dòng đó ta tới đây:
_Nhìn lên trên có 1 lệnh nhảy và ta patch nó như sau:
_Save File và đặt tên là Fix_unpacked.exe