'배치'에 해당되는 글 3건

  1. 2011.10.25 정션 만들기 배치파일 1
  2. 2011.07.07 dosbox에서의 배치 파일
  3. 2011.06.08 nProtect 자동으로 시작하지 않기 56
응용프로그램2011. 10. 25. 00:09

*주석을 삭제하는 걸 잊었음-_- 11-10-26 21시 이전에 받은 사람은 첨부 파일을 다시 받아주세요ㅠㅠ


윈도우7에는 mklink로 정션(심볼릭 링크)을 만드는 방법이 있다. 일일이 콘솔에서 입력하는 것도 물론 짜증이지만, 나와 있는 GUI 프로그램도 써보니 영 불편하고 해서, 배치파일을 직접 만들었다.

기본적으로 시스템 파티션(C:)을 깨끗하게(=적게) 유지하고 싶고, 응용프로그램이나 프로그램 데이터는 모두 다른 파티션에 보관하고 싶은 게 우리(!)의 공통 관심사이다.

*주의: 이하 정션이 뭔지 알고 위와 같은 불편함을 해소하고자 하는 사람만 계속 읽고, 모르는 사람은 그냥 관심 끄고 살면 되겠다.

문제는 몇몇 프로그램의 경우 C: 외의 경로에 설치해도 프로그램 데이터를 C:에 보관한다는 점이다. 대표적으로 C:\ProgramData 폴더라든가 C:\Users\사용자명\Application Data라든가 C:\Users\사용자명\AppData라든가.

대표적으로 어도비의 경우 프로그램은 C:가 아닌 곳에 깔았는데도 C:\Program Files (x86)\Common Files\Adobe 폴더에 뭔가 쥰내 큰 데이터를 저장하니 짜증이 나 죽을 지경이다. C:는 SSD이므로 용량이 없단 말이다! 또 다른 예로, 스팀이나 오리진의 경우도 엄청나게 큰 게임 클라이언트를 무조건 C:에 설치하려니 난감하고.

이럴 때 우리는 정션을 떠올린다. 스누피 님의 문서(새창) 등을 참고해서 말이지. 다음 파일은 정션 만드는 방법을 자동화한 배치파일이다. *주석을 삭제하는 걸 잊었음-_- 11-10-26 21시 이전에 받은 사람은 다시 받아주세요ㅠㅠ

makeJP.bat

다운로드해서, 사용하기 전에 먼저 반드시 배치파일을 열고 실제 데이터가 보관될 폴더를 지정해야 한다. 그다음 이 파일을 보내기 폴더(shell:sendto)에 넣은 다음, 정션을 만들고자 하는 폴더에 우클릭>보내기>makeJP.bat를 선택하면 된다.

*주의: 보내기 폴더(shell:sendto)가 뭔지 모른다면... 먼저 조사하고 오길 권한다.

예를 들어 C:\ProgramData\Adobe 폴더 용량이 너무 커서 L:\shit damn motherfucker 폴더로 옮기고 싶다고 가정하자. 즉 C:\ProgramData\Adobe 폴더의 정션을 L:\shit damn motherfucker\ProgramData\Adobe에 만드는 것이다.

위 배치파일을 보내기 폴더에 저장했다고 치고, 파일을 메모장 같은 걸로 열고 셋째 줄을 수정한다.

원하는 폴더로 수정하되 따옴표나 슬래시는 뺄 것원하는 폴더로 수정하되 따옴표나 끝에 슬래시는 뺄 것

