2011-01-01 7 views
4

저는 1987 년 델파이로 작성된 프로그램을 업데이트하라는 요청을 받았습니다. 필자는이 프로그램에 대한 문서가 없기 때문에 프로그래머가 가져온 몇 가지 메모 만 만들면별로 의미가 없습니다. CD는이 파일을 표시이전 프로그램 디 컴파일

:

 
Size | Filename 
19956 VP.DTA 
142300 VP.LEX 
404  VP.NDX 
126502 VP.RCS 
131016 VP.SCR 
150067 VP.XEL 
101791 vp.exe 

이의 사람이 데이터베이스 파일인가? 그렇다면 데이터에 액세스 할 수 있습니까?

여러 코드 디 컴파일러를 시도했지만 Win32 호환 응용 프로그램이 아니라는 메시지가 표시됩니다. 프로그램이 MS-DOS에서 실행됩니다.

소스 코드를 구할 수 있습니까? 이 코드를 어떤 방식 으로든 사용하여 새로운 애플리케이션을 구축 할 수 있습니까?

업데이트 : MS-DOS에서 프로그램을 실행할 수 있습니다. 프로그램 동사는 동사를 사용하고 동사를 사용할 수있는 예제 문장을 보여줍니다. GUI는 조금 혼란스럽고 도움 메뉴가 없기 때문에 프로그램의 모든 기능을 볼 수 없습니다.

Update02 : 프로그램 소유자와 대화하면서 다른 해결책을 찾았습니다. 그는 서버에 프로그램을 가질 수 있는지 묻고 클라이언트는 사용자와 암호로 로그인하여 터미널에서 프로그램을 실행할 수 있습니다. 내 대학교 서버에 계정을 가지고 있는데, SSH에서 액세스 할 수 있고 그 안에 c 프로그램을 컴파일하고 실행할 수 있습니다. 서버가 리눅스에 있으므로 프로그램을 실행할 수 없습니다. Windows 서버를 설치 한 경우 터미널에 프로그램을 액세스하고 실행하는 사람을 여러 명 가질 수 있습니까? 이 프로그램은 exe입니다. 이것은 어떤 보안 문제를 제기하지 않습니까?

+2

16 진 편집기를 사용하여 파일을 검사하십시오. –

+1

깎기처럼 보입니다. – Konerak

+0

당신은 프로그램이 무엇을하는지 알고 있습니까? –

답변

0

소스 코드를 구할 수 있습니까?

은 아마하지, 당신은 Hex-Rays 같은 것을 사용하여 C에 응용 프로그램을 분해 할 수 IDA Pro 같은 것을보고 할 수 있습니다.

+0

원래 C가 아니기 때문에 원래의 C가 아니며 C로 쓰여지지 않아야합니다. –

+0

그래, 응용 프로그램을 C. –

+0

또는 파스칼로 분해 할 수 있습니다. 작성된 컴파일러를 지정해야합니다. 그런 다음 다시 변환됩니다. http://www.hex-rays.com/idapro/idaflirtcomp.htm을 참조하십시오. IDA는 훌륭한 도구이지만, 그렇게하기 전에 목표를 올바르게 설정해야합니다. (당신이 실제로하는 프로그램인가, 아니면 그냥 데이터인가?) –

0

응용 프로그램이 무엇인지 알아?

ms-dos의 경우 새로운 요구 사항을 작성하고 새로운 개발을하는 것이 좋습니다.

+0

데이터 양이 많거나 중요하다면이를 덤핑하고 인덱스가 아닌 원시 데이터를 가져 오는 것이 좋습니다. –

7

델파이는 90 년대 중반부터 나온 것이므로 아마 델파이가 아닌 터보 파스칼을 의미 할 것입니다.

ndx = index 
    dta = data 
    scr = screen (?) 
    lex = lexicon (list of words or deduped strings in general) (?) 

화면이 가끔 예를 들어, 사용되었다 :

일부 확장은 단어의 단축 버전으로, 익숙한 소리 도움말 화면의 중세 양식 인 화면 메모리에 직접로드 할 수있는 전형적 화면입니다.

1987 년의 날짜와 "파스칼"이라는 일반 가정이 수작업 일 가능성이 있습니다. 사실, 일부 알려진 데이터베이스 패키지로 전혀 생성되지 않습니다.

파일 형식을 리버스 엔지니어링하면 앱의 리버스 엔지니어링을 시도하는 것보다 더 가치가있을 수 있습니다.

파일 형식을 인식 할 수 있는지 확인하려면 유닉스 "file"명령을 사용하는 것이 좋습니다. (파일 명령은 파일 내에서 서명을 검색하고 Windows 포트가 있습니다.나는 Cygwin에서의)

은 (STABLE)는 데데는 델파이 컴파일 된 프로그램을 리버스 엔지니어링을 위해 또한 16 진 덤프 (파일의 특수 첫 부분)

0

봐에서 많이 볼 수있는 그러한 문제에 경험 사용합니다. 하지만 내가 아는 한, 델파이는 실제 컴파일러입니다. 그래서 컴파일 된 방법이 없습니다. 어셈블러 코드를 읽을 수 있다면 컴파일을 해보십시오. Clipper와 Foxpro (dos 버전)는 실제 컴파일러가 아닌 또 다른 이야기입니다.

+1

클리퍼는 실제 컴파일러가 아닙니다! FoxPro는 아니지만 아닙니다,하지만 Clipper는 확실히 컴파일러였습니다. 생성 된 객체 파일에 링커를 여러 개 사용할 수 있으며 최종 결과는 독립 실행 파일 (메모리 제한에 따라 필요에 따라 오버레이가 있거나 없음)이었습니다. –

+0

위키 피 디아 (Wikipedia)는 Clipper가 가상 머신에 의해 실행되는 p 코드를 사용하고 (마케팅상의 이유로) 원시 코드로 컴파일되었다는 인상을주는 객체 코드로 둘러 쌓여 있음을 언급합니다. – mjn

+0

클리퍼는 확실히 pCode (의사 코드)로 컴파일됩니다. – Harv

0

이것은 분명히 델파이가 아닙니다. Clipper 1과 같은 데이터베이스 중심 언어 중 하나 일 수 있습니다. .SCR은 "화면"을 의미하며 I/O 마스크를 정의합니다. .NDX는 테이블 인덱스이고 .DTA는 "데이터"를 의미합니다.

클리퍼라면 실제로 이러한 프로그램이 P 코드라는 것을 기억하기 때문에 실제로 운이 좋을 수도 있습니다. 따라서 디 컴파일 할 수 있습니다.

0

CLipper (NDX 및 SCR)처럼 보입니다. DBF 파일이 있다면 Clipper를 사용하십시오. 그러나 일부 사람들은 DBF를 DAT와 같은 이름으로 변경했습니다. 클리퍼 (Clipper)라면 발키리 (Valkyrie)라는 디 컴파일이 있다고 생각합니다.

관련 문제