웹페이지 쉴드를 위한 Non-JS 방식(왼쪽, 오른쪽 키, 코드 등)_javascript 기술
저는 오랫동안 웹페이지 소스코드 차단에 대한 글을 쓰고 싶었습니다. 일부 JS 스크립트를 자주 컴파일한 후에는 안주하면서도 다른 사람들이 소스 코드를 보고 내 스크립트를 훔칠까 봐 걱정되기 때문입니다. 그래서 나는 내 웹 페이지의 소스 코드의 보안을 유지하기 위해 최선을 다해 왔습니다. 아직 완전히 안전한 차폐 방법은 없지만(즉, 이 방법을 생각해냈을 때 이미 그 약점과 크래킹 방법을 알고 있었습니다) 여기에 요약할 수 있는 많은 차폐 아이디어가 있습니다.
우리 모두 알고 있듯이 페이지를 보호하기 위해 가장 기본적인 것은 오른쪽 클릭을 차단하는 것입니다. 현재 웹 페이지에서 가장 일반적으로 사용되는 click() 함수는 다음 코드입니다.
〈script〉 function click(){ if(event.button==2){ alert( '本网站欢迎您 !!'); } } document.onmousedown=click 〈/script〉
하지만 이 차폐 방법의 크래킹 방법도 잘 알려져 있습니다. 즉, 마우스 왼쪽 버튼과 오른쪽 버튼을 계속해서 클릭하면 다시 오른쪽 클릭 메뉴를 볼 수 있습니다. 그런데 오른쪽 클릭을 차단하는 좋은 방법을 보았습니다. 그 원리는 위에서 언급한 것과 다릅니다. JS로 작성된 스크립트는 아니지만 정의된 웹 페이지 속성을 사용하여 이를 제한합니다. 또한 차폐 시에는 JS 스크립트를 최대한 피해야 합니다. 뷰어가 IE에서 자바스크립트 스크립트를 비활성화하는 한 때문입니다. 그러면 모든 보호가 헛된 것입니다.
그럼 계속해서 웹페이지의 속성을 수정하여 오른쪽 클릭을 차단하는 방법을 살펴보겠습니다. 이 메서드는 HTML의
〈body oncontextmenu=self.event.returnValue=false〉
여기서는 oncontextmenu가 정의됩니다. 오른쪽 클릭 값을 false로 설정하면 오른쪽 클릭을 보호하는 효과가 있습니다. 자, 지금 크래킹 방법을 시도해 보세요. 더 이상 작동하지 않습니다. 왼쪽 및 오른쪽 클릭 콤보는 더 이상 오른쪽 클릭 메뉴를 열 수 없습니다. 이뿐만 아니라 다른 방법도 시도해 보세요. 아무리 엉망이더라도 마우스 오른쪽 버튼을 클릭하는 것은 쓸모가 없습니다. 왜냐하면 이 웹페이지에서는 오른쪽 클릭이 더 이상 존재하지 않기 때문입니다. 존재하지 않는 기능키로 무엇을 할 수 있나요?
그러나 오른쪽 클릭을 차단한다고 해서 문제가 해결되는 것은 아닙니다. 텍스트나 그림을 복사하고 싶을 경우. 그런 다음 선택한 후 Ctrl C, Ctrl V를 사용하여 복사하여 붙여넣습니다. 그런데 다음으로 얘기하고 싶은 건 왼쪽 버튼 차단(뭐? 왼쪽 버튼 차단? 그러면 이 웹 페이지는 거의 쓸모가 없잖아요? 걱정하지 마세요. 아직 다 안 끝났어요. 왼쪽 버튼에는 하나의 기능만 있습니다.) 선택된 기능.
그래서 위에서 언급했듯이 JS를 사용하여 차단하는 것은 증상을 치료하지만 근본 원인은 아닙니다. 그럼 웹페이지의 가장 기본적인 언어인 HTML로 정의해 보겠습니다. 여전히 오래된 수법입니다.
〈body onselectstart="return false"〉
이렇게 하면 왼쪽 클릭 선택 기능을 쉽게 차단할 수 있습니다. 원리는 위와 동일합니다. 이제 왼쪽 클릭으로 아무것도 선택하는 것이 더 이상 유용하지 않습니다. 당연히 Ctrl C나 Ctrl V를 사용할 수 없습니다. 이제 이 두 부분을 병합해 보겠습니다. 왼쪽, 오른쪽 키를 완벽하게 제어하세요! :
〈body oncontextmenu=self.event.returnValue=false onselectstart="return false"〉
이제 드디어 왼쪽, 오른쪽 키 문제가 해결되었습니다.
좋습니다. 이제 다른 질문을 살펴보겠습니다. 우리 모두 알고 있듯이 IE 브라우저 메뉴 표시줄의 "보기" 항목에 있습니다. "소스 보기" 옵션이 있습니다. 이런 식으로 마우스 오른쪽 버튼 클릭 시 소스 코드 보기를 차단했지만. 그러나 메뉴 표시줄에서 소스 코드 보기를 사용하는 한 계속해서 소스 코드를 볼 수 있습니다. 무엇을 해야 할까요?
처음 아이디어는 프레임워크를 사용하여 소스 코드를 보지 않는 것이었습니다. 즉, 웹 페이지가 프레임에 내장되어 있는 경우 메뉴 바에서 소스 코드 보기를 선택하면 프레임 웹 페이지의 소스 코드만 볼 수 있습니다. 일반적인 형식은 다음과 같습니다.
〈html〉 〈head〉 〈meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"〉 〈title〉本网站标题〈/title〉 〈/head〉 〈frameset rows="47,*" framespacing="0" border="0" frameborder="0"〉 〈frame name="header" scrolling="no" noresize target="main" src="top.htm"〉 〈frame name="main" src="main.htm" scrolling="auto" target="_self"〉 〈noframes〉 〈body〉 〈p〉此网页使用了框架,但您的浏览器不支持框架。〈/p〉 〈/body〉 〈/noframes〉 〈/frameset〉 〈/html〉
이렇게 하면 상대방이 귀하의 소스 코드를 직접 본 적이 없는 것 같습니다. 그러나 누군가가 당신의 소스 코드를 읽고 싶어한다면 아마도 그것을 이해할 수 있을 것입니다. HTML을 조금 알고 있다면 다음 두 문장이 무엇을 의미하는지 알 수 있습니다.
〈frame name="header" scrolling="no" noresize target="main" src="top.htm"〉 〈frame name="main" src="main.htm" scrolling="auto" target="_self"〉
这两句的意思就是:在header(也就是网页顶部)处引用相对路径下的top.htm网页文件。而在main(也就是占据网页大部分页面的位置)处引用相对路径下的main.htm网页文件。就这两点是关键的,其他就不作解释了,大家也都懂的。而上面所讲的利用框架来隐藏源代码的方法就是将要显示页面放在main部分。而将header部分的大小设为0。但是这样一来,利用菜单栏里的查看源代码,还是能查看到框架网页的源代码。只要看到这两句,就知道我们前面用的手法了。也就是说,只要将框架网页的名字改为目标网页,便可以用相同的方法直接看到目标网页的源代码了。如:框架网页:http://www.php.cn/的源代码如上,就可以改为http://www.php.cn/。这样便可直接浏览被保护网页,屏蔽源代码的效果还是没有达到。
那么,有些人就会想到,如果对方看不到框架网页的源代码。又何谈去直接打开被保护网页?对,这就是接下来我要讲的。如果要一个页面的菜单栏内的查看源代码失去效用。那最简单的办法就是去掉菜单栏。而这一点是可以通过弹出窗口来实现的。之所以不选用超链接打开无菜单栏窗口是因为那样会暴露目标地址,浏览者可以直接在浏览器中敲入地址,而绕过这个屏蔽的菜单栏。要使用超链接打开无菜单栏窗口,就必须在一个已受到源代码屏蔽保障的网页中使用相关链接。
那么,我们就看看如何利用弹出窗口来去掉菜单栏。其实,我们要做的,就是让目标网页在一个广告条中打开。这个代码几乎每个大型网站都会有的。代码如下:
〈script〉 〈!-- window.open("red.htm", "red", "resizable=yes,width=500,height=300"); --〉 〈/script〉
这里,在window.open后的括号里的第一个参数就是弹出窗口所显示的网页的位置,这里例子里是先对位置下的red.htm网页文件。这时运行便会谈出一个显示有red.htm的无菜单栏的窗口。好,我们的目的达到了。但是,这个窗口有一个缺陷,就是没有滚动条。因为在谈出窗口的语句:window.open里并没有关于滚动条的参数,(或是我不知道?欢迎高手来信指出),所以这里打开的网页建议只做成网页的导航页。
但是,用以上方法取消菜单栏,必须有一个第二方的网页来作弹出的工作。那么,这个用来弹出窗口的网页又成为了一个问题的所在。举例来说:假设,我们用一个index.htm来作弹出窗口的工作。也就是打开index.htm之后,会弹出red.htm的无菜单栏窗口。前面我们也提到了,如果知道了一个网页的地址后,无论这个网页是否隐藏在无菜单栏之下,你都能看到它的源代码。那么,不让这个red.htm的地址暴露也就成了解决这个问题的关键。但是,只要这个index.htm被打开,就可以看到源代码。但是,不妨反过来想想,如果我们把index.htm给关起来呢?只要在浏览者没有来得及查看index.htm之前将它关闭,就能保住它的源代码了。那么,在这个index.htm里就有得做些文章了。
那就是,添加关闭网页的代码。
那么,我们就可以用window.close来关闭窗口。代码如下:
〈script〉 〈!-- window.close(); --〉 〈/script〉
那么,现在我们把两部分代码合并起来。现在,得到的效果就是——直接有一个无菜单栏的窗口打开了。因为计算机的处理速度很快,如果我们将这两段代码紧接着写在一起,那么我们就只能看到新建的窗口。代码如下:
〈script〉 〈!-- window.open("red.htm", "red", "resizable=yes,width=500,height=300"); window.close(); --〉 〈/script〉
而原来的窗口,已在我们无察觉的情况下关闭了。这样,就别说查看该网页的源代码了。这里,加入上面源代码的网页起了一个跳板的作用。但是,在这里,我们要注意几点。第一,用来做跳板的网页不应该命名为index.htm。将它换一个名字,然后把默认首页的名字改为更改过的名字。这样,是浏览者能在输入网之后便自动访问该页。而又不致让对方知道该页的名称。如果不这样做,就会导致对方猜测出该页的位置。如:172.0.0.0/index.htm。这样,就可以通过在浏览器中提交:View-Source:http://www.php.cn/就可以看到该页的源代码了。
在屏蔽掉了菜单栏和工具栏之后,我们想,如果没有了最上方的窗口条该多好呢?下面我们要做的事情,有前提,就是在上面所说的在利用跳板页面打开一个无菜单栏的窗口之后。我们要做什么呢?就是让我们显示网站内容的窗口只显示内容,(是啊,网站不就是给别人浏览的吗?要浏览器和windows的那么多功能做什么呀……)只要内容,其余一律去掉。我们就可以通过一段Javascript来完成。下面这段代码就是用来定义无任何窗口特征的代码:
〈script〉 function open1(url){ newwin=window.open(url,'newwindow','fullscreen=1') newwin.resizeTo(800,600) newwin.moveTo(screen.width/0-800,screen.height/0-600) } 〈/script〉
其中,function open1(url)定义了超链接的写法。所以,我们在写链接的地址时,应该这样写:javascript:open1(url)。比如我要打开一个无窗口特征的新浪首页就应该在文字或图片的超链接里这样写:javascript:open1(‘http:www.sina.com.cn')。当然,括号内也支持相对路径。最后写出来的格式应该是:
〈script〉 function open1(url){ newwin=window.open(url,'newwindow','fullscreen=1') newwin.resizeTo(800,600) newwin.moveTo(screen.width/0-800,screen.height/0-600) } 〈/script〉 〈body oncontextmenu=self.event.returnValue=false onselectstart="return false"〉 〈td width="100%"〉〈a href="javascript:open1('main.htm'),window.close()"〉〈img border="0" src="pic/blank1.gif" style="position: absolute; left: 556; top: 142" width="169" height="57"〉〈/a〉〈/td〉 〈/body〉
这样,我们就达到了打开无窗口边的网页了。并且,在这个网页中,会自动加入滚动条,这样,就不会像前面那样看不到下面的内容啦。
最后我们要做的工作,就是把每一页,或者你认为重要的关键的页面进行加密,就OK啦。怎样对网页的源代码进行加密就不用我多说了吧?网上到处都有,可以用工具,也可以自己写一个htm文件来转换。加密软件,我推荐“Batch HTML Encryptor”,去google找吧。还有转换加密网页的代码如下:
〈HTML〉〈HEAD〉〈TITLE〉网页加密解密〈/TITLE〉 〈META http-equiv=Content-Type content="text/html; charset=gb2312"〉 〈META content="MSHTML 6.00.2600.0" name=GENERATOR〉〈!-- 大地软件工作室--〉〈LINK href="/style.css" rel=stylesheet〉 〈META content="Microsoft FrontPage 4.0" name=GENERATOR〉 〈/HEAD〉 〈BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=initStyleElements()〉 〈p style="LEFT: 139px; WIDTH: 106px; POSITION: absolute; TOP: 52px; HEIGHT: 36px"〉 〈TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0〉〈!--DWLayoutTable--〉 〈TBODY〉 〈TR〉 〈TD vAlign=top align=middle width=760 height=310〉 〈p align=center〉 〈H2〉 〈SCRIPT language=JavaScript〉 〈!-- var i=0; var ie=(document.all)?1:0; var ns=(document.layers)?1:0; function initStyleElements() /* Styles for Buttons Init */ { var c = document.pad; if (ie) { //c.text.style.backgroundColor="#DDDDDD"; c.compileIt.style.backgroundColor="#C0C0A8"; c.compileIt.style.cursor="hand"; c.select.style.backgroundColor="#C0C0A8"; c.select.style.cursor="hand"; c.view.style.backgroundColor="#C0C0A8"; c.view.style.cursor="hand"; c.retur.style.backgroundColor="#C0C0A8"; c.retur.style.cursor="hand"; c.clear.style.backgroundColor="#C0C0A8"; c.clear.style.cursor="hand"; } else return; } /* Buttons Enlightment of "Compilation" panel */ function LightOn(what) { if (ie) what.style.backgroundColor = '#E0E0D0'; else return; } function FocusOn(what) { if (ie) what.style.backgroundColor = '#EBEBEB'; else return; } function LightOut(what) { if (ie) what.style.backgroundColor = '#C0C0A8'; else return; } function FocusOff(what) { if (ie) what.style.backgroundColor = '#DDDDDD'; else return; } /* Buttons Enlightment of "Compilation" panel */ function generate() /* Generation of "Compilation" */ { code = document.pad.text.value; if (code) { document.pad.text.value='Compiling...Please wait!'; setTimeout("compile()",1000); } else alert('First enter something to compile and then press CompileIt') } function compile() /* The "Compilation" */ { document.pad.text.value=''; compilation=escape(code); document.pad.text.value="/〈script〉\n〈!--\ndocument.write(unescape(\""+compilation+"\"));\n//--〉\n〈\/script〉"; i++; if (i=1) alert("Page compiled 1 time!"); else alert("Page compiled "+i+" times!"); } function selectCode() /* Selecting "Compilation" for Copying */ { if(document.pad.text.value.length〉0) { document.pad.text.focus(); document.pad.text.select(); } else alert('Nothing for be selected!') } function preview() /* Preview for the "Compilation" */ { if(document.pad.text.value.length〉0) { pr=window.open("","Preview","scrollbars=1,menubar=1,status=1,width=700, height=320,left=50,top=110"); pr.document.write(document.pad.text.value); } else alert('Nothing for be previewed!') } function uncompile() /* Decompiling a "Compilation" */ { if (document.pad.text.value.length〉0) { source=unescape(document.pad.text.value); document.pad.text.value=""+source+""; } else alert('You need compiled code to uncompile it!') } // --〉 〈/SCRIPT〉 〈BR〉〈B〉〈FONT color=#333333〉网页HTML源代码加密解密器〈/FONT〉〈/B〉〈/H2〉〈/p〉 〈TABLE cellSpacing=0 borderColorDark=#000000 cellPadding=10 width=750 align=center borderColorLight=#ffffff border=2〉 〈TBODY〉 〈TR〉 〈TD〉 〈p align=center〉〈BR〉将你的源代码贴到编辑区域即可〈BR〉〈BR〉 〈TABLE cellSpacing=0 cellPadding=0 width="100%" border=0〉 〈TBODY〉 〈TR〉 〈TD width="100%"〉〈!-- Compilation Panel --〉 〈FORM name=pad method=post align="center"〉 〈p align=center〉〈TEXTAREA style="WIDTH: 95%; BACKGROUND-COLOR: #ebebeb" name=text rows=11 cols=58〉〈/TEXTAREA〉 〈BR〉〈BR〉〈BR〉〈INPUT onmouseover=LightOn(this) onclick=generate() onmouseout=LightOut(this) type=button value=加密 name=compileIt〉 〈INPUT onmouseover=LightOn(this) onclick=selectCode() onmouseout=LightOut(this) type=button value=全选 name=select〉 〈INPUT onmouseover=LightOn(this) onclick=preview() onmouseout=LightOut(this) type=button value=预览 name=view〉 〈INPUT onmouseover=LightOn(this) onclick=uncompile() onmouseout=LightOut(this) type=button value=解密 name=retur〉 〈INPUT onmouseover=LightOn(this) onmouseout=LightOut(this) type=reset value=清除 name=clear〉 〈/p〉〈/FORM〉〈!-- Compilation Panel --〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉〈/p〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉 〈p align=center〉〈BR〉〈/p〉 〈p align=center〉〈/p〉 〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉 〈/p〉 〈p〉〈/p〉〈/BODY〉〈/HTML〉
总结一下……按我的思路,屏蔽网页源代码主要分为以下几个步骤:
1. 做一个网页跳板,弹出要保护的广告条状页面,并将自身关闭,以避免泄露需保护网页的地址。
2. 由于上述条件屏蔽了广告条内网页的源代码,所以可以用这个网页作为欢迎页。
3. 在欢迎页中,利用Javascript以超连接的形式来打开无窗口边的新窗口显示网站内容。
4. 对每一个页面或者对重要的关键的页面进行源代码加密,为源代码加一把锁。(有些人说对源代码进行加密没有用,但是我觉得要使用另类点的加密方法就可以了,比如软件的加密方法就很普通。但是用我自己写的htm文件加密的源代码,一般软件是不能进行解密的。大家有兴趣的话可以试试。)
5. 最后不得不提的就是windows网页临时文件夹了,那里面会把源代码纪录的。但是不用怕,加入一种代码,就可以使windows不下载网页的源代码,直接浏览。可以去找找。
有些东西要注意的:
1. 在文中所说的自动关闭网页的语句:window.close()有一个弊病。就是会在关闭窗口之前询问是否关闭窗口,如果选择否的话目的还是达不到。
2. 以上一切都只对IE浏览器有效用,如果用别的浏览器来浏览,就有可能出现屏蔽不成功的现象。
3. 关于网页源代码屏蔽,一直以来是可望而不可及的。我只是把思路写下来,具体实现,还是要靠大家自己研究的啦。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











일부 사용자는 장치를 설치할 때 오류 코드 28을 표시하는 오류가 발생했습니다. 실제로 이는 주로 드라이버 때문입니다. win7 드라이버 코드 28의 문제만 해결하면 됩니다. 수행해야 할 작업을 살펴보겠습니다. 그것. win7 드라이버 코드 28로 수행할 작업: 먼저 화면 왼쪽 하단에 있는 시작 메뉴를 클릭해야 합니다. 그런 다음 팝업 메뉴에서 "제어판" 옵션을 찾아 클릭하세요. 이 옵션은 일반적으로 메뉴 하단이나 그 근처에 있습니다. 클릭하면 시스템이 자동으로 제어판 인터페이스를 엽니다. 제어판에서는 다양한 시스템 설정 및 관리 작업을 수행할 수 있습니다. 이것이 향수 청소 수준의 첫 번째 단계입니다. 도움이 되기를 바랍니다. 그런 다음 계속해서 시스템에 들어가야 합니다.

블루 스크린 코드 0x0000001로 수행할 작업 블루 스크린 오류는 컴퓨터 시스템이나 하드웨어에 문제가 있을 때 나타나는 경고 메커니즘입니다. 코드 0x0000001은 일반적으로 하드웨어 또는 드라이버 오류를 나타냅니다. 사용자가 컴퓨터를 사용하는 동안 갑자기 블루 스크린 오류가 발생하면 당황하고 당황할 수 있습니다. 다행히도 대부분의 블루 스크린 오류는 몇 가지 간단한 단계를 통해 문제를 해결하고 처리할 수 있습니다. 이 기사에서는 독자들에게 블루 스크린 오류 코드 0x0000001을 해결하는 몇 가지 방법을 소개합니다. 먼저, 블루 스크린 오류가 발생하면 다시 시작해 보세요.

C++ 코드의 "error:expectedinitializerbefore'datatype'" 문제를 해결하세요. C++ 프로그래밍에서 코드를 작성할 때 가끔 컴파일 오류가 발생하는 경우가 있습니다. 일반적인 오류 중 하나는 "error:expectedinitializerbefore'datatype'"입니다. 이 오류는 일반적으로 변수 선언이나 함수 정의에서 발생하며 프로그램이 올바르게 컴파일되지 않거나

win10 시스템은 매우 뛰어난 지능 시스템으로 사용자에게 최고의 사용자 경험을 제공할 수 있습니다. 정상적인 상황에서는 사용자의 win10 시스템 컴퓨터에 아무런 문제가 없습니다! 그러나 우수한 컴퓨터에서는 다양한 오류가 발생하는 것은 불가피합니다. 최근 친구들은 win10 시스템에서 블루 스크린이 자주 발생한다고 보고했습니다. 오늘 편집자는 Windows 10 컴퓨터에서 자주 블루 스크린을 발생시키는 다양한 코드에 대한 솔루션을 제공합니다. 매번 다른 코드로 자주 나타나는 컴퓨터 블루 스크린에 대한 해결 방법: 다양한 오류 코드의 원인 및 해결 방법 제안 1. 0×000000116 오류의 원인: 그래픽 카드 드라이버가 호환되지 않는 것이어야 합니다. 해결책: 원래 제조업체의 드라이버를 교체하는 것이 좋습니다. 2,

종료 코드 0xc000007b 컴퓨터를 사용하는 동안 때때로 다양한 문제와 오류 코드가 발생할 수 있습니다. 그 중 종료코드가 가장 충격적이며, 특히 종료코드 0xc000007b가 가장 충격적이다. 이 코드는 애플리케이션이 제대로 시작되지 않아 사용자에게 불편을 초래함을 나타냅니다. 먼저 종료코드 0xc000007b의 의미를 알아보겠습니다. 이 코드는 32비트 응용 프로그램이 64비트 운영 체제에서 실행을 시도할 때 일반적으로 발생하는 Windows 운영 체제 오류 코드입니다. 그래야 한다는 뜻이다

장치를 원격으로 프로그래밍해야 하는 경우 이 문서가 도움이 될 것입니다. 우리는 모든 장치 프로그래밍을 위한 최고의 GE 범용 원격 코드를 공유할 것입니다. GE 리모콘이란 무엇입니까? GEUniversalRemote는 스마트 TV, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, 스트리밍 미디어 플레이어 등과 같은 여러 장치를 제어하는 데 사용할 수 있는 리모컨입니다. GEUniversal 리모컨은 다양한 기능과 기능을 갖춘 다양한 모델로 제공됩니다. GEUniversalRemote는 최대 4개의 장치를 제어할 수 있습니다. 모든 장치에서 프로그래밍할 수 있는 최고의 범용 원격 코드 GE 리모컨에는 다양한 장치에서 작동할 수 있는 코드 세트가 함께 제공됩니다. 당신은 할 수있다

0x000000d1 블루 스크린 코드는 무엇을 의미합니까? 최근 몇 년 동안 컴퓨터의 대중화와 인터넷의 급속한 발전으로 인해 운영 체제의 안정성 및 보안 문제가 점점 더 부각되고 있습니다. 일반적인 문제는 블루 스크린 오류이며, 코드 0x000000d1이 그 중 하나입니다. 블루 스크린 오류 또는 "죽음의 블루 스크린"은 컴퓨터에 심각한 시스템 오류가 발생할 때 발생하는 상태입니다. 시스템이 오류로부터 복구할 수 없는 경우 Windows 운영 체제는 화면에 오류 코드와 함께 블루 스크린을 표시합니다. 이러한 오류 코드

블루 스크린은 시스템을 사용할 때 자주 발생하는 문제입니다. 오류 코드에 따라 다양한 원인과 해결 방법이 있습니다. 예를 들어 stop: 0x0000007f 문제가 발생하면 하드웨어 또는 소프트웨어 오류일 수 있습니다. 편집기를 따라 해결책을 찾아보겠습니다. 0x000000c5 블루 스크린 코드 이유: 답변: 메모리, CPU 및 그래픽 카드가 갑자기 오버클럭되었거나 소프트웨어가 잘못 실행되고 있습니다. 해결 방법 1: 1. 부팅할 때 F8을 계속 눌러 들어가고 안전 모드를 선택한 다음 Enter를 눌러 들어갑니다. 2. 안전모드 진입 후 win+r을 눌러 실행창을 열고 cmd를 입력한 후 Enter를 누릅니다. 3. 명령 프롬프트 창에서 "chkdsk /f /r"을 입력하고 Enter를 누른 다음 y 키를 누릅니다. 4.
