질문 님이 쓰신 글 :
: 윈10 17763.107 업데이트해서 쓰고있는데요
: Win + R 키 눌러서 실행에 cmd 입력하고 엔터치면
: 도스박스가 나오는데 칼러, 폰트 같은 것들은 변경한 후에
: cmd 다시 실행하면 변경사항이 적용되지만 투명도는 변경해봐도
: 다시 실행하면 적용되지 않고 무조건 100%로 나오거든요.
: 제 생각엔 .lnk 파일에 칼러, 폰트 같은 것들은 정상적으로 저장 되지만
: 투명도만 저장이 안되는것 같습니다. 해결할 방법 없을까요
답변:
코맨드 프롬프트 Shell 링크 파일에서 Transparent 속성은 OLE Compound 구조로 저장된 다는 것.
파워쉘도 같은 구조를 이용 합니다.
Shell COM 인터페이스를 이용해서 링크파일 Shortcut에 대한 Application ID를 알아낸다는 것.
conhost.exe 가 호스트 프로그램 역할을 한다는 것.
cmd 쉘 링크를 통해 관리자권한으로 실행할 때는 csrss.exe 가 관여된다는 것.
이와 같은 콘솔 아키텍쳐 구조를 알고있으면 OS 패치를 만드는 건 간단하지요.
Shell COM Interface VMT 패치와 OS 구성요소 인젝션 테크닉 이용하면 되니까요.
패치 구현하는 데 1시간 정도면 충분하겠네요.
그리고...
한가지 잘못 알고 있는 부분을 지적하자면...
Transparent 속성은 Shell 링크 파일에 정상적으로 저장 됩니다.
콘솔 아키텍쳐 UI 파트에서 Transparent OLE Compound 구조를 처리하지 않고 있는 게 문제지요.
MS에선 이런 버그를 아직 인지하지 못하고 있는 듯.
|
윈도우즈를 리버싱하시면서 스스로 익히셨나요?
아무튼 예전부터 답변 다신거 보면 능력이 어마어마해 보여서 부럽습니다