이때 폴더명 앞뒤에 따옴표(") 또는 맨 끝에 슬래시(\)를 붙이지 말아야 한다. 배치파일 안에 주석으로 써놓았으니 제발 좀 읽길. 이제 파일을 저장하고 탐색기에서 C:\ProgramData\Adobe 폴더를 우클릭하고 보내기>makeJP.bat를 선택한다. 그럼 다음과 같은 콘솔 창이 뜰 거다.

잘 읽어보고 진행하길잘 읽어보고 진행하길


원본 폴더와 대상 폴더를 확인하고 맞으면 아무 키나 누르고, 만약 틀렸다면 ctrl + c를 눌러서 중단하라. 마지막 경고다. 아무 키나 눌러서 진행할 경우, 배치파일은 원본 폴더 파일을 대상 폴더로 복사한다. 복사가 끝나면 원본 폴더 파일을 지우고 대상 폴더에 대한 링크를 걸게 된다. *Done!이 뜨면 성공적으로 완료.


보통은 중간에 액세스가 거부되었습니다, 지정된 파일을 찾을 수 없습니다, 디렉터리가 비어 있지 않습니다, 파일이 이미 있으므로 만들 수 없습니다 등의 오류가 뜰 텐데, 마지막에 *Done!이 뜨면 성공적으로 완료된 거다.


*주의(11-10-26 추가): 하지만 *Done!이 뜨지 않고 '액세스가 거부되었습니다'와 '파일이 이미 있으므로 만들 수 없습니다'가 표시된 후 *Check if 폴더명 is shared! If not, press any key to retry.라고 나올 경우는, 옮기려는 폴더가 공유 혹은 사용되고 있는 폴더인지 확인해야 한다. 아니라면 아무 키나 눌러서 다시 시도할 수 있다. 만약 몇 번 더 시도해도 다음으로 넘어가지 않는다면 십중팔구 공유 혹은 사용 중인 폴더이므로 폴더를 지울 수 없다. 이때는 ctrl + c로 종료하고 원본 폴더를 사용 중인 프로세스를 종료하고 다시 시도해야 한다. 어도비 관련 프로세스라든가 스팀, 오리진 클라이언트 같은 것들 말이다. 그런 경우가 아니라도 윈도우에서 사용하는 폴더는 이동할 수 없다. 어쨌거나 *Check if ...가 뜬 다음 배치파일을 강제종료했다면, 대상 폴더는 이미 생성이 된 상태이고(링크만 안 걸렸을 뿐) 원본 폴더에서도 일부 파일이 대상 폴더로 이미 이동되었을 수 있으므로, 복사된 대상 폴더를 다시 원본 폴더로 이동해야 한다(수동으로-_-).


*마지막 주의사항이다. C:\ProgramData 전체를 옮기면 안 된다. C:\Users\Administrator 전체도 마찬가지다. 심지어 C:\Program Files (x86)\Common Files 전체도 안 된다. 이들 폴더에는 윈도우 상주 파일이 있기 때문에 옮겨서는 안 되거나 아예 옮길 수 없다.


어도비 프로그램을 사용 중이라면, 기본적으로 다음 폴더들은 옮기길 추천한다(물론 하드가 남아돈다면 안 옮겨도 무방...하지만 그렇다면 아예 이 글을 읽고 있을 이유가 없겠지).


C:\Program Files\Common Files\Adobe

C:\Program Files (x86)\Adobe  

C:\Program Files (x86)\Common Files\Adobe

C:\ProgramData\Adobe


그 외 윈도우 중 용량 쥰내 차지하는 다음 두 폴더도 옮기면 좋다. 단, 옮겨야 하는 이유는 알고 옮기길 바란다. 웹 찾아보면 다 나온다.


C:\Windows\installer

C:\Windows\SoftwareDistribution


나머지는 본인이 사용하는 프로그램에 따라 C:에 있을 이유가 없는 것들을 옮겨주면 된다. 내 경우 이렇게 해서 C:에서 3.4기가의 용량을 절약했다.


물론 이렇게 복잡한 방법을 사용할 필요 없이, 내 문서 같은 사용자 폴더는 윈도우 자체에 폴더를 옮기는 방법이 있다. 스팀이나 오리진은 처음부터 C:가 아닌 곳에 깔면 된다. 프로그램은 웬만하면 포터블 버전을 쓰면 된다. 이 방법을 사용하는 건 그렇게 할 수 없는 빌어먹을 녀석들에 한하길 권한다(분명히 그런 프로그램들이 있다. 나는 안 쓰니 모르겠지만, 아이튠즈도 그런 것 같고, 일부 게임 중에도 있다).


다음은 배치파일 소스 전체다. 이거 만들면서 배치파일에서도 스트링 처리가 가능하다는 걸 처음 알았다;



'응용프로그램' 카테고리의 다른 글

오페라 마이그레이션  (1) 2011.12.13
QCP 및 QCQ 파일 재생 불가  (2) 2011.11.02
dosbox에서의 배치 파일  (0) 2011.07.07
워드 문서 비교 및 병합  (0) 2011.07.07
MS 오피스 파일을 PDF로 변환하기  (1) 2011.02.25
Posted by 필유
응용프로그램2011. 7. 7. 20:08

일단 네이버에 올렸다가 원래 있어야 할 곳으로 옮김:


dosbox에서 지원하는 콘솔(ms-dos) 커맨드는 매우 제한되어 있다. 아니, 제한되어 있다는 건 오해의 소지가 있고... 그러니까 윈2k 이후의 콘솔 커맨드와 다른 점이 많다는 거다.


그래서 나 같은 많은 사람이 이런 고민(새창)에 빠졌고... 무슨 문제냐면, (아마도) 윈2k 이후로 choice(외부명령어)가 사라지는 바람에, 나를 비롯해 윈도우를 쓰면서도 도스 명령어를 만지는 사람들은 choice 대신 set(내부명령어)를 이용해야만 했다는 거. 더 정확히 말해 이런 상황(사용자 입력을 받아 분기하는 구문)에서, 윈2k 이전에는 choice와 if errorlevel 조합을 사용했는데, 윈2k 이후로는 set /p와 if %사용자 지정 환경변수-_-%를 이용해야 한다는 말.


뭐 그렇게 적응한 지도 꽤 됐는데, 오늘 dosbox에서 한 배치파일을 실행하니 저런 구문이 안 먹히는 걸 발견했다(안 먹힐 뿐 아니라 아예 dosbox 자체가 다운된다-_- 버전은 오늘 기준 최신 svn 빌드). 

결론은, dosbox에서는 윈2k 이전처럼 choice와 if errorlevel 구문을 이용해야만 한다는 거.

덧붙이자면 dosbox에서는 copy /y도 안 먹는다(/y가 없는 옵션). 이것도 윈2k부터 바뀐 건지 어쩐 건지는 모르겠으나, 확실히 옛날 ms-dos에서는 덮어쓰기가 기본값이었던 것 같기도 하다.

이 밖에도 명령어 자체가 사라지거나 구문이 다른 게 더 있겠지만, 자세한 설명은 패스(당장 move나 deltree처럼 '한때' ms-dos에 포함되었던 외부명령어들이 dosbox에서는 지원되지 않는다). dosbox에서 지원하는 커맨드는 dosbox 위키(새창) 참고. 

'응용프로그램' 카테고리의 다른 글

QCP 및 QCQ 파일 재생 불가  (2) 2011.11.02
정션 만들기 배치파일  (1) 2011.10.25
워드 문서 비교 및 병합  (0) 2011.07.07
MS 오피스 파일을 PDF로 변환하기  (1) 2011.02.25
승리의 registry crawler  (0) 2011.02.18
Posted by 필유
2011. 6. 8. 20:45

*추가 내용: 서비스를 '자동'으로 두고 강제종료할 경우 일정 시간이 지나면 서비스가 다시 시작된다-_-! 그래서 서비스 자체를 '사용 안 함'으로 바꿀 필요도 있다. 본문에 추가함.

*추가(2011-8-13): 엔프로텍트가 최근 업데이트되었는지 새로운 프로세스(npenkMain5.npn)가 추가됐음. 본문에 추가함.

*추가(2011-9-8): 또 업데이트된 듯. npkcmsvc.exe 및 npkcsvc 서비스를 중지하도록 추가함.

*추가(2011-11-13): npkcmsvc 서비스 중지하도록 추가함.

*추가(2012-2-27): npenksvc5.exe 중지하도록 추가함.

*추가(2012-10-4): npkcmsvc 서비스 중지 파일에도 반영함(지난번에 빼먹었네요--;).

*추가(2014-4-15): npkfxsvc 서비스 중지하도록 추가함.

*추가(2016-5-3): nossvc(nosstarter.npe) 삭제 명령 등 추가함.



길게 쓰자니 혈압 높아질 것 같고, 짧게 쓴다.

잉카인터넷에서 만든 엔프로텍트(nProtect)라는 국민 스파이웨어 키보드 보안 프로그램이 있다. 잉카인터넷은 금융감독원과의 유착을 통해 국내 모든 은행에서 인터넷뱅킹 시 강제적으로 엔프로텍트를 설치하게 했다. 우리나라에서는 엔프로텍트를 설치하지 않으면 아예 인터넷뱅킹을 할 수 없다. 무슨 깡패도 아니고.


난 그저 인터넷뱅킹을 하고 싶을 뿐인데난 그저 인터넷뱅킹을 하고 싶을 뿐인데


사실 엔프로텍트가 보안 기능에만 충실했다면 사람들이 이렇게까지 욕하지도 않았을 거다. 엔프로텍트는 1) 키보드나 마우스를 먹통으로 만드는 일이 잦고, 2) 인터넷 뱅킹을 사용하지 않을 때에도 메모리에 상주해 자원을 차지하며, 3) 자동으로 실행되지 않도록 설정해놓아도 한 번만 인터넷뱅킹을 이용하면 다시 자동으로 실행되도록 설정을 바꿔버린다. 한마디로 기능도 변변찮은 프로그램이 사용자 선택/편의마저 개무시하는 꼴이다.


