[Article] INDEPENDENT CODE |
01/01/2010 21:46:52 (+0700) | #1 | 202340 |
be_ni_na
Member
|
0 |
|
|
Joined: 31/12/2009 09:42:20
Messages: 8
Offline
|
|
Chúc mừng năm mới 2010 đến HVA. Lâu lắm rồi mới quay trở lại HVA vì quên mất pass nick cũ. Nhân dịp đăng ký nick mới, tôi xin post bài này tham gia trở lại HVA:
INDEPENDENCE CODE SECTION
PART 1 : BASIC TECHNIQUES
Author: Benina 2006 (fixed 2008)
Hôm nay chúng ta sẽ tìm hiểu về một chủ đề mới : đó là các đọan code có khả năng thực thi độc lập ko phụ thuộc vào “nơi cư trú” (tôi tạm định nghĩa là independence code section).
Tut này sẽ trình bày khái quát và các kỹ thuật cơ bản trong đọan code có đặc tính như chủ đề tut đã nói.
Trước khi đọc lọat tuts này tôi xem như bạn đã biết sử dụng qua debugger Olly.
http://rootbiez.spaces.live.com/blog/cns!AC1F6A5FA666A923!478.entry
Có gì sai mong các cao thủ chỉ giáo.
Benina |
|
|
|
|
[Article] INDEPENDENT CODE |
01/01/2010 22:12:28 (+0700) | #2 | 202341 |
|
bolzano_1989
Journalist
|
0 |
|
|
Joined: 30/01/2007 12:49:15
Messages: 1406
Offline
|
|
Anh benina là Elite Member mà, em nghĩ Admin reset lại password cho anh sẽ hay hơn. |
|
Kiểm tra các file bạn nghi ngờ có virus:
http://goo.gl/m3Fb6C
http://goo.gl/EqaZt
http://goo.gl/gEF8e
Nhận mẫu virus qua FB: http://goo.gl/70Xo23
HVA Malware Response Team: kiemtravirus@gmail.com
Trợ giúp diệt virus: http://goo.gl/2bqxY |
|
|
|
[Article] INDEPENDENT CODE |
01/01/2010 22:18:01 (+0700) | #3 | 202342 |
be_ni_na
Member
|
0 |
|
|
Joined: 31/12/2009 09:42:20
Messages: 8
Offline
|
|
Cám ơn bạn quan tâm. Cái mail cũ của Nga khi đăng ký HVA cũng out luôn rồi. Nên ko thể reset lại pass. Bây giờ cũng có nick mới rồi. Đang ký HVA lúc này hơi khó. Một ngày sau mới được set active |
|
|
|
|
[Article] INDEPENDENT CODE |
02/01/2010 10:23:23 (+0700) | #4 | 202356 |
|
bolzano_1989
Journalist
|
0 |
|
|
Joined: 30/01/2007 12:49:15
Messages: 1406
Offline
|
|
Em nghĩ anh kienmanowar liên hệ và confirm được mà anh. |
|
Kiểm tra các file bạn nghi ngờ có virus:
http://goo.gl/m3Fb6C
http://goo.gl/EqaZt
http://goo.gl/gEF8e
Nhận mẫu virus qua FB: http://goo.gl/70Xo23
HVA Malware Response Team: kiemtravirus@gmail.com
Trợ giúp diệt virus: http://goo.gl/2bqxY |
|
|
|
[Article] INDEPENDENT CODE |
15/04/2010 06:55:07 (+0700) | #5 | 208985 |
be_ni_na
Member
|
0 |
|
|
Joined: 31/12/2009 09:42:20
Messages: 8
Offline
|
|
INDEPENDENCE CODE SECTION
Part 2: Finding the base address of kernel32.dll library
Author: Benina
Spinx đã từng viết một bài hướng dẫn writting code virus trên 4rum HVA rất nổi tiếng, tui xin trích một đọan trong bài tut đó như sau:
Khi gọi ngắt trên dos, địa chỉ ngắt luôn được HĐH tự động xác định qua bảng vector ngắt. Cứ việc gọi int xxx (0CD/xxx) việc còn lại là của CPU. Với API lại khác. API thực chất chỉ là các hàm thư viện viết sẵn của HĐH và load lên bộ nhớ như một chương trình. Để gọi được nó cần có địa chỉ của nó trong tay. Đương nhiên câu hỏi được đặt ra là vậy các chương trình “hợp pháp” gọi API như thế nào? Ta quay trở lại với khái niệm cơ bản trên windows. Các chương trình sau khi biên dịch đều có một bảng import table. Các hàm API chương trình sẽ sử dụng đều được ghi trong import table. Khi chương trình chạy windows loader sẽ làm nhiệm vụ xây dụng một bảng địa chỉ IAT (import address table) cho các hàm này. Thật đáng tiếc ta không thể thay đổi bảng này vì windows đã để mắt đến nó. Vì vậy để goi API từ VR ta phải làm lại thao tác của loader và xây dựng bản địa chỉ riêng.
Khi đó lệnh gọi tương đối hàm API sẽ có dạng
call [ebp+_]
ebp+_ ==> chứa địa chỉ hàm API
APIs nó nằm ở đâu bạn không hề biết, làm sao bây giờ. Đâu có đó, thịt chó còn có rau thơm. Windows cung cấp cho ta một hàm để lấy địa chỉ các làm API theo tên là hàm là GetProcAddress. Vấn đề ở đây là GetProcAddress cũng là 1 hàm API. Vậy yêu cầu tối thiểu là phải có địa chỉ 1 hàm GetProcAddress trong Windows. Hàm này thuộc kernel của win nên bây giờ câu hỏi chỉ còn kernel của windows nằm ở đâu. Trả lời điều này dễ hơn nhiều. Ta có ngay một danh sách:
0BFF70000h = Win95 Kernel Addr
077F00000h = WinNT Kernel Addr
077e00000h = Win2k Kernel Addr
0BFF60000h= WinME Kernael Addr (in Memory)
077e600000h=WinXP,Win2K3 Kernel Addr (cái này tôi thêm vào)
Ta có thể yên tâm sử dụng cho đến khi Microsoft thay đi mất Thực ra địa chỉ này có thể không hoàn toàn chính xác như vậy. Ta nên kiểm tra ký tự “MZ” (header của file kernel32.dll) để xác định chính xác vị trí kernel. Có kernel header đối chiếu export/import table của kernel để đọc địa chỉ hàm API theo tên. Oải quá phải không? Đáng tiếc là no way. Thực ra cũng không quá khó đâu vì tất cả đều có trong PE/NE HEADER. Các bạn đọc và nghiền ngẫm kỹ lại đi.
Để hiểu được và thực hành được những gì spinx nói ở trên chúng ta cần học rất nhiều vấn đề. Bài tut này sẽ giúp bạn khám phá từng chút một những gì bác spinx đã đề cập.
Tại sao tôi lại nói về coding virus?. Như tut Part 1 tôi đã nói, code độc lập chẳng khác gì đọan code virus, vì vậy nghiên cứu chúng chẳng khác nào nghiên cứu về virus!. Nhưng như tôi đã nói, các bài tuts mà tôi viết chỉ để học tập và nghiên cứu, tôi hòan tòan ko chịu trách nhiệm về những gì các bạn ứng dụng những kiến thức này để phá phách. Mong các bạn đừng làm những việc ngu xuẩn để rồi mang họa vào thân trước tiên.
Link: http://rootbiez.blogspot.com/2010/04...ding-base.html |
|
|
|
|
|
|
|
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|
|
|