모든 소프트웨어가 크랙될 수 있나요? 개발자가 크랙된 버전이 생성되는 것을 방지하지 않는 이유는 무엇입니까?
우선 소프트웨어는 100% 깨질 수 있습니다. 최악의 경우 철저한 방법을 사용하여 모든 가능성을 나열하겠습니다!
20세기에는 인터넷이 없었어요! 소프트웨어는 CD를 사용하여 복사할 수 없는 섹터에 코드를 작성한 다음 암호를 제공합니다. CD가 설치되면 소프트웨어 회사에서 제공한 이 코드를 기반으로 해당 비밀번호가 생성됩니다. 크래킹 방법은 크랙버전인 비밀번호를 우회하는 방법입니다!
2. 20세기 말, 인터넷이 탄생하기 시작했습니다! 일반적으로 소프트웨어는 온라인 등록 및 컴퓨터 사용을 채택합니다. 예를 들어, Photoshop 8.0을 설치한 후 기계는 무작위로 25자리 숫자를 생성합니다. 이를 웹 사이트로 보내기만 하면 웹 사이트에서 계산을 통해 새로운 25자리 숫자를 생성하여 사용자에게 보냅니다. 그래서 당신은 그것을 사용할 수 있습니다. 이 생성 프로세스는 나중에 "디코더"라고 불리는 해독 계산 소프트웨어를 발명한 누군가에 의해 해독되었습니다.
3. 21세기 소프트웨어 네트워크 코드! 21세기에는 인터넷의 발달로 인해 대부분의 소프트웨어는 언제 어디서나 인터넷에 연결되어야 한다. 그래서 휴대폰 번호로 고유 비밀번호를 신청했습니다. 소프트웨어를 시작할 때마다 주소, 휴대폰 번호 및 기타 정보를 식별해야 합니다! 여러 컴퓨터나 위치에서 비밀번호를 사용하면 자동으로 무효화됩니다. 우리 iQiyi 회원은 이런 비밀번호입니다! 이는 일대다 비밀번호 바인딩으로, 언제든지 인터넷에 연결되어 있기 때문에 오랫동안 무료로 사용하기는 어렵습니다. 크래킹에 대해 말할 방법이 없습니다!
크랙이 발생한 소프트웨어를 다룰 수 없는 시대부터 지금까지 세 시대에는 네트워크 소프트웨어도 크랙이 불가능한 시대입니다. 역사는 끊임없이 발전하고 있습니다!
우선 모든 소프트웨어가 크랙이 가능한지 확인해야 하는데 크래킹 비용이 다릅니다. Windows는 물론 IOS도 크랙되거나 탈옥될 수 있습니다. 중국에는 정품 Windows의 전문 버전이 실제로 많지 않습니다. 개발자가 크랙된 버전이 생성되는 것을 방지하지 않는 이유는 무엇입니까?
멈출 수 없으니까.
블래스팅은 소프트웨어의 실행 파일을 리버스 엔지니어링한 다음 다시 컴파일하여 크래킹 목적을 달성할 수 있는 간단한 크래킹 방법입니다.
예: 등록 코드를 입력할 때마다 확인을 위해 웹사이트로 이동하는 소프트웨어가 있습니다. 확인이 통과되면 소프트웨어가 이 지침을 받은 후 지침이 반환됩니다. 성공적인 등록과 동일합니다. 다시 컴파일한 후 이 주소를 수정하여 직접 만든 크래킹 주소로 변경할 수 있습니다. 그러나 무엇을 입력하더라도 성공적인 명령을 반환하므로 크래킹 목적을 달성할 수 있습니다.
물론 확인 처리 로직을 수정할 수도 있습니다. 예를 들어 사용자가 잘못된 등록 코드를 입력하면 확인이 통과되어 크래킹 목적도 달성될 수 있습니다.
자체 등록 시스템을 작성하여 크랙하는 방법도 있습니다. 모든 소프트웨어 검증에는 고정된 논리 알고리즘이 있습니다. 이 알고리즘을 이해하는 한 검증 코드 생성을 기반으로 등록을 작성할 수 있습니다. 논리를 사용하여 올바른 등록 코드를 생성하고 이 등록 코드를 사용하여 등록을 완료합니다.
크랙하는 방법은 다양하며 소프트웨어마다 크래킹 방법도 다릅니다. 개발자의 경우 당연히 소프트웨어가 크랙되는 것을 원하지 않기 때문에 크래킹 방지 방법을 많이 추가했습니다. 그러나 이러한 방법에는 허점이 있습니다. 이러한 크래킹 방지 방법은 실제로 소프트웨어 자체이기 때문입니다. 연약한 장갑이 깨질 수 있습니다. 모든 소프트웨어가 크랙될 수 있습니까? 개발자가 크랙된 버전이 생성되는 것을 방지하지 않는 이유는 무엇입니까?
이 질문은 여러 측면에서 답할 수 있습니다.
첫째, 모든 소프트웨어는 크랙될 수 있습니다. 크래커의 수를 결정하는 것은 크래킹의 난이도와 가치일 뿐입니다.
이 문제는 잠금 및 잠금 해제와 다소 유사합니다. 어느 정도의 기술과 노력만 있으면 거의 모든 자물쇠는 열쇠 없이 열 수 있다고 할 수 있습니다.
둘째, 개발자들은 왜 크랙 버전의 생성을 막지 않는가?
예를 들어보세요.
몇 년 전, Microsoft의 BOSS는 "나는 중국인이 (소프트웨어 불법 복제) 훔치기를 좋아한다는 것을 알고 있지만 그럼에도 불구하고 그들이 우리 소프트웨어를 훔치기를 바랍니다."라고 말했습니다.
이 문장은 어느 정도 대부분의 소프트웨어 개발자가 자신의 제품을 크랙하는 사람을 선호하고 자신의 불법 복제 제품을 사용하는 사람을 선호한다는 사실을 보여줍니다.
왜 그럴까요?
실제로 이는 두 가지 효과를 갖습니다.
첫 번째 효과는 불법 복제 소프트웨어가 대량으로 인기를 얻고 경쟁사와 싸울 수 있다는 것입니다. 불법 복제에 대한 단속이 너무 엄격하고 누구도 불법 복제를 사용하지 않는다면 경쟁사의 제품이 이러한 상황을 이용하여 시장을 점유할 가능성이 높습니다. 예를 들어, Windows의 경우 Gates가 불법 복제를 강력하게 단속한다면 국내 운영체제가 개발 기회를 잡을 가능성이 높습니다. 불법 복제를 허용할 경우 가장 중요한 효과 중 하나는 대다수의 사용자가 습관을 형성하게 하고 국내 시스템 개발의 기회를 차단하는 것입니다.
두 번째 효과는 돈을 버는 새로운 방법이 있다는 것입니다.
예를 들어, 이제 운영 체제를 사용하는 대부분의 컴퓨터는 인터넷에 연결될 수 있습니다. Gates는 어떤 컴퓨터가 불법 복제 시스템을 사용하는지 쉽게 알 수 있습니다. 일부 중소기업이 불법 복제를 감히 사용하는 경우 증거를 수집한 다음 불법 복제 사용에 대한 증거가 수집된 회사에 법적 서한을 보낼 것입니다. 라이센스를 구입하려면 10,000위안을 지불해야 합니다. 법정에 피고가 되십시오. 이 경우 소송과 배상을 패소할 확률이 매우 높고 그 수도 매우 크다고 할 수 있다. 많은 소프트웨어 회사가 불법 복제로 돈을 벌지는 못하지만 이런 방식으로 많은 돈을 벌 수 있습니다. 소프트웨어 업그레이드와 크래킹은 모순적인 관계에 있습니다. 구체적인 분석은 다음과 같다.
개발자가 자신이 개발한 소프트웨어를 보호하는 것은 매우 흔한 일이지만, 어떤 개발자도 자신의 소프트웨어가 크랙될 수 없다고 생각해서는 안 된다.
우선, 소프트웨어 개발의 일차적인 목적은 절대로 "소프트웨어가 크랙되지 않도록 보호"하는 것이 아니라는 점을 이해해야 합니다. 소프트웨어를 보호하기 위해서는 보안 보호 코드의 이익이 이익보다 더 중요하며, 개발된 모든 소프트웨어는 네트워크 방화벽과 유사한 것이 됩니다.
모든 암호화 방법이 보안을 완전히 보장할 수는 없지만 크래커 크래킹 소프트웨어는 "비용 효율성"을 고려합니다. 예를 들어 이 소프트웨어를 크랙하는 것은 나에게 매우 번거로운 작업이 필요할 수 있습니다. 일주일 동안만 사용할 수 있지만 이 소프트웨어는 10위안에만 판매되므로 일반적으로 크래킹에 시간을 낭비하는 것을 고려하지 않을 것입니다.
게다가 소프트웨어를 크래킹하면 소프트웨어의 무결성이 파괴되어 일부 기능이 비정상적으로 작동하거나 심지어 사용할 수 없게 될 수도 있습니다. 작성자는 핵심 기능만 보호하고 크랙된 기능을 잘못 해석하면 됩니다(예: 파일 저장의 전체 프로세스). 이러한 종류의 소프트웨어를 크래킹하려면 Cracker가 현재 분야의 개발자와 동일한 기술 수준을 가져야 합니다.
또 주제에서 벗어났지만 중요해요. 누군가가 Hacker와 Cracker를 비교한 적이 있습니다. 사실 둘 사이의 차이는 매우 큽니다. 해커는 네트워크 전송 기술과 운영 체제에 중점을 두고 있으며, 크래커는 컴파일 기술과 저수준 언어에 중점을 두고 있습니다. 해킹은 반드시 이익을 위한 것은 아니지만 해킹은 확실히 이익을 위한 것입니다. 해킹은 친구와 적이 있을 수 있지만 크래킹은 모든 사람의 이익을 파괴합니다. (만연한 불법 복제는 소프트웨어 산업의 발전을 심각하게 제한합니다. 예를 들어 Windows 불법 복제는 어디에나 있습니다. 다른 시스템을 개발하는 사람들이 시스템을 판매하여 비용을 회수하려는 것은 기본적으로 환상입니다.)
마지막으로 요약하자면. WPS의 리더인 Qiu Bojun은 다음과 같이 말했습니다. 누군가 자신의 소프트웨어를 불법 복제했는데 이는 소프트웨어가 인식되었음을 의미합니다. 개발자가 불법 복제 문제를 고려하지 않는 것은 불가능하지만, 소프트웨어가 가치를 가지려면 먼저 누군가가 소프트웨어를 사용해야 합니다. 소프트웨어 보호와 소프트웨어 크래킹은 한 쌍의 모순이자 방패입니다. 적의 존재는 우리를 항상 경계하게 만듭니다.
프로그램이 한 단계씩 실행되는 디버깅 모드에 있습니다. 실행 중인 프로그램을 캡처하여 디버깅 모드로 전환할 수도 있습니다. 몇 가지 핵심 판단 포인트를 찾아 프로그램을 뒤집기만 하면 문제를 해결할 수 있습니다.
모든 소프트웨어가 크랙될 수 있는 것은 아닙니다. 프로그램 코드와 데이터베이스가 로컬인 모든 소프트웨어가 크랙될 수 있다고 말할 수 있을 뿐입니다.
예: "클라우드 컴퓨터", "클라우드 전화". 모든 프로그램 코드와 데이터베이스는 서버 측에 배치되며 로컬 휴대폰이나 컴퓨터에 로그인을 담당하는 클라이언트는 단 하나뿐입니다.
"클라우드 컴퓨터"와 "클라우드 휴대폰"은 로컬 작업 명령을 서버측 컴퓨터나 휴대폰으로 전송할 수 있으며, 모든 프로그램 실행 과정은 서버측 컴퓨터나 휴대폰에서 완료됩니다. 네트워크를 통해 이미지가 실시간으로 로컬 컴퓨터로 다시 전송됩니다. 네트워크 속도가 빠르고 대기 시간이 짧기 때문에 실제로 로컬에서 작동하는 것처럼 느껴집니다.
클라우드 소프트웨어나 시스템의 경우 모든 코드, 데이터베이스, 실행 프로세스가 서버 측에서 이루어집니다. 로그인 시 계정과 비밀번호를 확인하는 과정도 서버 측 데이터베이스와 비교해야 합니다. 따라서 이러한 종류의 소프트웨어나 시스템이 크랙될 가능성은 거의 없습니다. 크랙이 발생하더라도 해킹 기술을 통해서만 가능하거나 계정, 비밀번호, IP 주소와 같은 민감한 정보가 유출될 수 있습니다. 로컬 소프트웨어와 시스템이 깨질 수 있다고 말하는 이유는 무엇입니까?
집을 짓는 데는 몇 달이 걸릴 수 있지만, 허물어지는 데는 한 순간밖에 걸리지 않을 수 있습니다. 로컬 소프트웨어나 시스템도 마찬가지다. 크래킹 과정은 까다로운 과정이다. 모든 코드가 어떻게 작성되는지, 작동 원리는 무엇인지, 실행 로직은 무엇인지 알 필요가 없다. 실행을 찾는 한 권한 인증 및 승인을 위한 코드 조각으로 충분합니다.
이를 통해 소프트웨어가 실행을 시작하자마자 소프트웨어의 기본 인터페이스로 점프할 수 있어 사용자 이름과 비밀번호를 입력하고 사용자 이름과 비밀번호를 확인하는 프로세스를 우회할 수 있습니다.
또한 확인 성공 여부에 관계없이 소프트웨어의 사용자 이름 및 비밀번호 확인 모듈이 소프트웨어의 기본 인터페이스로 이동하도록 할 수도 있습니다.
"Kanxue" 포럼에 자주 가는 친구들은 소프트웨어 크래킹을 위한 다양한 도구와 아이디어가 있다는 것을 알고 있을 것입니다. 소프트웨어 크래킹은 아주 일찍부터 하나의 규율을 형성했으며 "소프트웨어 리버스 엔지니어링"이라는 멋진 이름을 갖고 있습니다.
소프트웨어 역공학
소프트웨어 역공학이란 실행 가능한 프로그램 시스템에서 출발하여 복호화, 분해, 시스템 분석, 프로그램 이해 등 다양한 컴퓨터 기술을 활용하여 소프트웨어를 수행하는 것을 말한다. 엔지니어링 구조, 프로세스, 알고리즘, 코드 등에 대한 역분해 및 분석을 수행하고 소프트웨어 제품의 소스 코드, 설계 원리, 구조, 알고리즘, 처리 절차, 운영 방법 및 관련 문서를 추론합니다.
소프트웨어를 개발할 때 특수 소프트웨어의 리버스 엔지니어링, 리엔지니어링을 방지하기 위해 변조 방지 기술도 사용됩니다. 실제 응용 분야에는 두 가지 유형의 리버스 엔지니어링이 나타납니다. 하나는 소프트웨어의 소스 코드를 사용할 수 있지만 상위 부서의 설명 문서가 거의 없거나 설명 문서가 더 이상 적용되지 않거나 손실되는 것입니다. 다른 하나는 소프트웨어의 소스 코드를 사용할 수 없으며 소스 코드를 찾으려는 모든 노력이 리버스 엔지니어링으로 간주된다는 것입니다. 따라서 소프트웨어 리버스 엔지니어링을 매우 우울한 주제로 생각하지 마십시오. 기회주의적인 사람들이 자주 사용하는 것입니다.
소프트웨어의 리버스 엔지니어링은 저작권 침해를 피하기 위해 "클린룸 기술"을 사용할 수 있습니다. 일부 국가에서는 저작권 산업 해석법의 공정 사용 조항을 준수하는 한 소프트웨어 리버스 엔지니어링이 보호됩니다. 예:
위의 내용은 소프트웨어 크래킹에 대한 기본 아이디어만 제공하므로 모든 사람이 로컬 소프트웨어 및 시스템이 크래킹될 수 있는 이유를 더 잘 이해할 수 있습니다. 소프트웨어 리버스 엔지니어링은 생각만큼 간단하지 않습니다. 이 과목에는 기본 프로그래밍 기술, 쉘 원리 및 기술 숙달, 운영 체제에 대한 상대적인 이해가 필요합니다. 간단히 말해서, 이 주제를 능숙하게 익히려면 더 많은 지식이 필요하고 배울 것이 더 많습니다. 리버스 엔지니어링에서는 소프트웨어의 암호화 기술과 등록 메커니즘도 지속적으로 발전하고 있습니다.
초기에는 배포 디스크나 CD를 구입하기만 하면 정품 소프트웨어를 사용할 수 있었습니다. 그러나 불법 복제된 광디스크가 만연해지면서 정품 인증을 위해서는 일련의 정품인증 키를 입력해야 하는 방식으로 진화했다. 곧 숫자 계산 프로그램이 등장하여 온라인 인증이 이루어졌습니다.
그러나 소프트웨어의 패킹/암호화 메커니즘이 아무리 강력하고 등록 메커니즘이 아무리 완벽하더라도 소프트웨어 코드가 로컬인 한 반드시 해독될 것이며 시간이 오래 걸릴 뿐입니다.
위의 내용은 개인적인 의견일 뿐이며 비판과 수정도 환영합니다.
그만한 가치가 있는지가 중요합니다. 지금 소프트웨어가 작동하는 데 100일이 걸린다면, 크랙을 어렵게 만드는 데는 또 5일이 걸립니다. 그러면 내가 할 수도 있겠네요. 거의 깨지지 않게 만드는 데 5일이 더 걸린다고 가정해 보세요. 나는 그것을 하지 않기로 선택할 수도 있다. 아마도 이 부분은 거의 가치가 없기 때문일 것입니다.
만약 내 이름이 주하드이고, 소프트웨어를 홍보하기 위해 어떤 나라에 갔는데, 그 나라에 UPS라는 것이 내 소프트웨어와 매우 유사한 것이 있다면, 지금 내가 원하는 것은 그 사람을 죽이는 것입니다. 첫째, 나는 내 발기인이 판촉비를 직접 먹어도 상관하지 않습니다. 이때 크래킹 방지 작업을 하지 않을 뿐만 아니라 이러한 발기인을 적극적으로 지원할 수도 있습니다.
물이 맑으면 물고기가 없을 것입니다. 초보자는 크랙 버전을 찾을 수 있지만 꼭 필요한 전문 사용자는 확실히 기능이 원활하지 않습니다. 여전히 정품을 구입하기 위해 돈을 쓸 의향이 있습니다.
소프트웨어가 나오면 크랙버전도 마케팅 수단이 되는데, 직접 비용을 청구한다면 사용자들은 어디서 다운로드하여 체험하게 될까요?
사실 모든 소프트웨어는 다 가능합니다. Alipay, WeChat 등 국가별 애플리케이션도 포함됩니다.
분석: 해커는 기술을 시연하고 개발자에게 자신의 기술을 과시하기 위해 소프트웨어를 해독하는 한편, 이익을 얻기를 원합니다. 2019년 더블 일레븐(Double Eleven) 기간 동안 티몰은 24시간 동안 22억 건의 악성 공격을 받았습니다. 이는 티몰이 철통같이 허점이 없다는 것을 의미합니까? 아니요. 이 수준의 응용 프로그램에는 기술적으로 대부분의 "신인 해커"를 필터링하는 전문 보안 팀이 장착됩니다. 결국 최고의 해커는 소수에 속하며 일반적으로 법적 억지력도 고려하여 이러한 작업을 경멸합니다. 국가 수준의 애플리케이션이 해킹당하는 것은 사소한 문제가 아니며, 피해를 입지 않을 것이라고 누구도 보장할 수 없습니다. "물 한 병은 파동을 일으키지 않지만, 물 반 병은 파동을 일으킨다"는 말이 있는데, 더블 일레븐에서 티몰을 공격한 해커들은 기본적으로는 '물 반 병' 수준이었다고 할 수 있다. 물". 비록 티몰이 이 테스트를 견디는 것이 쉽지는 않지만, 이는 놀라운 일이 아닙니다.
말할 필요도 없이 일반 응용소프트웨어 개발자들은 대부분의 노력을 기능 연구에 쏟고, 보안 측면에서도 최선을 다합니다. 더 잘하려면 보안 전담팀을 꾸려야 하지만요. 이렇게 하면 개발 비용이 많이 증가합니다. 그렇더라도 소프트웨어에 취약점이 전혀 없다는 것을 보장할 수는 없습니다. 따라서 해커의 눈에는 대부분의 소프트웨어가 "알몸으로 실행"되는 것과 같습니다.
요약: 저작권에 대한 인식이 충분히 강하지 않고 행운을 빌어 불법적인 일을 하는 사람들이 있기 때문에 많은 크랙 버전의 소프트웨어가 인터넷에 나타납니다. 개발자가 막지 않는 것이 아니라 권리를 보호하는 데 드는 비용이 높고 소프트웨어 개발자가 기본적으로 눈을 감는다는 것입니다. 크랙된 소프트웨어는 소프트웨어 산업 발전에 "걸림돌"입니다. 무료 버전이 있는데 누가 정품 버전을 구입하겠습니까? 개발자가 돈을 벌 수 없다면 누가 진심으로 소프트웨어를 개발하겠습니까? 이것은 끝없는 루프입니다. 그러나 사람들의 저작권 인식이 점차 높아지고 우리나라의 저작권 감독이 지속적으로 개선됨에 따라 이러한 상황은 크게 개선될 것입니다. 우리 보통 사람들이 해야 할 일은 진짜 저작권을 지지하는 것뿐입니다.