인터넷뱅킹을 끝내도 엔프로텍트는 종료되지 않는다인터넷뱅킹을 끝내도 엔프로텍트는 종료되지 않는다


아 혈압 높아져서 안 되겠다. 엔프로텍트의 문제점을 지적한 글들을 몇 개만 링크한다.


엔프로텍트의 악명이 높은 만큼 많은 사람이 엔프로텍트를 제거하거나 무력화하는 방법을 찾아내 널리 알렸다. 그런 방법은 복잡하기도 하고 어차피 인터넷뱅킹을 할 때마다 엔프로텍트는 십중팔구 다시 설치/실행될 뿐이므로, 다른 방법을 소개한다.

핵심은 엔프로텍트를 제거하는 대신, 최소한 컴퓨터 켤 때마다 실행되는 것만이라도 막아보자는 거다. 엔프로텍트 서비스를 서비스 구성(services.msc)에서 '사용 안 함'으로 설정해도 은행에 접속하는 순간 설정은 다시 '자동'으로 바뀐다. 또한 서비스 설정이 '자동'일 경우 프로세스를 종료해도 일정 시간이 지나면 다시 실행되므로 서비스도 '사용 안 함'으로 바꿔야 한다. 구체적으로는 명령창(cmd.exe)에서 다음과 같이 치면 된다.  


