2018. 1. 23. 13:54

Gadgets have been discontinued.

Recently, I was researching how to get an edition of Windows, so I checked the registry value of each Windows(XP - Windows 10). Suddenly, I was curious to know about whether Windows 10 supports Gadgets when I saw the Gadgets on Windows Vista. Then, I've found the link below


link

2014. 2. 6. 15:47

User Account Control (UAC)

Windows Vista for Developers – Part 4 – User Account Control

http://weblogs.asp.net/kennykerr/archive/2006/09/29/Windows-Vista-for-Developers-_1320_-Part-4-_1320_-User-Account-Control.aspx


Designing Applications to Run at a Low Integrity Level


Communication between low-integrity and higher-integrity processes

Low-integrity processes are not completely isolated from other applications. They can interact with other processes. In fact, without some forms of collaboration, applications running at low integrity may seem to the user to be completely broken.

Some forms of IPC are available for low-integrity processes to communicate with higher-integrity processes. Components in Windows Vista block the following types of communication.

  • Most window messages and process hooks are blocked by UIPI.
  • Opening a process and using CreateRemoteThread is blocked by the mandatory label on process objects.
  • Opening a shared memory section for write access is blocked.
  • Using a named object created by a higher integrity process for synchronization is blocked by the default mandatory label.
  • Binding to a running instance of a COM service is block.
    However, you can use other types of communication between a low-integrity process and a higher-integrity process. The types of communication that you can use include:
  • Clipboard (copy and paste)
  • Remote procedure call (RPC)
  • Sockets
  • Window messages that the higher-integrity process has been explicitly allowed to receive from lower-integrity processes by calling ChangeWindowMessageFilter
  • Shared memory, where the higher-integrity process explicitly lowers the mandatory label on the shared memory section
    Important
    This is particularly dangerous, and the higher-integrity process must be careful to validate all data that is written to the shared section.

  • COM interfaces, where the launch activation rights are set programmatically by the higher-integrity process to allow binding from low integrity clients
  • Named pipes, where the creator explicitly sets the mandatory label on the pipe to allow access to lower-integrity processes

http://msdn.microsoft.com/en-us/library/bb625960.aspx

2011. 1. 28. 18:45

Install msxml4 Vista by Internet Explorer

msxml4.cab 은 Vista 이상의 OS에서 정상 적으로 설치되지 않는다. MS의 공식적인 자료는 없으나 몇몇 blog 에서 해당 현상의 글을 보았다.
실제 테스트를 해보면 IE가 권리자 권한 인경우 정상동작하나 그렇지 않은 경우 msxml4.dll 이 system32로 복사가 되지 않았다.

msxml6 부터는 cab 파일을 제공하지 않았고,  해당 파일을 cab으로 묶어 테스트 해 보았다. msxml6도 정상 동작하지 않는다.

이 부분을 해결하기 위해서  다른 방법을 사용했다. 

1. IE의 object tag에 EXE를 연결

<body>
<object id="MSXML4"
classid="clsid:88d969c0-f192-11d4-a65f-0040963251e5"
codebase="./msxml4.exe"
STYLE="display: none">
</object>
</body>

위 처럼 작성하면 해당 CLSID 가 존재하지 않는 경우 codebase의 exe를 다운받아 실행한다.

2. NSIS 로 실행파일 제작

RequestExecutionLevel admin
  
  ; Put file there
  File msxml.msi
 
   ExecWait 'msiexec /i $INSTDIR\msxml.msi /passive'   // 자동으로 진행되도록 

   Delete $INSTDIR\msxml.msi
  
SectionEnd ; end the section

NSIS 로 제작한 이유는 admin 권한 획득을 위한 부분 과  msi 를 passive 모드로 실행하기 위함이다.