ASUS 공유기 암호규칙(영문, 특수문자, 숫자 모두 사용) 우회하기

2020/10/05 제목을 ASUA라고 오타낸것을 이제서야 알게되었다(?!). 😱 ASUS로 제목 수정. 이 글이 링크된곳이 있어 링크 주소는 유지(…).

2020/06/11 최신 크롬에서 확인 해본결과 스크립트를 직접 수정하는것은 보안 이슈가 있었는지 수정이 안됩니다. 대신 F12로 개발자 도구를 열고 ‘Console’탭을 선택, 아래와같이 “validator.psk_KR = validator.psk” 입력 후 엔터(복붙해도되고 vali까지치면 자동완성 힌트가 뜹니다.) 그리고 “validator.string_KR = validator.string”입력 후 엔터를 누르면 우회가 가능합니다. 덕분에 크롬외에서도 동일한 방식으로 우회가 가능하고 더 쉬운 우회법을 찾았지만 매번 다시입력해야하는 약간의 번거로움이 있습니다. 또 안되면 제보주시면감사합니다.


2022/02/16 바로 위 가로선의 위에 추가된 내용대로 암호우회를 사용하세요. 아래 본문과 같은 방법은 2020년 쯤 부터 브라우저에서 사용할 수 없습니다.

2018/04/26 현재 최신 펌웨어에서 확인된 방법.

공유기 관리자 페이지에 접속하여 메인 페이지, 또는 무선 메뉴에 진입한다.
그리고 F12를 눌러 개발자 도구를 연다. (주 브라우저는 파폭이지만 이 작업은 크롬브라우저 추천.)

기본적으로 개발자 도구에서 Source가 선택되어있다. 여기에서 validator.js 파일을 선택하여 Ctrl + F로 검색 입력란을 띄운 후, 팝업 메시지 내용 일부인 ‘정부의’ 단어를 검색한다. 그럼 해당 단어가 두곳 나타난다.

사전공유키는 무선 네트워크의 암호.

사전공유키로 시작되지 않는 문구는 ‘관리’ – ‘시스템’에서 설정하는 로그인 사용자의 암호.

변경하고자하는 암호의 종류에 따라 위 부분을 아래처럼 주석처리한다. 그리고 Ctrl + S를 눌러 적용한다.

그리고 숫자로만 구성된 암호로 입력하고 적용하면 적용된다. 단순히 웹페이지의 자바스크립트에만 이러한 암호규칙을 검사해서 다행이다. (설마 나중에 CGI 내부에서도 체크하도록 바뀌지 않겠지…)

암호가 간단해도 문제지만 와이파이 비밀번호까지 평소 안쓰는 암호로 억지로 만들어서 사용할 필요가 꼭 있는걸까? 너무 간단한것도 문제지만 그렇다고 공유기에서도 저런걸 강제화 하는건 과연 좋은 선택일지 의문이 든다. 어찌되엇건 우회하는 방법이 있으니 다행이다.

덧. 파폭은 스크립트 변경이 안되고, 엣지는 크롬처럼 수정가능하지만 폼 테이터가 전송(적용버튼)되고나면 이후에 페이지 소스 리스트가 엉뚱하게 표시되어 엣지를 다시 실행하지 않으면 validator.js 파일을 다시 수정할 수 없다.

2022/02/16 취소선 그어진 본문 위 추가된 내용대로 암호우회를 사용하세요. 취소선을 넣은 초기 본문과 같은 방법은 2020년 쯤 부터 브라우저에서 사용할 수 없습니다.

spidermonkey-24.2.0 빌드오류 수정 (gentoo linux)

몇주 전 패키지 업데이트 후 icu가 업데이트 되어서인지 spidermonkey를 리빌드 하기위해 emerge @preserved-rebuild 명령을 실행하라하여 실행하니 오류가 발생하였다.

컴파일러의 변수형 검사가 더 강화된건지 jschar(unsigned short int)를 UChar(int16_t)로 형변환 오류가 발생했다. 그냥 두면 언젠가 패치되겠지했더니 한달동안 바뀌지않아 직접 패치한 내용을 나중에 또 필요할 경우를위해 과정은 생략하고 중요한것만 기록.

1. 패치파일 (/usr/portage/dev-lang/spidermonkey/files)

--- a/js/src/jspubtd.h  2018-03-24 14:46:05.245670691 +0900
+++ b/js/src/jspubtd.h  2018-03-24 15:05:45.705519813 +0900
@@ -64,7 +64,7 @@
 #ifdef WIN32
 typedef wchar_t   jschar;
 #else