taskkill /f /im nPStarterSVC.exe
taskkill /f /im npnj5Agent.exe
taskkill /f /im npmonz.exe
taskkill /f /im CKAgent.exe
taskkill /f /im I3GEX.exe
taskkill /f /im npenkMain5.npn
taskkill /f /im npkcmsvc.exe
taskkill /f /im npenksvc5.exe
sc config nPStarterSVC start= disabled
sc config npkcsvc start= disabled
sc config npkcmsvc start= disabled
sc config npkfxsvc start= disabled

"%ProgramFiles(x86)%\INCAInternet UnInstall\nProtect Online Security\nProtectUninstaller.exe"

sc config WizveraPMSvc start= disabled
taskkill /f /im wpmsvc.exe
taskkill /f /im veraport.exe
taskkill /f /im delfino.exe
reg delete "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\wizvera-delfino-pc" /f
reg delete "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\wizvera-veraport" /f


위에서 1,2(줄)는 상주하는 엔프로텍트 프로세스이고, 3은 은행 접속 중에만 뜨는 엔프로텍트 프로세스이다. 4,5는 다른 회사의 보안 프로그램으로 외환은행 등에 접속 시 실행되며 자동으로 종료되지 않는 것들이다. 6,7,8은 최근 변경된 프로세스명이다. 9,10,11,12는 엔프로텍트 관련 서비스를 '사용 안 함'으로 바꿔놓는다. 이 내용을 배치 파일로 만들어놓고 컴퓨터 시작될 때마다 실행되게 하면 되겠다. 또한, 은행에 접속해서 볼일 다 본 다음에도 이 배치 파일을 실행하면, 자동으로 상주한 찌꺼기 프로세스들을 종료하고 서비스가 다시 시작되지 않도록 '사용 안 함'으로 바꿔놓는다.

13줄은 2015년 후반 등장한 nossvc라는 괴생명체를 삭제한다. 이 괴물은 1) 프로세스 종료, 2) 서비스 변경, 3) 설치 폴더 수정 이 세 가지를 모두 막고는 계속 상주한다. Process Hacker 같은 툴로 서비스를 강종하면 블루 스크린도 볼 수 있다(증거 사진). 그래서 다음에 은행을 쓸 때 다시 깔더라도 이건 그때그때 삭제하는 방법밖에 없다.

마지막 몇 줄도 은행 이용 후 자동으로 종료되지 않는 Wizvera와 Delfino 등을 종료한다. 

이상의 내용이 담긴 배치 파일↓

fuckInca.bat

이 배치 파일을 아무 곳에나 다운로드하고 시작 메뉴의 시작프로그램 폴더로 끌어서 넣으면 된다. 이렇게 하면 부팅 시 '자동'으로 실행되는 엔프로텍트 서비스들은 시작되자마자 종료된다ㅋ. 추가로 시작 메뉴에도 추가해두면 은행을 이용한 다음에도 쉽게 사용할 수 있겠다. 스샷은 윈7이지만 XP에서도 똑같이 하면 된다.


시작프로그램에 넣은 모습시작프로그램에 넣은 모습

시작 메뉴에 고정한 모습시작 메뉴에 고정한 모습



'' 카테고리의 다른 글

구글 번역 업데이트  (0) 2009.11.22
벤치비가 업데이트하더니  (0) 2009.11.10
다크카피(DarkCopy)  (0) 2009.11.06
파이어폭스 3.5.1과 video 태그  (0) 2009.07.30
Indexhibit  (4) 2009.05.12
Posted by 필유