2010-05-03 50 views
18

Giả sử hiểu rõ về lắp ráp trên các kiến ​​trúc CPU thông thường (ví dụ: x86), làm cách nào để khám phá một con đường tiềm năng (nghề nghiệp, vui vẻ và lợi nhuận, v.v) vào lĩnh vực kỹ thuật đảo ngược? Có rất ít hướng dẫn giáo dục ngoài đó nên khó hiểu được những gì tiềm năng sử dụng điều này ngày nay (ví dụ: đang tìm kiếm các lỗi tràn bộ đệm vẫn phổ biến, hoặc các chương trình theo dõi ngăn xếp làm cho điều này trở nên xấu xa?). Tôi không tìm kiếm bất kỳ chương trình từng bước, chỉ là một số thông tin có liên quan như lời khuyên về cách hiệu quả tìm một khu vực cụ thể của một chương trình. Những điều cơ bản trong thương mại. Cũng như những gì nó đang được sử dụng cho ngày hôm nay.Xem xét kỹ thuật/tháo gỡ ngược

Vì vậy, để tóm tắt, những gì hiện tại sử dụng hiện nay năng suất kỹ thuật đảo ngược? Và làm thế nào người ta có thể tìm thấy một số thông tin cơ bản về cách học thương mại (một lần nữa nó không phải là từng bước, chỉ bất cứ điều gì có thể thông qua một đầu mối sẽ hữu ích).

Trả lời

14

Điều chính mà tôi biết, như đã đề cập trước đây, là phần mềm độc hại có liên quan. Một trong những nhiệm vụ chính của các nhà nghiên cứu làm việc cho các công ty máy quét là lấy một mẫu và gỡ lỗi nó trong một phòng thí nghiệm hoặc môi trường ảo.

Dọc theo cùng một dòng, có rất nhiều lĩnh vực liên quan đến bảo mật sử dụng kỹ thuật đảo ngược/tháo gỡ. Máy tính pháp y là một khu vực bạn có thể muốn xem xét. Một máy tính bị tịch thu có thể có chứa các chương trình lệnh và điều khiển (nhưng không có nguồn) cho các hoạt động khác nhau (lệnh và kiểm soát botnet, các chương trình tấn công DoS, vv). Nó thường dễ dàng hơn để phá vỡ các lược đồ dữ liệu được bảo vệ bằng cách đảo ngược kỹ thuật chương trình bảo vệ thay vì tìm ra mật khẩu hoặc khóa.

Bảo vệ DRM/bảo mật ở cả phần cứng và phần mềm là khu vực kỹ thuật đảo ngược lớn.Lưu ý điều này có thể là "bên" của vấn đề (và luật). Xem xét các chương trình sao chép DVD, loại bỏ bảo vệ, khả năng phát nhạc iTunes trên các thiết bị khác, khả năng chạy các chương trình homebrew trên Wii, song song với mạng PS3, mở khóa iPhone, v.v ... Rõ ràng cũng có nhiều tùy chọn không hợp lệ. kỹ sư hẹn giờ máy, máy ATM xác thực, vv).

Chuyển đổi chương trình cũ là một cơ hội lớn trong nhiều lĩnh vực, đặc biệt là chính phủ, tài chính, sản xuất, v.v ... Có các chương trình quan trọng đã chạy trong 30 năm trên máy tính lớn hoặc mini mà không ai có mã nguồn. Các đội phải đảo ngược kỹ sư chương trình để chuyển đổi nó thành một cái gì đó mới hơn.

Các đề xuất khác về việc học các hướng dẫn Win32 thật tuyệt vời. Ngoài ra, thật đáng buồn, một số tác phẩm được xuất bản tốt nhất sẽ có mặt trên các trò chơi. Tìm kiếm trên đó và có một vài hướng dẫn trên đó, cho thấy những điều cơ bản. Một lớp tôi đã sử dụng cuốn sách "Nghệ thuật nghiên cứu và phòng chống virus máy tính" của Peter Szor nhưng nó nặng hơn về ý tưởng phần mềm độc hại và không phải là phần tháo gỡ chính xác.

