반응형

작년 말(?), 회사다닐 때 일입니다.

'포스트잇' 같은 메모 프로그램을 써볼까 싶어서~ 회사 PC 에 'N'모 라는 프로그램을 설치했습니다.

잠깐 써보니 인터페이스도 조금 불편하고, 이것저것 마음에 들지 않아서 바로~ 제거를 했죠;;

물론~ 프로그램 설치할 때 제공된 해당 프로그램의 '언인스톨러' 를 실행시켰습니다~

그리곤 기분 전환겸 재부팅을 했는데 =_=;; PC 상태가 약~~간 이상하더군요;;;

백신 / 방화벽이 시작되지도 않고, 트레이에 아이콘들도 안보이고~~

일시적인 현상이려나 싶어서~ 다시 재부팅... 그래도 그 이상한 상태 그대로더군요.

'시작프로그램' 쪽이 조금 이상해진건가 싶어서 아래의 키들을 살펴봤습니다.

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

살펴보던 순간 등에서 식은땀이 흐르던 기억은 아직도 생생하네요..;;;

분명히 있어야 할.. "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" 키가 없었습니다.

"Run" 키에 이상한 값이 있는지 없는지 판단할 수는 있어도, 기록된 값들을 외우진 못했는데.. 한방 먹었죠;;;

급한대로 백신 / 방화벽, 디스플레이 드라이버는 새로 설치하고, OS 차원에서 등록된 키는...

옆에 분 PC 의 레지스트리 참고해서 복사하고... 한 30분 가량~ 삽질을 했었네용..;;;


=_=;; 어제... 집에 있는 개인 PC 에서 안쓰는 프로그램들 정리하던 중에 이 사건이 또 터졌습니다...;;

참 난감하더군요... 참고할 다른 PC 도 없고, 프로그램 삭제 후 다시 설치하는 건 시스템이 지저분해지고;;;

결국 포맷을 하게 만들더군요...=_=;;
( 참고로 어제는 'M' 모사의 'C~~~S~~' 라는 컨텐츠 보호 프로그램 때문이었습니다. )

생각난 김에~~ 문제의 '언인스톨러' 코드를 봤습니다...

< 그림. 01> 언인스톨러의 레지스트리 제거 코드


간단하게 코멘트를 달아보면..

RegDeleteKeyA() 는 인자로 ESI, EBX 값을 사용하는데... 이 값들은 각각 아래와 같습니다.

ESI = 0x9B89C0 : "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
EBX = HKEY_LOCAL_MACHINE


RegDeleteKeyA(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run");


"Run"
키 자체를 날려버리는군요... ( 원래는 키안의 값을 찾아서 그 값만 지워야되는데 말이죠...;;; )


이게, 설치파일 패키지를 묶을 때, 삭제부분 설정을 잘못해서 이런건지,

설치 프로그램에서 제공되는 언인스톨러 자체에 버그가 있던건지는 모르겠습니다만...

당해보면 심히 난감합니다... =_=;;;

... 뭔가 작업을 할 때는, " 테스트를 확실하게 해야겠구나~!! " 하고 느끼게해준 사건이었습니다..ㅋ

제가 만들고 뿌리는 프로그램에서 요런 문제가 발생하면 안되니깐요...



반응형
AND