안티리핑 툴이란? : https://gall.dcinside.com/m/vr/850855
그냥 추출 핵 막는 툴. 복사 핵은 종류에 따라 다르지만 막을 수도 있고 못 막을 수도 있음. 추출핵은 거의 완벽하게 막을 수 있다.
다운로드:https://drive.google.com/u/0/uc?id=1svt_GgxRxrF0aFtOOWr3OKmhjePZHDL7&export=download
[원리]
8비트 키 값 4개 + 32비트 키 값 하나로 모델을 암호화/복호화 (64비트 암호화)
모델을 스크립트로 버텍스부터 깨트린 후(암호화) 업로드하고, 서버에 저장되지 않는 키 값으로 게임 내에서 패스워드 시스템을 이용해 셰이더로 원상 복구 시킴(복호화).
근거 없이 의미 없다는 소린 하지말길 바람. 추출해도 셰이더는 못 뽑아낼 뿐더러 뽑아낸다 치더라도 키 값 5개중 4개는 못 알아냄.
모델도 추출하면 쓰레기 더미만 추출하게 됨
[개선점]
1.암호 32비트에서 64비트로 바꿈
어떤 유동이 뚫는 툴이 이미 개발됐다고 하길래 근거는 없지만 그냥 64비트로 바꿈. 필요에 따라 128비트든 256비트든 가능할듯
2.셰이더 자체에도 키 하나 넣어둠
만약 복사 핵으로 비밀번호 파라미터를 모두 봤다고 했을 경우 원본 모델을 복구할 수 있었지만
이번 건 셰이더에도 키 값을 넣음. 셰이더를 리버스 엔지니어링 하지 않는 이상 키 값은 알아낼 수 없다.
[장점]
1.일반적인 복사 핵 방어 가능, 추출 핵은 거의 완벽하게 방어가능.
2.유저가 스크립트만 만질줄 안다면 이론상 무한한 변형본을 만듦으로서 핵쟁이들 엿먹일 수 있음. 특히 툴키디들.
[단점]
1.귀찮음
그냥 퍼블릭용으로 하나 만든다고 치자.
2.다른 유저가 세이프티에 애니메이션과 셰이더를 꺼둘경우 깨진 모델의 모습으로 보인다.
깨지는 값 정도에 따라 어느정도는 정상적으로 보이게는 커버 칠 수 있음
3.유저의 현재 파라미터채로 복사하는 복사핵이 있을경우 카피 자체는 방어불가. 그래도 추출은 막음.
이 핵이 존재하는진 모르겠지만 존재한다면, 복사핵 부분은 내 머리로는 막을 수 있는 방법이 떠오르지 않음.
그래도 애니메이터내에 VrcParameterDriver를 잘만 이용하면 파라미터를 감출 수 있을 것으로 추정함..
이건 누군가 해주겠지?
[사용법]
자신이 유니티에 미숙하면 새 프로젝트에서 하길 권장함.
압축을 풀면 세개의 파일들이 나오는데
제일 아래 UTS2 셰이더부터 프로젝트에 임포트. 이미 있을 경우 덮어 씌워질 수도 있고 아닐 수도 있음.
임포트 후에는
Shader폴더에 있는 것들은 자신이 임포트한 UTS셰이더 폴더 내부의 Toon->Shader폴더 내부에 넣어주면 된다.
Assets폴더 안에 있는 GTAnti-Rip-mater폴더를 자신의 프로젝트의 Assets에 넣어준다. 그럼 준비 끝.
우선 자기 아바타의 모델파일(.fbx)파일을 눌러서 Normals부분을 import로 바꿔준다.
자신이 암호화 시키고 싶은 모델 부위에 쓰이는 메테리얼들 선택 (사진의 경우 얼굴)
셰이더를_GT붙은 셰이더로 변경 (몇몇 셰이더 설정은 달라질 수 있으니 그 설정은 알아서 바꿔주거나 그 부위는 암호화 하지말고 놔두셈. 예시)홍조)
아바타 디스크립터 넣은 부분에 Ava Crypt Root컴포넌트 추가.
uts셰이더 폴더 Toon->Shader에CGI_GTModelDecode.cginc를 컴포넌트의 GT Model Decode칸에 넣어주셈
FX레이어에 있는 애니메이터를 그냥 애니메이터내에 Controller안에다가 넣어주셈
사진에 나와 있는 순서대로 설정.
1.Validate Animator Controller버튼 누름. 이러면 FX애니메이터에 패스워드 기능이 알아서 추가됨
2.Distort Ratio값을 수정해서 모델이 얼마나 깨져 보이게 할지 설정해주셈. 높을 수록 성게가 됨.
키 값 4개도 서로 안비슷하게 적당히 높은 값으로 설정해주셈. 이 키 값은 게임내에서 자기가 기억하고 있어야 함.
3.8자리 이상의 아무 숫자나 적어주셈. 이건 자기가 안 외우고 있어도 됨.
그러면 이렇게 모델이 깨져보이는 복사본이 하나 생기는데, Animator에 컨트롤러 부분에 들어간 fx애니메이터 빼주고
파라미터 칸이랑 메뉴 칸을 수정해줘야하는데, 메뉴부터 눌러주자.
AvaCryptKey0~3이라는 파라미터 4개를 만들어준다. 이거 이름 잘못추가하면 게임내에서 해제 안된다.
Type은 Float. Saved는 월드 이동하거나 해도 유지하고 싶으면 체크
메뉴칸에 들어가서 서브메뉴 하나 만들어주고 Sub Menu칸에
안티리핑툴 폴더에 VrcExpressions폴더안에 있는 걸 끌어넣어준다.
그리고 업로드 하면 끝.
게임내에 이제 액션 메뉴에 들어가보면 메뉴 하나가 있을거고, 거기 들어가면 4개의 원형판이 있을텐데 그걸로 아까 자기가 설정한 4개의 키 값대로 움직이면
아바타가 원래대로 돌아옴.
다시 자기 아바타 원본을 눌러보면 이렇게 터져보일텐데, 셰이더 때문에 그런거니
셰이더를 원래 UTS로 바꾸던가 아니면 사진에 보이는 저 버튼 눌러주면 됨.
대신에 저 버튼 누르고 나서 암호화된 아바타를 업로드하면 문제 생기니까 다시 Encrypt Avatar버튼을 눌러줘야 함.
문제 생기면 덧글좀