2011-12-04 2 views
1

IE를 사용하여 플래시 (swf) 파일이 포함 된 웹 페이지를 보는 동안 swf 파일 콘텐츠를 도용하는 방법. 이것은 swf 파일을 디 컴파일하거나 swf 파일을 크랙하는 것을 포함하지 않습니다. 그것은 나에게 쉽습니다. 내 목표는 swf가로드 된 직후와 Flash Player가 swf 파일을 실행하기 직전 (asv 엔진으로 파싱) swf 파일 (예 : http://www.xxx.xxx/org.swf)의 내용을 수정하는 것입니다. 예, 수정 기회는 매우 엄격합니다.IE에서 swf 콘텐츠 납치

난 그냥 IE에서 SWF를 납치하려는

은, 내 목표는 플래시이다,라고하는 것입니다 ***. OCX (ActiveX 컨트롤).

나는 InternetOpenRequest 및 InternetReadFile을 API를 후크 시도하고 나는 IE가 요청 된 SWF 파일의 데이터를 다운로드 할 InternetReadFile을 호출하는 것을 발견했습니다. internetreadfile API에 의해 반환 된 버퍼를 수정하려고 시도했지만 (모든 버퍼를 0으로 만들었지 만) 작동하지 않습니다. 플래시는 정상적으로 작동합니다. 모든 IE 캐시와 모든 플래시 캐시를 지우고 다시 시도하지만 작동하지 않습니다. 플래시가 정상적으로 표시됩니다. 나는 이것이 왜 일어나는 지 모른다. SWF 파일의 내용이 IE 브라우저가 아닌 flash11e.ocx

  • 로 다운로드

    1. 확인 수신하고 처리 flash.ocx의 기능을 찾을 수 :

      내 원래의 아이디어는 점이다 브라우저에서 변환 된 swf 콘텐츠 버퍼 (나는 IDA에 익숙하다. flash.ocx의 일부 코드를 뒤집을 수있다.)

    2. hook2 단계의 함수이고 hook-function의 내용을 수정할 수있다

    지금, 내 아이디어가 옳은지 모르겠습니다.

    나는이 기사를 읽었습니다 : http://jpauclair.net/2010/02/17/one-swf-to-rule-them-all-the-almighty-preloadswf/하지만 플래시의 디버그 버전에서만 작동하며 목표와 다르기 때문에 여기서는 적합하지 않습니다. 내 아이디어는 swf 콘텐츠를 납치 flash.ocx에 균열이지만 이론적으로 작동 여부를 모르겠습니다.

  • +0

    달성하기가 너무 어렵습니까? 어떤 사람들은 아이디어를 줄 수 있습니까? 나는 매우 감사 할 것입니다 – user1080233

    답변

    1

    나는 당신이 원하는 것을 할 수있는 방법이 없기를 진심으로 바랍니다. 만약 그렇다면, 마이크로 소프트가 당신이하고있는 일을 인식하자마자 바로 고칠 수있을 것이라고 확신합니다.

    그런 말로하면, 내가 할 수있는 첫 번째 일은 flash activex 등록을 .swf 파일을 전처리 한 다음 "load-between"activex 컨트롤로 대체 한 다음로드하는 것입니다 그 안에 진짜 플래시 액스 X 컨트롤. 이것은 매우 어려울 것이고 브라우저에서 activex 컨트롤이 작동하는 방식에 대해 상당히 깊이 이해할 필요가 있지만 아마도 가장 좋은 방법 일 것입니다.

    성공하면 제어 도구가 바이러스로 분류되거나 향후 Microsoft 업데이트로 사용되지 않도록 설정되거나 다양한 보안 시스템에 의해 패배 할 가능성이 있습니다. 그러나 이와 같은 해킹 시도로 얻은 결과입니다. .

    +1

    당신의 답변을 주셔서 감사합니다,하지만 난 아직도 거기에 내 목표에 도달하는 방법이 있다고 생각 swf 콘텐츠 로컬, swf 파일 버퍼가 플래시 플레이어 엔진에 의해 로컬로 실행됩니다, 그건 아니 서버에, 나는 내 컴퓨터의 swf 파일 내용을 포함한 모든 것을 이론적으로 수정할 수 있습니다. 왜 그렇게 할 수 없습니까? Of'cause, 어쩌면 나는 어떤면에서 틀렸을 것입니다. 그렇다면, 누군가 내 잘못을 지적 할 수 있기를 바랍니다. – user1080233

    +0

    로드 될 때 알려주지 않는 간단한 이유가 있습니다. 브라우저가 파일을 닫지 않을 수도 있습니다. 그러나, 내가 설명했던 방법이 가능하다면 아마도 최선의 방법 일 것입니다. – taxilian

    1

    @taxilian와 파이어 폭스를 사용 : 당신의 대답은 완전히 정확하지 않습니다. 취할 수있는 여러 가지 접근 방법이 있으며, 그 중 첫 번째 방법은 완전히 다른 시스템에서 실행될 수 있으며 바이러스로 분류되지는 않습니다.

    1. 사용자 지정 HTTP 또는 SOCKS 프록시 서버를 사용하여 들어오는 데이터를 '필터링'하고 자신의 파일을 '주입'합니다.이것은 중간에서 자신의 인증서로 데이터를 저글링해야하므로 HTTPS에서는 약간 어려워 HTTP를 사용하면 쉽습니다. 캐시 된 .swf를 디스크에 덮어서 선반 프록시 애플리케이션 (예 : squid)을 사용하여이를 달성 할 수 있습니다. 나는이 작업을 수행했으며이를 기본으로 사용하여 작동하는지 확인할 수 있습니다 : http://www.mentalis.org/soft/projects/proxy/.

    2. 훅 인터넷/소켓 기능 : wininet, ws2_3d 또는 wsock. 이들은 네트워크 통신 API를 제공하는 3 개의 dll입니다. 후킹 프레임 워크 (예 : http://easyhook.codeplex.com/)를 사용하면 이러한 DLL에 대한 호출을 사용자 고유의 기능으로 리디렉션 할 수 있습니다. 어떤 경우에는 반환 값을 다시 수정하여 자신의 파일을 '삽입'할 수 있습니다.

    3. 캐시 기능을 훅크하거나 캐시에 파일을 주입합니다. Internet Explorer는 캐싱 요구 사항에 맞게 wininet 캐싱 API를 사용합니다. 단순히 API를 호출하고 (후킹없이) 캐시에 파일을 삽입하는 것이 가능할 수도 있습니다. 그렇지 않으면 캐싱 기능을 연결하여 삽입 된 내용을 조작 할 수도 있습니다.

    관련 문제