kone
sub_icon

소미소프트

길다,스압] json파일 암호화된 이유를 찾다가 알아낸 정보

2026-04-29 11:06:27
정보
조회 14343 · 좋아요 32

선요약 : 글이 길다.

json 파일이 암호화 된거 조심하자.
정제안된 원문을 그냥 그대로 번역해서 가져온 긴 글이니 원한다면 ai한테 글 통채로 던져서 요약해달라고 해보자


최근에 뭐 json 암호화 되어서 이거 어떻게 하냐고 하는글 때문에

전에 봤던 MZ 1.10부터 암호화를 다르게 해놨네  라고 누군가가 쓴글을 보고 대체 겜파일에 뭔짓을 해놓은겨 라고 생각하고

처음엔 누군가 장난쳐놓고 'ㅈ뺑이쳐라 이놈들아.' 하는거처럼 겜을 지가 사서 암호화(장난질)하고 배포하나 싶었다가

이거 암호화를 했으면 그걸 푸는방법도 있겠네 하고 생각하던와중에 유틸탭에 두개의 디스크립트 게시글도 보고

그거 보면서 혼자서 곰곰히 생각하니 이건 누군가가 뭔 의도를 가지고 이렇게 하는거 아닐까 라는 생각이 들길래 해외 사이트에서 찾아봤는데


영어권 야겜사이트에서 json descript 이 두 단어로 검색돌리다가 찾게된 게시글을 보고 여기에 글을씀


내가 찾은 영어 원문



밑에서부턴 크롬 웹 확장프로그램의 ai번역으로 해석한 내용. 닉은 풀로 표시안하고 대략적인 내가 훑어본 흐름에 따라 작성


============================


의문제기의 시작이라 생각되는 26년 4월 9일 글


Mo : 이곳에 게시된 " RJ01588706 "에 관하여 (이 파일만 확인했습니다),해당 사용자가 게시한 모든 신작 게임의 JSON 파일과

기타 파일들이 심하게 난독화되어 있는 것으로 보아 원본 출처는

https://www.tokyotosho.info/search.php?username=Reeffress 인 것 같습니다.
단순히 파일을 난독화만 한 것인지 아니면 다른 의도가 있는지는 알 수 없으므로 다운로드 시 주의하시기 바랍니다.


이에 대한 Claude의 분석 내용입니다:


**난독화 작동 방식**


확인된 도구: MZDataCrypt v1.6.0
이것은 잘 알려진 RPG Maker MZ 데이터 암호화 도구입니다. "bid" 필드("bid":"1.6.0")는 문자 그대로 도구의 버전입니다.

보호 체계는 데이터 암호화와 변조 방지의 두 계층으로 나뉘며, 두 가지 모두 rmmz_managers.js에 직접 주입되어 있습니다.



**레이어 1 — 데이터 암호화**


주입 지점: rmmz_managers.js의 DataManager.onXhrLoad가 완전히 교체되었습니다 (약 7KB의 단일 행으로 압축됨).