Tùy thuộc vào tuyến đường bạn đi, bạn sẽ cần một nền tảng trong những thứ khác nhưng biết lắp ráp sẽ là kỹ năng quan trọng nhất của bạn. Không chỉ từ một "Tôi hiểu những gì mà mã chủ yếu" quan điểm - bạn sẽ có thể viết các công cụ từ đầu và hiểu chính xác những gì một bit nhất định của mã và hiểu những cách khác mà cùng một mã có thể được viết. Hội (mã hóa) liên quan đến việc tìm ra một giải pháp cho một vấn đề và mã hóa nó. Tháo gỡ liên quan đến việc tìm ra nhiều giải pháp đa dạng được sử dụng ban đầu để giải quyết vấn đề - MUCH khó khăn hơn;)

+1

+1 để minh họa các trường khác nhau mà bạn có thể tham gia. Tôi bắt đầu học cách bảo vệ vì phần mềm độc hại là một khái niệm không rõ trước đó. Hãy thử tăng cường Notepad hoặc Máy tính thông qua mã ASM, đó là một cách hay để bắt đầu học cách cảm nhận mã :) – anonymous

2

Một trong những cách sử dụng tiềm năng lớn nhất tôi thấy là dự án như samba (http://www.samba.org/)

Có luôn sẽ bị đóng cửa hệ thống độc quyền như thế này và chúng tôi luôn luôn cần các kỹ sư để đảo ngược những cái người khác có thể sử dụng nó quá.

5

Tôi đã đọc kỹ thuật đảo ngược được sử dụng trong lĩnh vực bảo mật để hiểu hoạt động nội bộ của phần mềm độc hại và trojan (không quá chắc chắn về vi-rút). Đối với các bài viết về kỹ thuật đảo ngược như được sử dụng trong lĩnh vực bảo mật, hãy xem www.openrce.org.

Kỹ thuật đảo ngược không phải lúc nào cũng liên quan đến việc tháo gỡ. Đối với các ứng dụng được viết bằng các ngôn ngữ như Java hoặc C#, các trình dịch ngược lại thường mang lại nhiều thông tin hơn về mã hơn các trình tháo rời.

Vì sở thích cá nhân của tôi là trong kỹ thuật đảo ngược Win32, tôi chỉ có thể giải thích ý kiến ​​của mình cho hệ điều hành cụ thể này. Không thể giúp bạn trong kỹ thuật đảo ngược Linux, sau đó: (

Tôi tìm phiên bản phần mềm miễn phí của IDA Pro 4.9 trình tách rời tuyệt vời. Nó phát hiện thư viện hệ thống để bạn không dành thời gian để sửa sai địa điểm :) Cùng với debugger như OllyDbg, bạn đã sẵn sàng giải quyết hầu hết các dự án đảo ngược cho Win32.

Nếu bạn đi xuống tuyến đường Win32, cuối cùng bạn sẽ cần phải hiểu cấu trúc PE, có thể giải nén và các công cụ, nhưng điều quan trọng bây giờ là hiểu lắp ráp x86. Mã tháo rời cho ứng dụng Win32 tương đối dễ hiểu nếu bạn đã thực hiện mã hóa Win32 API bằng các ngôn ngữ như C.

Để hiểu rõ hơn về lắp ráp 32 bit, hãy tháo rời ứng dụng của riêng bạn và xem mã nguồn của bạn tương ứng với việc tháo gỡ đầu ra hoặc tìm hiểu cách mã hóa các ứng dụng API Win32 với ngôn ngữ assembly thông qua Iczelion's Win32 Assembly tutorials.

3

Trình bảo trì hiện tại của FFMpeg có các codec video kỹ thuật đảo ngược bắt đầu để anh có thể làm video trên Linux. blog của ông là khá thú vị và ông đã có một recent post nói về một cuốn sách mà ông muốn ông có khi ông bắt đầu.

2

Có một cuốn sách Đảo ngược: Bí mật của kỹ thuật đảo ngược được viết bởi Eldad Eilam; Elliot Chikofsky mybe hữu ích bốn bạn

+0

Xin chào, cuốn sách đó thật tuyệt vời! – Elliott

0

Chỉ cần đi qua một cuộc khảo sát gần đây cho thấy ứng dụng dễ bị tổn thương đã được một mối quan tâm lớn của CNTT quản lý trong các tổ chức lớn hơn , do đó, biết làm thế nào phần mềm bị nứt có thể rất hữu ích trong việc đánh giá kiến ​​trúc ứng dụng và mã hóa để đánh giá tổn thương.

Các vấn đề liên quan