2015-01-08 2 views
-2

이전 그룹 작업에서 가져온 나무 딸기 파이 프로젝트를 진행하고 있습니다. 라즈베리 파이를 제어하는 ​​데 사용 된 프로그램이 컴파일되어있는 것으로 보입니다. 그러나 원본 소스 코드 (C++) 또는 Qt에 대한 프로젝트 파일이 없는데도 아래의 사본이 있습니다. 폴더, Qt 또는 다른 것을 사용하여 소스 코드를 얻을 수있는 방법이 있습니까? 프로그램을 변경할 수 있기를 원합니다. 소프트웨어 빌드에 대한 문서가 없으며, 우리가 잘 할 수있는 방법을 실행하는 방법에 대한 표시 만 있어도 저자를 추적하려고하지만 운이 없다.Qt 프로그램 편집 (C++)

무엇을 시도해 볼 수 있습니까? 나는 http://codelite.org/와 함께 여기 파일을 열어 보았습니다. 오브젝트 파일과 turbo_gui 파일의 모든 하나 개의 라인을 포함 : ELF SOH SOH SOH 당신이 게시 된 이미지에

enter image description here

+0

적어도 하나의 소스 파일 'moc_mainwindow.cpp'가 있습니다. 유용한 코드가 있습니까? – Andrew

+0

그건 폴더의 복사본이 아닙니다. 그 폴더의 그림입니다. Pi로부터 실행 파일을 얻을 수는 있지만, 그것은 사람이 읽을 수있는 것이 아니라 기계어로 이루어질 것입니다. 그것은 리버스 엔지니어링을 위해 수 개월간의 숙련 된 엔지니어가있을 것입니다. –

+0

@Andrew moc_ * 파일에는 Qt 신호와 슬롯이 어떻게 연결되어 있는지에 대한 정보가 포함되어 있습니다. Qt의 메타 오브젝트 컴파일러에서 생성 된 코드로 작동하도록하는 코드가 있습니다. 원래 코드에 대한 통찰력을 얻을 수 있지만 컴파일러에서 생성 한 파일 일뿐입니다. – tux3

답변

3

를, 디렉토리는 Qt를 구축 디렉토리가 아니라 소스 디렉토리입니다. 표시된 폴더에는 Qt에서 자동 생성 한 일부 원본 파일, 일부 컴파일 된 .o 파일 및 링크 된 바이너리가 포함되어 있지만 원본 소스 코드는 포함되어 있지 않습니다.

원본 C++ 소스 코드를 게시하지 않은 경우 정확한 소스 코드를 다시 가져올 방법이 없습니다. 저자에게 소스 코드 사본을 보내달라고 요청해야합니다.

소스 코드를 구할 방법이 없다면 디스어셈블러 나 디 컴파일러 (예 : Hex-Ray의 IDA 플러그인)를 사용하여 코드가 어떻게 작동하는지 생각한 다음 직접 구현할 수 있습니다 .

+0

감사합니다. 작업의 가장 좋은 방향은 제작자를 쫓는 것입니다. 감사합니다. 다른 방법. –

+1

@ JoshuaJones가 필요한 경우 답변을 수락하겠습니다. – tux3