2014-02-13 3 views
3

올바르게 실행되는이 셸 스크립트가 있습니다. 그러나, 파일의 내용은 ...컴파일 된 쉘 코드를 되돌릴 수 있습니까?

3b33 8963 9a9d b0b2 98f7 8f3a cd9d 6067 
b09d ae7b a351 639e 18f1 5c69 58ec 9343 
512c c449 ebc0 cb64 7712 3335 2db2 b6f6 
e4f7 65e6 48b1 a145 f270 1475 f062 f548 
8d0e 14ec 1ca1 cd4e 6221 55fe c25b b7f8 
8814 759b 11c3 3def 6b29 1fee 34fe 13fb 
ee2c 3618 87af a6fc 3f5e 43b0 f885 6b6f 
7aa2 9328 4f0b a2a2 f2ea cd9b 6039 b465 

내가 논리를 조정할 수 있도록 정상적인 쉘 코드에이 리버스 엔지니어링 어쨌든이 있나요?

+0

전체 파일입니까? 너무 크지 않다면'od -t x1'의 출력으로 게시 할 수 있습니까? 또한, 당신은 그것을 무엇에서 움직이고 있습니까? –

+0

파일의 일부 :(파일의 길이가 650000+ 개이고 MacOSX에서 실행 중임 – doNotCheckMyBlog

+0

코드는 무엇을하고 있습니까? 오픈 소스 대안이있을 수 있습니다 – Nit

답변

2

파일 크기와 16 진수 덤프로 판단 할 때이 파일은 더 이상 스크립트가 아닙니다. 은 바이너리 형태로 도구 such as this one에 의해 암호화되어 있고 아마도 암호화되어 있고 아마도 그것이 의존하는 모든 바이너리와 번들링되었을 것입니다.

단순히 obfuscated script 인 경우 쉽게 되돌릴 수 있습니다. 그것이 그대로, 아직 행할 수 있지만 더 많은 자격있는 노력이 필요합니다. 바이너리 특성에 따라 원래의 작성자가 필요에 맞게 수정하거나, 이진 파일과 데이터 사이에있는 미들웨어를 작성하여 추가 처리를 수행하는 것이 더 현명한 (읽기 : 싼) 것입니다.

1

내가 할 수있는 가능성이 희박하다고 말하고 싶습니다. 필자가 알고있는 바이너리 컴파일러에 대한 모든 bash는 사람들이 코드를 리버스 엔지니어링하지 못하게하는 유일한 목적으로 코드를 암호화합니다.

관련 문제