2009-03-27 46 views
11

Tôi có một vài chương trình sơn dựa trên MSDos thực sự cũ. Chúng hoạt động trên các bộ đệm ảnh được lập chỉ mục bảng. Họ có một số công cụ vẽ hình dạng ngoạn mục, bàn chải và các hiệu ứng đơn giản không tồn tại trong bất kỳ chương trình sơn hiện đại nào - Đặc biệt không phải trong khi nằm trong "giới hạn" của một bảng màu được lập chỉ mục màu thấp. Tôi muốn tái sản xuất nhiều công cụ tuyệt vời này trong một chương trình hiện đại, có lẽ làm cho chúng dễ tiếp cận hơn với bản thân và công chúng một lần nữa, mà không cần phải khởi động trình giả lập như dosbox. Nhưng tôi có một vấn đề.Các chương trình sơn cũ kỹ thuật đảo ngược

Trong khi rất nhiều các công cụ và bàn chải và những thứ này có chức năng rõ ràng, việc triển khai thực hiện sẽ khá đơn giản. Nhưng với các công cụ khác, nguyên tắc hoạt động của chúng không quá rõ ràng. Tôi sẽ bị mắc kẹt xác định một thuật toán chính xác hoặc trung thành để thực hiện những thuật toán đó.

Nếu bạn là tôi, bạn sẽ tiếp cận phương pháp nào? Có decompilers/disassemblers có sẵn mà có thể xử lý các chương trình cũ như thế này? Hoặc bạn sẽ có một số cách tiếp cận khác nhau, chẳng hạn như kiểm tra phương pháp các thuật toán trên đầu vào khác nhau để loại suy luận các chức năng cơ bản? Một số kết hợp các kỹ thuật khác nhau? Trong trường hợp của một dòng của các chương trình này, tác giả ban đầu của các chương trình (thương mại) này được biết đến, và bây giờ là một người ủng hộ nguồn mở khan hiếm. Tôi có nên thử liên lạc trực tiếp với họ không? Tôi không đặc biệt có kinh nghiệm với kỹ thuật đảo ngược, vì vậy tôi đang ở một mất mát ở nơi để bắt đầu về điều này.

chỉnh sửa: có vẻ như "Hỏi và các bạn sẽ nhận" thực sự hoạt động.

chỉnh sửa 2: Hãy xem http://animatorpro.org để biết mã nguồn cho chương trình mà tôi ... có nguồn. Deluxe Paint sẽ đẹp hơn nhưng Dan Silva dường như đã biến mất khỏi mặt đất.

+0

Tôi chỉ muốn biết nếu GIMP không phù hợp với nhu cầu của bạn hoặc thậm chí là Photoshop. –

+0

@camilo: bạn dường như không nhận được nó, phải không? http://www.pixeljoint.com/ – Breton

+0

Câu hỏi này, cùng với câu trả lời và nhận xét, là chuỗi tốt nhất mà tôi đã thấy trên SO. Kudos cho bạn để lấy mã! –

Trả lời

6

IDA Pro xử lý gần như mọi nhị phân và là tiêu chuẩn vàng cho loại công việc này, mặc dù việc liên hệ với tác giả cũng có thể hữu ích.

+0

IDA Pro và HexRays Plugin sẽ giúp bạn bắt đầu. – mmcdole

+9

hey Tôi hoàn toàn không mong đợi nó, nhưng tác giả đã cho tôi mã nguồn. Những gì dyah biết. Cảm ơn các bạn. – Breton

6

Nếu bạn có thể thuyết phục tác giả mở một số hoặc tất cả chương trình, đó là phương pháp tốt nhất.

Ngoài ra, việc tháo gỡ và gỡ lỗi sẽ là bạn bè của bạn. Trong một số trường hợp, bạn có thể dịch ngược một phần mềm nếu bạn biết nó đã được biên dịch như thế nào. Nhưng tháo rời nó, và chạy nó trong một trình gỡ lỗi để tìm cấu trúc bao quát, và tìm kiếm các hàm rõ ràng làm công việc bàn chải thực tế.

Điều này có vẻ khó khăn lúc đầu, nhưng sau một thời gian bạn sẽ thấy điều đó thật dễ hiểu.

-Adam

+0

Tôi không nghĩ rằng tôi có hy vọng nhận được nó mở ra kể từ khi tôi không tin rằng tác giả gốc thực sự sở hữu nguồn gốc mình. Tôi đã đề cập đến việc liên lạc với anh ta với hy vọng rằng anh ta ít nhất có thể giải thích các thuật toán liên quan. – Breton

+0

Hóa ra tôi đã sai. – Breton

+0

Vì vậy, họ đã cung cấp cho bạn những gì bạn cần? –

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