-typedef uint16_t  jschar;
+typedef char16_t  jschar;
 #endif

 /*
--- a/mfbt/HashFunctions.h      2018-03-24 14:58:28.848967651 +0900
+++ b/mfbt/HashFunctions.h      2018-03-24 15:07:14.685819168 +0900
@@ -312,14 +312,14 @@

 MOZ_WARN_UNUSED_RESULT
 inline uint32_t
-HashString(const uint16_t* str)
+HashString(const char16_t* str)
 {
   return detail::HashUntilZero(str);
 }

 MOZ_WARN_UNUSED_RESULT
 inline uint32_t
-HashString(const uint16_t* str, size_t length)
+HashString(const char16_t* str, size_t length)
 {
   return detail::HashKnownLength(str, length);
 }
--- a/mfbt/TypeTraits.h 2018-03-24 15:20:41.328643028 +0900
+++ b/mfbt/TypeTraits.h 2018-03-24 15:21:28.616793417 +0900
@@ -195,6 +195,7 @@
 template<> struct IsPod              : TrueType {};
 template<> struct IsPod             : TrueType {};
 template<> struct IsPod            : TrueType {};
+template<> struct IsPod           : TrueType {};
 template struct IsPod<t*>       : TrueType {};

 namespace detail {</t*>

패치파일 생성은
diff -u orignalfile1 newfile1 > custom.patch
diff -u orignalfile2 newfile2 >> custom.patch
과같이 patch파일에 덛붙이면 여러파일의 패치를 담을 수 있다. a/mfbt, b/mfbt등 폴더를 만든다음 a에는 오리지널, b에는 수정될 파일을 위치하여 작업을 했다.

2. Manifest 파일 수정 (/usr/portage/dev-lang/spidermonkey)
portage 폴더 내 files에 위치한 패치파일은 AUX로 시작한다.
ex) AUX custom.patch 1208 BLAKE2B ac90b1748e526eb21b0477bb60c08d79a0bbd49c633327132572258987ec0ad6f0d2a2ab802a642fa2ede11151980383fa36fbe530b516333f0f3084b346c8ea SHA512 47327d1f9da97fe89e45745a1947fa62ffb612d9568791555db5009b4b9e9880b982518339f5503fa173eae780e1dc3d7266496538c13b7d740da30df3cd95a2

blake2b 해시파일은 b2sum custom.patch, sha512 해시파일은 sha512sum custom.patch 명령을 실행하면 출력된다. 해당 해쉬문자를 위 라인에 잘 넣으면 된다.

3. rebuild
이제 emerge 명령을 실행하면 끝.

오래 전 젠투리눅스 사용한지 얼마 안되었을 땐 한국 젠투 커뮤니티에서 직접 빌드오류 패치하는 방법을 공유하는 글이 많았는데 요즘은 오히려 잘 검색이 안되는거같다. 그냥 직접 부딛혀보니 어떻게든 해결되었다(…).

뭐 패치를 잘 한건지 모르겠지만 문제없겠지(…) 다음에도 이런 빌드 오류가 발생하면 또 이런 방법을 써먹어야겠다. 끝.

– 2020-09-02 내용보충 –
Manifest 파일에 직접 추가하지않고 ebuild [ebuild 파일 경로] digest 명령을 실행하면 파일이 다시 생성되는것으로 보이지만 나중에 변경된건지 직접 ebuild 파일 수정은 emerge 때 적용되지 않았다. 대신 /etc/portage에 patches 폴더를 생성, 그 아래 패치파일을 만들면 사용자 패치가 적용되었다. 아무래도 sync하면 초기화 되는 등 사용자가 직접 관리되는 파일을 수정하는것을 피하기 위함이 아닌가 생각이든다.

예를들면 sys-devel/bison-3.7.1 이라면 /etc/portage/patches/sys-devel/bison-3.7.1 폴더를 만들고 patch 파일들을 넣으면 되었다. 폴더 이름의 규칙은 간략하게 아래와같고 자세한 내용은 참고링크 참조.
sys-devel/bison
sys-devel/bison:3
sys-devel/bison-3.7.1
sys-devel/bison-3.7.1-r1

참고: https://wiki.gentoo.org/wiki//etc/portage/patches

fdisk로 4K 섹터 정렬된 파티션 생성

parted나 fdisk나 4K 정렬을 지원하지만 그냥 생성한다고해서 정렬 된 파티션으로 생성되지않는다. 정렬되지 않았다고 그냥 경고 메시지만 출력할 뿐(…) 직접 계산하여 생성할 수 있겠지만 그럴 필요성까지는 느껴지지않는다. parted같은 경우 정렬 된 파티션을 생성하려면 이전에 남긴 “Parted 사용정리” 글을 보면 될것이고 fdisk는 실행할 때 옵션을 주면 된다.

1. fdisk 버전 2.17.1 미만일경우
# fdisk -S 32 -H 64 disk.img

2. fdisk 버전 2.17.1 이상일경우
# fdisk -c -u disk.img

이렇게 실행하여 경우 결과는 아래와같다.

Welcome to fdisk (util-linux 2.30.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (1-4, default 1):
First sector (2048-262143, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-262143, default 262143): +10K

Created a new partition 1 of type 'Linux' and of size 10 KiB.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (2-4, default 2):
First sector (2068-262143, default 4096):
Last sector, +sectors or +size{K,M,G,T,P} (4096-262143, default 262143):

Created a new partition 2 of type 'Linux' and of size 126 MiB.

Command (m for help): p
Disk disk.img: 128 MiB, 134217728 bytes, 262144 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe765896f

Device     Boot Start    End Sectors  Size Id Type
disk.img1        2048   2067      20   10K 83 Linux
disk.img2        4096 262143  258048  126M 83 Linux

Command (m for help):

그런데 정렬된 파티션을 생성할 때 왜 2048섹터가 시작점이 되는지 모르겠다. 섹터당 512 bytes라면 8섹터가 4096바이트, 2048섹터는 1메가바이트인데… 구글링해도 시원한 답이 안보인다. 그냥 넘어가야겠다.

추가내용) 4K 섹터 정렬에 대한 잘 설명된 글은 데스게이트의 글인 고급 포맷 4K 섹터 하드 드라이브로의 전환에서 볼 수 있다. (왜 데스게이트라고 불리는지는 나무위키 Seagate 페이지의 돌연사 항목을 보자. 나중에 번호가 바뀌더라도 돌연사 항목을 찾아서 보면 될것이다. WD는 자회사인 HGST보다 안정성 떨어져 불량이 많이 늘어 마찬가지로 신뢰 안하는 중. 모든 하드가 다 마찬가지긴 한데 쓰려면 최소한 RAID-1을 써야 나중에 피 안본다.)

참고페이지: Partition Alignment

윈도 10에서 음향 출력이 외곡될 때

집에서는 주로 효과를 끄고사용하기때문에 문제없이 음악을 듣고있지만 회사 노트북에서 음악을 들으면서 뭔가 이상하다는 느낌을 받아서 확인해보니 역시나… 윈도의 사운드 효과 때문이였다.

해당 옵션을 확인하기 위해서는 작업표시줄의 트레이아이콘 영역의 스피커 아이콘에서 우클릭하여 재생 장치를 클릭하여 설정창을 연다.

재생 장치에서 기본장치로 설정된 장치를 더블클릭하거나 우클릭하여 속성을 클릭하여 속성창을 연다.

회사 노트북은 아래와같이 해당 설정 페이지가 한글로 표시되어있다. (이미 옵션을 꺼두었기때문에 모든 사운드 효과 사용 안함이 체크되어있다.)

하지만 집 컴퓨터는 아래와같이 영어로 되어있다.

둘 다 같은 기능을 하는 페이지이니 해당 페이지에서 모든 사운드 효과 사용 안함을 체크하고 확인이나 적용을하면 외곡되지않은 원음을 들을 수 있다. (리스트에서 체크되어있는것이 없음에도 외곡되는걸 보면 기본적으로 활성회되어있는 효과가 있는거같다.)

지금은 회사에서 포스팅하느라 광 출력도 외곡이 되는지 확인을 못하지만 귀찮으니 퇴근하더라도 확인은 패스한다(…).

윈도 7을 쓸 때 게임을 하다보면 여러 소리가 섞일 때(아마 peak수치까지 사운드가 올라갈 때 일듯하다.) 자동으로 gain이 내려가버리는 효과같은것이 있었는데 그 때 이것저것 건들다 이 옵션을 알게되었다. 저것을 끄고나서는 지금까지 이상한점 없이 문제없이 사용하고있는것같다.

일단 소프트웨어로 무언가 처리를 한다는것은 출력에 딜레이를 발생시키는것이니 리듬게임을 한다거나 매우매우 미묘하게 싱크가 안맞는다 싶으면 이런 소프트웨어 사운드 효과는 끄도록 해보자.

이상 끗.

덧. 그런데 왜 MS는 멀쩡한 하드웨어에다가 이상한 소프트웨어 처리를 끼얹고있는걸까? 외곡으로 느껴지지않게 자연스러운 음향효과가 들어가는건 좋은데 외곡으로 느껴질 정도로 음향효과를 주니 문제(…).

parted 사용 정리

사용할 때 마다 구글링하게되어 남기는 단순 메모목적 글.

– 파티션 테이블 초기화
mklabel [msdos | gpt | etc…]

– 파티션 생성
mkpart [primary | logical | extended] [btrfs | ext2~4 | fat32 | fat16 | etc…] start end
시작이 0이면 정렬되지 않은 파티션이라는 경고가 나온다.
2048s 이런식으로 s를 붙여서 윈도와 호환을 위한 정렬 된 파티션 생성 가능.
메뉴얼에서는 단위를 MiB로 지정하는데 이유는 몰라도 MiB로 지정하면 4K 섹터 정렬이 되는가보다(…)
ex)
mkpart p fat16 2048s 32MiB
mkpart p ext4 32MiB 512MiB
mkpart p ext4 512MiB -1s
위와같이 생성하면 경고 없이 잘 만들어졌다.

– 부팅가능 플레그 지정
set 1 boot on

– 결과
Disk /home/iruis/RPiCM3.img: 839MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 33.6MB 32.5MB primary boot, lba
2 33.6MB 537MB 503MB primary
3 537MB 839MB 302MB primary

좀 더 알아보고 싶지만 귀찮다. 그냥 이쯤에서 끝.