문제

정말 오래된 MSDOS 기반 페인트 프로그램이 있습니다. 팔레트 인덱스 이미지 버퍼에서 작동합니다. 그들은 현대적인 페인트 프로그램에는 단순히 존재하지 않는 여러 가지 화려한 모양 그리기 도구, 브러시 및 효과를 가지고 있습니다. 특히 낮은 색상 팔레트 색인 이미지의 "경계"내에 머무는 동안은 아닙니다. 나는 현대적인 프로그램 에서이 훌륭한 도구들을 재현하여 Dosbox와 같은 에뮬레이터를 부팅하지 않고도 나 자신과 일반 대중이 다시 접근 할 수 있도록 만들고 싶습니다. 그러나 나는 문제가있다.

이러한 브러시와 도구 및 사물의 많은 부분에는 명백한 기능이 있지만 구현은 상당히 간단해야합니다. 그러나 다른 도구를 사용하면 운영 원칙이 분명하지 않습니다. 나는 그것들을 구현하기 위해 정확하거나 충실한 알고리즘을 결정하는 데 갇혀있을 것입니다.

당신이 나라면 어떤 접근 방식을 취 하시겠습니까? 이와 같은 오래된 프로그램을 처리 할 수있는 디 컴파일러/분리자가 쉽게 이용할 수 있습니까? 아니면 다른 입력에 대한 알고리즘을 다른 입력에 대해 테스트하여 기본 기능을 추론하는 것과 같은 다른 접근법을 취 하시겠습니까? 다른 기술의 일부 조합? 이 프로그램의 한 줄의 경우,이 (상업) 프로그램의 원래 저자는 알려져 있으며 이제 열렬한 오픈 소스 옹호자입니다. 직접 연락하여 물어봐야하나요? 나는 특히 리버스 엔지니어링을 경험하지 못하므로 어디에서 시작 해야하는지 손실을 입었습니다.

편집 : "Ask and Ye가받을 것"이 실제로 작동하는 것 같습니다.

편집 2 : 살펴보십시오 http://animatorpro.org 제가 ... 소스를 얻은 프로그램의 소스 코드. 디럭스 페인트도 좋지만 Dan Silva는 지구의 얼굴에서 사라진 것 같습니다.

도움이 되었습니까?

해결책

Ida Pro는 거의 모든 바이너리를 처리하며 이러한 종류의 작업에 대한 금 표준이지만 저자에게 연락하는 것도 도움이 될 수 있습니다.

다른 팁

저자가 프로그램의 일부 또는 전부를 오픈 소스라고 설득 할 수 있다면 이것이 최상의 방법입니다.

그 외에도 분해 및 디버깅은 친구가 될 것입니다. 경우에 따라 소프트웨어가 원래 컴파일 된 내용을 알고 있다면 소프트웨어를 디 컴파일 할 수 있습니다. 그러나 그것을 분해하고 디버거로 실행하여 중요한 구조를 찾아 실제 브러시 작동을 수행하는 명백한 기능을 찾으십시오.

처음에는 어려워 보일지 모르지만 얼마 후에는 놀랍게도 이해할 수 있습니다.

-아담

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top