형식: 모든 data/*.json 파일은 다음과 같이 변경됩니다:
{ "uid": "<8자리 16진수>", "bid": "1.6.0", "data": "" }


키 유도 알고리즘:
MASTER_KEY = 0xAB (171, window._K로 하드코딩됨)


per_file_key(파일명):
t = 파일명의 아스키(ASCII) 문자 코드 합계 (확장자 제외)
return MASTER_KEY XOR (t & 0xFF)

decrypt(base64_data, 파일명):
bytes = base64_decode(base64_data)
key = per_file_key(파일명)
for i: bytes ^= key // 단일 바이트 XOR, 파일 전체에 동일한 키 적용
return utf8_decode(strip_BOM(bytes))단일 바이트 XOR 방식입니다.

모든 위치에 동일한 바이트가 적용됩니다. 롤링 키도, IV도 없으며, 제대로 된 암호화라고 할 수 없습니다.

uid 필드는 의미 있어 보이지만 실제 복호화에는 사용되지 않는 단순한 파일 식별자일 뿐입니다.


취약점: 단일 바이트 XOR이기 때문에, 출력 결과가 유효한 UTF-8 JSON인지 확인하는 것만으로

최대 256번의 시도 안에 키를 무차별 대입(brute-force)할 수 있습니다.

제가 실제로 그렇게 했습니다. 또는 MASTER_KEY = 0xAB라는 것을 알면 직접 계산할 수도 있습니다.

미리 계산된 키 (모두 실제 파일로 검증됨):

파일 키
System 0x2E
Actors 0xC7
MapInfos 0xB6
Skills 0xD9
Map001/010 0x04
Map002/011/020 0x1B
Map003/012/021/030 0x1A
… (자릿수 합에 따른 순차적 구성) …

자릿수 합이 같은 맵들은 키를 공유한다는 점에 유의하십시오 (예: Map001과 Map010은 모두 키 0x04를 사용함). 이 또한 또 다른 취약점입니다.


레이어 2 — 변조 방지 (NW.js 전용)
`if (typeof window._K === 'undefined')`를 통해 첫 번째 XHR 로드 시 한 번 실행됩니다.

Node.js의 fs/path 모듈을 직접 사용하며, 브라우저가 아닌 NW.js(RPG Maker MZ와 함께 제공되는 런타임)에서만 작동합니다.

주입된 코드 내 문자열 난독화: 내부 문자열을 위한 하위 암호화가 존재합니다.
```javascript
f341986 = (s) => {
b = Buffer.from(s, 'base64')
for (let i = 0; i < b.length; i++) b[i] ^= 0x77
return b.toString()
}
```

Base64 디코딩 → 0x77로 XOR 연산. 디코딩된 문자열:
* 'Gx4VMDsyJAFFWRMbGw==' → libGLESv2.dll
* 'Gx4VMjA7WRMbGw==' → libEGL.dll
* 'ExIVAhAVAhAOEgQDHhkQWQMSBAM=' → debugbugyesting.test

파일 무결성 검사 (v6f3bb0): libGLESv2.dll 및 libEGL.dll(게임과 함께 배포된 NW.js 런타임 DLL)에서 원본 바이트를 읽어 다음 사항을 확인합니다:
1. 정확한 파일 크기
2. 특정 오프셋의 32바이트가 하드코딩된 16진수 문자열과 일치하는지 여부
3. 파일의 마지막 16바이트가 모두 0인지 여부

이 검사 중 하나라도 실패하면 `window.close(); process.exit()`가 즉시 실행되어 게임을 종료합니다.

이는 NW.js 런타임을 패치된 버전으로 교체하는 것을 방지합니다.

개발자 도구 차단: 게임 디렉토리에 `debugbugyesting.test`라는 이름의 폴더가 존재하는 경우에만

F12/F8로 개발자 도구를 열 수 있습니다. 그렇지 않으면 아무 일도 일어나지 않습니다.

F10은 모든 `data/*.json` 파일이 올바르게 복호화되는지 확인하기 위해 전체 자가 스캔을 트리거합니다.

요약
| 항목 | 세부 사항 |
| :--- | :--- |
| 도구 | MZDataCrypt 1.6.0 |
| 데이터 암호 | 단일 바이트 XOR (매우 쉽게 역산 가능) |
| 키 소스 | 0xAB XOR (파일명_문자_합계 & 0xFF) |
| 마스터 키 | window._K에 하드코딩된 0xAB |
| 변조 방지 | NW.js DLL 바이트 패턴 검사 (libGLESv2.dll, libEGL.dll) |
| 개발자 도구 조건 | debugbugyesting.test/ 폴더가 존재해야 함 |
| 문자열 난독화 | 내부 파일명에 대해 Base64 + XOR 0x77 적용 |
| 주입 지점 | rmmz_managers.js의 DataManager.onXhrLoad |


===================


Mo  : RJ01596306 게임의 최신 버전과 보안 도구인 MZDataCrypt(v1.6.0 vs v1.10.0)의 리버스 엔지니어링 분석 내용입니다.

분석 결과, 동일한 도구를 사용한 RPG Maker MZ 게임들 사이에서 버전 업데이트에 따른 암호화 성능의 대폭적인 향상이 확인되었습니다.


Overview

Aspect

v1.6.0

v1.10.0

bid field

1.6.0

1.10.0

Master key _K

171 (0xAB)

211 (0xD3)

Filename hash

Sum of char codes

djb2 rolling hash

Per-byte cipher

Flat single-byte XOR

Rolling stream cipher w/ feedback

String cipher

base64 + XOR 0x77

base64 + XOR 0x61 (bitwise disguise)

Dev folder

debugbugyesting.test

oK5dpQ1prR2ml6xG8ceI0ksH4ndW3i.test

Anti-debugger

None

setInterval(debugger) every 50ms

DLL integrity

libGLESv2 + libEGL

Same (identical expected hashes)


Data Format

모든 `data/*.json` 파일이 다음과 같이 대체됩니다:

Code:

{
  "uid": "<8 hex chars>",   // per-file identifier, NOT used in decryption
  "bid": "1.x.x",           // tool version
  "data": "<base64>"        // encrypted payload
}


v1.6.0 — 키 유도


단순하고 취약함. 단일 바이트 XOR, 파일의 모든 바이트에 동일한 키가 적용됨.

Code:

MASTER_KEY = 0xAB  // 171, hardcoded as window._K

function getFileKey(filename):   // no extension
    t = sum of charCode(c) for each c in filename
    return MASTER_KEY XOR (t & 0xFF)

function decrypt(base64_data, filename):
    bytes = base64_decode(base64_data)
    key   = getFileKey(filename)
    for i in range(len(bytes)):
        bytes[i] ^= key          // uniform XOR, trivially reversible
    return utf8_decode(strip_BOM(bytes))


취약점:

단일 바이트 XOR은 출력이 유효한 UTF-8 JSON인지 확인하여 최대 256번의 시도 내에 무차별 대입 공격이 가능합니다.

문자 코드 합계가 같은 파일 이름들은 키를 공유합니다(예: Map001과 Map010은 둘 다 0x04로 동일).


Precomputed keys (v1.6.0):

Code:

System0x2E    Actors    → 0xC7    MapInfos  → 0xB6
Skills0xD9    States    → 0xDF    Troops    → 0x2C
Weapons0x76    Tilesets  → 0xE6    Items     → 0xA9
Enemies0x6D    Armors    → 0xDF    Classes   → 0x65
Map001/0100x04    Map002/011/0200x1B
Map003/012/021/0300x1A    (sequential by digit sum)



v1.10.0 — 키 유도

주요 업그레이드. djb2 해시 및 암호문 피드백이 포함된 롤링 스트림 암호를 사용합니다.

Step 1 — Filename hash (djb2):

Code:

t = 0
for each char c in filename (no extension):
    t = (t << 5) - t + charCode(c)   // djb2: t * 31 + c
    t &= 0xFFFFFFFF                   // keep 32-bit



djb2가 해시를 훨씬 더 잘 분산하여, Map001/Map010이 더 이상 충돌하지 않습니다.

Step 2 — Base file key:

Code:

fk = _K XOR (t & 0xFF)    // _K = 211 (0xD3)


(JS에서 XOR은 의도를 숨기기 위해 (a | b) & ~(a & b)로 작성됩니다)



Step 3 — Rolling stream cipher:

Code:

l = fk   // initial state

for each byte i:
    rotated = ((l << 4) XOR (l >> 2)) & 0xFF
    k = ((fk XOR 60) + (i % 256) + rotated) XOR 122 + 19  (mod 256)
    decrypted = raw[i] XOR k
    raw[i] = decrypted
    l = decrypted    // ← feedback: next key depends on previous OUTPUT


v1.6.0과의 주요 차이점:

이것은 암호문 피드백(ciphertext feedback) 방식의 스트림 암호입니다.

각 바이트의 키는 이전에 복호화된 모든 바이트에 의존합니다. _K를 모르면 파일별로 무차별 대입(brute-force)을 할 수 없는데,

잘못된 키를 사용하면 즉시 데이터가 연쇄적으로 깨지기 때문입니다.


주입 지점

두 버전 모두 한 줄로 압축된(약 7–9KB) js/rmmz_managers.js 내의 DataManager.onXhrLoad를 패치합니다. 함수 전체가 교체됩니다.


변조 방지 — 두 버전 모두 해당

첫 번째 XHR 로드 시 if (typeof window._K === 'undefined')를 통해 한 번 실행됩니다. NW.js 전용 (Node.js의 require('fs') / require('path') 사용).

DLL 무결성 검사: NW.js 런타임 DLL에서 원시 바이트(raw bytes)를 읽어 다음 사항을 확인합니다:
- 정확한 파일 크기
- 특정 오프셋의 32바이트가 하드코딩된 16진수 문자열과 일치하는지 여부
- 파일의 마지막 16바이트가 모두 0인지 여부


Code:

// Targets (both versions, identical expected hashes):
libGLESv2.dll  size=8192528  offset=10000  hash=D34889CF488B054DE375...
libEGL.dll     size=386576   offset=5000   hash=2558000000488B0CCA3B...


둘 중 하나의 검사가 실패하면 → 즉시 window.close(); process.exit()를 실행합니다.


개발자 도구 차단: dev 폴더가 존재하는 경우에만 F12/F8로 개발자 도구를 열 수 있습니다.

버전마다 폴더 이름이 변경되었습니다. v1.6.0은 읽기 쉬운 이름을 사용했지만, v1.10.0은 무작위로 생성된 알 수 없는 문자열을 사용합니다.


String obfuscation for internal filenames:

Code:

// v1.6.0:  base64_decode(s), then XOR each byte with 0x77
// v1.10.0: base64_decode(s), then XOR each byte with 0x61
//          (written as (b[i] | 97) & ~(b[i] & 97) to hide the XOR)


v1.10.0 전용 — 활성 안티 디버그



v1.10.0의 새로운 기능입니다. dev 폴더가 없으면 50ms마다 디버거 트랩을 발생시킵니다:



Code:

setInterval(function() {
    (function(){}).constructor('debugger')();
}, 50);


단순 문자열 검색을 피하기 위해 리터럴 debugger 키워드 대신 Function.constructor를 사용합니다.

이 인터벌을 먼저 비활성화하지 않으면 개발자 도구를 거의 사용할 수 없게 됩니다.


RJ01569430의 경우, 정품을 구매해 비교해 보니 차이점은 'renpy' 폴더에 있었습니다.


==========================================


Mr : 그래서 이게 이상한 DRM인가요, 아니면 안에 숨겨진 악성코드가 있는 건가요?


==========================================


Mr : 또한, 이 소프트웨어 페이지들은 어제 해킹되었으며, RAT 악성코드가 포함되어 있었습니다 (4월 9일-10일).

1775830986828.png

게이머들이 CPU-Z를 꽤 많이 사용하니 주의하세요. 해킹된 버전은 다음과 같습니다:

CPU-Z 2.19

HWMonitor 1.63


===========================================


Mo : 이 파일에 악성코드가 숨겨져 있는지 확실하지는 않지만,

확인한 RJ01588706 의 경우 libEGL.dll과 libGLESv2.dll 파일 끝에 0바이트가 추가되어 있을 뿐입니다

rmmz_managers.js에는 json 파일 복호화 코드가 포함되어 있고, 그게 전부인 것 같습니다.

이곳에 게시된 또 다른 새 게임인 RJ01464379 도 같은 방식의 난독화가 적용되어 있습니다.

RPG Maker MZ가 아닌 MV 버전이라 일부 차이는 있을 수 있습니다.


=====================================


Mr : 새로운 정보로 게시물을 업데이트했습니다 (Update New info 확인) .

이 RPGM 악성코드에 감염되었는지 확인하는 방법도 추가했으니 확인해 보시기 바랍니다.

추가 정보를 확인하는 대로 업데이트하겠습니다.


========================================


Mr : 새로운 정보입니다. 동일한 멀웨어가 f95 사이트의 RenPy 게임/모드 갤러리를 감염시켰던 스페인 사람으로부터 유입되었습니다. 이전 버전 멀웨어에 대한 'colobancuz'의 분석을 인용하겠습니다:


감염된 파일:

1776908614103.png


Previous RenPy malware analysis ( F95 ):

이 파일(zaesdl)에는 RPGM 버전의 것과 동일한 C2 URL이 포함되어 있으므로, 동일한 RAT입니다:

1776908520650.png


===========================

Mr 의 새로운정보 라는 게시글


이거 이후로 글은 대부분 AI요약으로 코드에 대한 분석들 + 감염경로 확인법 인데


글 접는법을 몰라서 다 풀어쓰면 너무 글이 길어져서 일단 해석은 보류하고


요약하자면

1 - 게임파일 돚거(해외사이트)할때 꺼넘버로 된것들과 renpy게임 json파일을
 압축상태에서 '편집' 으로 json을 열었을때 원래 코드가 아니라 암호화된 코드면 조심하자. (뭔가 들어 있을지도 모른다)

2 - 글쓴이도 이틀전 쯤 부터 의문가지고 찾다가 어제 새벽에 저 첫글을 발견한건데 이걸 어떻게 알려야하지 고민하다가 일단 글써봄

못배운놈이라 글 못써도 이해좀

3 - 위 링크 '새로운 정보' 원문 글 속에 해결 방법은 있는거 같은데 크롬 웹브라우저 번역으로 뭐라적었는지 보려니 너무 힘들다
 같이 저거 보고 뭐 어캐할지 의논이 좀 필요할거 같아서 글써봄

==========================

Mr 라고 닉 단 사람이 해답을 어느정도 알고있는거 같은데

나도 지금 이게 뭐가 어떻게 돌아가는지 모르니 댓글로 '해킹당하는거에요?' 이렇게 물으면 답 못해줌


근들갑 떠는거 아니냐 라고 생각할수도 있지만
25년 12월 멀웨어 이슈  가 있었기 때문에 혹시나 해서 글쓴거임

내가 틀린거라면 뭐 근들갑이 맞겠지..


일단 Reeffress 인가 하는놈이 토렌트로 올린거 파일 뭔지 RJ 넘버랑 해서 겜 목록좀 먼저 뽑으러감

32
댓글 59개
댓글 쓰기
04.29
대충 요점은 요즘돌아다니는 게임파일들이 이게 복제방지로 해둔건지 누가 악성코드를 심은건지 코드가 암호화/난독화가 되있으니 조심하라는거지?
04.29
dl 에서 구매보급해오는거 아닌 해외사이트에서 원본찾아서 가져올때 암호화 되어있는 파일이면 조심하자 이거긴 한데 너무 길게 개소리 적어놓은거같은 생각이 드네 그냥 한줄로 요약해버려도 되었을지두
04.29 (04.29)
ㅅㅂ 미안하다 이거 링크속에 AS 사이트는 가입해야 보인다는걸 깜빡하고 말 안했다 글 하나 새로 또 써야하나 아니면 이거 로그인 안해도 보이는글인가 몰겠네
04.29
04.29
04.29
04.29
https://kone.gg/s/somisoft/drrY6xT9jYRer4Z2WF150b 이번에 복구하면서 살펴봤는데, 암호화된거 다양하네..
04.29
이거 지금 4월 초나 3월 말부터 올라온 거의 대부분의 야겜공유사이트에 퍼진게 이런거일지두
반전이네 그러니까 원본은 암호화 안된 json인데 업로더가 저짓을 한 경우가 있다는 거지?
04.29
지금 4월 1일쯔음부터 업로더이름으로 셀프바이 라고 적힌거 부터가 토렌트에 떠도는데 이때쯤부터 뭔가 수작질 해놓은거 같음
굳이 원본 게임 데이터를 난독화 할 이유가 없는데 숨겨진 의도가 있다고 보는게 타당할 듯
04.29
04.29
결과적으로 소미산 자료는 안전하다는거 아님? ㅋㅋ
04.29
구매보급 한정으로 안전한건 맞는듯
04.29 (04.29)
고생하셨습니다 말씀 하신 내용을 보면 거의 확정적으로 drm 보다는 대규모 정보 탈취와 마이닝 목적 같네요 한동안 조심해야겠어요
04.29
글이 길어 다 읽지 않았지만 원본=리테일이 암호화 되지않았는데 공유된 파일이 암호화 되어있다 뭐 다른 목적이 있다고밖에 생각할수가 없지 걍 컴퓨터 수명이나 저장된 정보들이랑 트레이드오프할정도로 대단한거 아니면 쓰지마
04.29
04.29
일단 정보추. 그 추가로 질문하자면, dlsite rj겜 중 package.json 요 파일 편집으로 까보면 되는건가?
04.29
그냥 data 폴더안에 아무거나 열어봐도 암호화된거 아닌거 구분은 갈꺼임 난 압축안풀고 반디집으로 열어서 대충 뭐 system.json같은거 우클릭으로 편집 메뉴 눌러서 메모장으로 열리는거 보고 확인해봤었음
05.02
오잉 생각보다 큰일인데 커뮤가 조용하군요
05.02
난 저게 '멀웨어' 인지 아니면 '멀웨어 처럼 작동하는 어떤 백도어코드' 인건지 아직 잘 몰겠음 며칠째 저거 보면서 머리에 이해시키려고 읽어봐도 '그래서 이건 대체 뭐 어떤 작동을 하는거지?' 싶더라
05.03 (05.03)
(Using AI translation, text could be wrong) 안녕하세요, 저는 당신의 게시글 quotes에 나온 사용자 "Mr"입니다. 혼동을 피하기 위해 몇 가지 세부 사항을 설명해 보겠습니다: 현재 우리는 서로 다른 2가지 malware 조사 건을 보고 있습니다: 1- "Reeffress" 게임 Torrents (Status: UNKNOWN/SUSPICIOUS): 이 사용자가 올린 게임에는 일부 파일에 난독화/암호화된 코드가 포함되어 있습니다. 이러한 파일은 게임의 원본/raw 소스에는 존재하지 않습니다. 이에 대해 더 많은 조사와 정보가 필요하며, 매우 이상한 상황입니다. 그의 최신 RJ01617050 업로드에는 reverse-engineering 소프트웨어를 탐지하는 "engine.bin" 파일이 포함되어 있는데, 이 파일 역시 원본 게임에는 존재하지 않습니다. File Source: torrent 사용자 "Reeffress" (tokyotosho) 및 "
05.03
... 및 "Lian" (anirena) 2- "zaesd.jpg" malware: (Status: CONFIRMED RAT/keylogger MALWARE) 이 malware는 가짜 파일(fake .jpg/.ogg/.js, 실제로는 .exe)을 사용합니다. 이 파일은 게임 실행 시 함께 실행되며, powershell 스크립트를 포함하고 있어 H18 게임 블로그(악성코드 제작자 출처)에서 "zaesd.jpg"라는 가짜 .jpg 파일을 다운로드합니다. 이 파일은 특정 키로 복호화하면 RAT/keylogger malware가 드러납니다. 또한, github에서 이전 버전 malware인 "zaesdl.dat"을 다운로드하는 대안 방식도 존재합니다. File Source: 새로운 사용자가 f95 포럼에서 가짜 계정을 생성하고 Translation request 섹션에 감염된 파일을 업로드합니다 (spanish malware).
0 / 500
펌) 산제물인 엄마5
동인
kjalar
04.22 33203 64
[Ai 후원] 방도리 시로카네 린코 [348p]
야짤
Ghost
04.22 9457 23
[貧乳愛好会] 야한 노출 방송 ~체육관 관장이 사실은 변태 노출 스트리머?~
영상
실루엣21
04.22 23364 99
[Ai 후원] 블렌드s 히나타 카호 [353p]
야짤
Ghost
04.22 14755 17
[업데이트 안내] 존재감 없는 여동생과의 소박한 일상 1.07rev.1
번역
kkkkkk0909
04.22 50371 166
현1자전1도사 모음
동인
Ghost
04.22 24927 99
[Ai 후원] 따끈 베이커리 아즈사가와 츠키노 [364p]
야짤
Ghost
04.22 14448 20
[ai번역] RJ404030 야한 학교 괴담 1 (패치파일만) 수정1
번역
ㅇㅇ
04.22 31778 74
[Ai 후원] 친구가 없어 카시와자키 세나 [354p]
야짤
Ghost
04.22 14318 22
[미번/보?급/번역요청/고어] Astrid's Adventure
미번
로지쨤리
04.22 14216 22
[한글자막] 아이큐 VS 카베이라, 흑자지 임신 승부!!
영상
실루엣21
04.22 21307 109
≪★ 사정 가챠 포함★≫【좋은 마조 손님 찬스 있음...? 다우너 누나의 특별 뒷 옵션~질퍽 미끈미끈 오망코 기승위♡ 고속 말뚝 박기 시술 (받을 수 있을지도 모른다)~
소리
키리안
04.22 16688 84
[Ai 후원] 팬텀 카와카미 마이 [314p]
야짤
Ghost
04.22 18844 19
[Ai 후원] 오등분 신부 요츠바 [359p]
야짤
Ghost
04.22 5562 20
[요청복구] 후타나리 검사와 마계의 소녀 / フタナリ剣士と魔界の少女
복구
crimson-hammer
04.22 23750 39
BBQ서클 DLC 내일출시
정보
sorbe123
04.22 6730 17
[구매보급/번역요청] RJ01586313 LOVING DEAD GIRL ラビング・デッド・ガール
미번
cookieasy
04.22 16653 58
[Miyahara Ayumu] 즉시 섹스! 최면 치트로 내 맘대로
동인
1uF
04.22 39319 148
[Jagayamatarawo] BEHIND THE MASK
동인
1uF
04.22 28473 99
[Kurumaya Koudou] 섹스가 목적인 거유 아싸 소녀에게 홀딱 반해도 되나요?
동인
1uF
04.22 33513 178
[Ai 후원] 금서 빵빵한 사텐 루이코 [57p]
야짤
Ghost
04.22 9209 20
[구매보급]도스케베 거유간호사가 더러운 자지에 봉사 해주는 이야기 ♪
소리
이름뭐하지
04.22 11779 54
(코이카츠) - "큰거"
유틸
pst0025
04.22 15869 66
[미번, 번역요청, TS, 구매보급][Uten ameka] 내 친구는 TS체질 6 전편
동인
dokidoki1411
04.22 11391 27
[요청복구] 기홍사 스칼렛~전설의 약초를 찾아~ver.1.05
복구
rubberduck
04.22 40511 96
(코이카츠) 큰거 올리기 전에 작은거
유틸
pst0025
04.22 18781 62
쿠로네의 곁에서 체험판 떳다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
정보
여동생킬러
04.22 21520 34
카프카 : 비밀의 스크립트 (스타레일)
영상
브레머튼
04.22 27094 101
버전업) RJ384983 NTRaholic (치호 NTR 계획) (V5.1.18) (26.03.02)
번역
딸ㄱ기맛
04.22 50393 291
AI번역 검수) NTR 방송 ─HAPPY BIRTHDAY─
번역
제로콜라라이트
04.22 105727 542