Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Naruto World apk (renlong files)

Featured Replies

  • Author
  • Localization

guardianskt2, posted Sat Jul 09, 2022 10:25 am (72547)


When opening the file "main.12.com.renlong.naruto.obb" inside an apk, I noticed the game had 2 types of encrypted file types:

.pvr.ccz
.ccbi

Some examples you can download here:

https://drive.google.com/file/d/162Uuj0 ... sp=sharing

You can download the game full apk (xapk) file here:

https://drive.google.com/file/d/133hmRF ... sp=sharing

I also encountered some infos about this file type encryption:

https://qiita.com/sdkfz181tiger/items/5 ... c2927aae0d
https://github.com/CRC32EX/DecryptCocos2dAsset
https://blog.csdn.net/ynnmnm/article/details/44921337
https://blog.csdn.net/mergerly/article/details/79175800
https://www.jianshu.com/p/9562bc1cab72


Any help to decrypt these files are appreciated, thanks!
  • Author
  • Localization

guardianskt2, posted Mon Jul 18, 2022 8:38 pm (72649)


up!
  • Author
  • Localization

h3x3r, posted Tue Jul 19, 2022 1:52 pm (72655)


Here's the function from libgame.so
Code:
.text:0053B4D4 ; =============== S U B R O U T I N E =======================================
.text:0053B4D4
.text:0053B4D4
.text:0053B4D4 ; _DWORD __fastcall cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(cocos2d::ZipUtils *__hidden this, int, unsigned int)
.text:0053B4D4                 EXPORT _ZN7cocos2d8ZipUtils25ccSetPvrEncryptionKeyPartEij
.text:0053B4D4 _ZN7cocos2d8ZipUtils25ccSetPvrEncryptionKeyPartEij
.text:0053B4D4                                         ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKey(uint,uint,uint,uint) Ep
.text:0053B4D4                                         ; cocos2d::ZipUtils::ccSetPvrEncryptionKey(uint,uint,uint,uint) 16p ...
.text:0053B4D4
.text:0053B4D4 var_18          = -0x18
.text:0053B4D4 var_14          = -0x14
.text:0053B4D4
.text:0053B4D4                 PUSH    {R0,R1,R4-R6,LR}
.text:0053B4D6                 MOVS    R5, R0
.text:0053B4D8                 MOVS    R6, R1
.text:0053B4DA                 CMP     R0, #0
.text:0053B4DC                 BGE     loc_53B50E
.text:0053B4DE                 LDR     R4, =(aCocos2dKeyPart - 0x53B4E4)
.text:0053B4E0                 ADD     R4, PC          ; "Cocos2d: key part index cannot be less "...
.text:0053B4E2                 MOVS    R0, R4          ; char *
.text:0053B4E4                 BL      _Z27cc_assert_script_compatiblePKc ; cc_assert_script_compatible(char const*)
.text:0053B4E8                 CMP     R0, #0
.text:0053B4EA                 BNE     loc_53B4F6
.text:0053B4EC                 LDR     R0, =(aAssertFailedS - 0x53B4F4)
.text:0053B4EE                 MOVS    R1, R4          ; char *
.text:0053B4F0                 ADD     R0, PC          ; "Assert failed: %s"
.text:0053B4F2                 BL      _ZN7cocos2d5CCLogEPKcz ; cocos2d::CCLog(char const*,...)
.text:0053B4F6
.text:0053B4F6 loc_53B4F6                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 16j
.text:0053B4F6                 LDR     R0, =(aCcdecodeencode - 0x53B502)
.text:0053B4F8                 LDR     R1, =(aCocos2dXAssert - 0x53B508)
.text:0053B4FA                 LDR     R2, =(aSFunctionSLine - 0x53B50A)
.text:0053B4FC                 LDR     R3, =(aFEnglishRen_63 - 0x53B50C)
.text:0053B4FE                 ADD     R0, PC          ; "ccDecodeEncodedPvr"
.text:0053B500                 ADDS    R0, #0x39
.text:0053B502                 STR     R0, [SP,#0x18 var_18]
.text:0053B504                 ADD     R1, PC          ; "cocos2d-x assert"
.text:0053B506                 ADD     R2, PC          ; "%s function:%s line:%d"
.text:0053B508                 ADD     R3, PC          ; "F:/english/renlong/proj.android/../../c"...
.text:0053B50A                 LDR     R0, =0x1A3
.text:0053B50C                 B       loc_53B542
.text:0053B50E ; ---------------------------------------------------------------------------
.text:0053B50E
.text:0053B50E loc_53B50E                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 8j
.text:0053B50E                 CMP     R0, #3
.text:0053B510                 BLE     loc_53B54A
.text:0053B512                 LDR     R4, =(aCocos2dKeyPa_0 - 0x53B518)
.text:0053B514                 ADD     R4, PC          ; "Cocos2d: key part index cannot be great"...
.text:0053B516                 MOVS    R0, R4          ; char *
.text:0053B518                 BL      _Z27cc_assert_script_compatiblePKc ; cc_assert_script_compatible(char const*)
.text:0053B51C                 CMP     R0, #0
.text:0053B51E                 BNE     loc_53B52A
.text:0053B520                 LDR     R0, =(aAssertFailedS - 0x53B528)
.text:0053B522                 MOVS    R1, R4          ; char *
.text:0053B524                 ADD     R0, PC          ; "Assert failed: %s"
.text:0053B526                 BL      _ZN7cocos2d5CCLogEPKcz ; cocos2d::CCLog(char const*,...)
.text:0053B52A
.text:0053B52A loc_53B52A                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 4Aj
.text:0053B52A                 LDR     R0, =(aCcdecodeencode - 0x53B536)
.text:0053B52C                 LDR     R1, =(aCocos2dXAssert - 0x53B53E)
.text:0053B52E                 LDR     R2, =(aSFunctionSLine - 0x53B540)
.text:0053B530                 LDR     R3, =(aFEnglishRen_63 - 0x53B542)
.text:0053B532                 ADD     R0, PC          ; "ccDecodeEncodedPvr"
.text:0053B534                 ADDS    R0, #0x39
.text:0053B536                 STR     R0, [SP,#0x18 var_18]
.text:0053B538                 MOVS    R0, #0xD2
.text:0053B53A                 ADD     R1, PC          ; "cocos2d-x assert"
.text:0053B53C                 ADD     R2, PC          ; "%s function:%s line:%d"
.text:0053B53E                 ADD     R3, PC          ; "F:/english/renlong/proj.android/../../c"...
.text:0053B540                 LSLS    R0, R0, #1
.text:0053B542
.text:0053B542 loc_53B542                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 38j
.text:0053B542                 STR     R0, [SP,#0x18 var_14]
.text:0053B544                 MOVS    R0, #6
.text:0053B546                 BLX     __android_log_print
.text:0053B54A
.text:0053B54A loc_53B54A                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 3Cj
.text:0053B54A                 LDR     R3, =(_ZN7cocos2d8ZipUtils23s_uEncryptedPvrKeyPartsE_ptr - 0x53B552)
.text:0053B54C                 LSLS    R5, R5, #2
.text:0053B54E                 ADD     R3, PC ; _ZN7cocos2d8ZipUtils23s_uEncryptedPvrKeyPartsE_ptr
.text:0053B550                 LDR     R3, [R3]        ; cocos2d::ZipUtils::s_uEncryptedPvrKeyParts
.text:0053B552                 LDR     R2, [R5,R3]
.text:0053B554                 CMP     R2, R6
.text:0053B556                 BEQ     locret_53B564
.text:0053B558                 STR     R6, [R5,R3]
.text:0053B55A                 LDR     R3, =(_ZN7cocos2d8ZipUtils23s_bEncryptionKeyIsValidE_ptr - 0x53B562)
.text:0053B55C                 MOVS    R2, #0
.text:0053B55E                 ADD     R3, PC ; _ZN7cocos2d8ZipUtils23s_bEncryptionKeyIsValidE_ptr
.text:0053B560                 LDR     R3, [R3]        ; cocos2d::ZipUtils::s_bEncryptionKeyIsValid
.text:0053B562                 STRB    R2, [R3]
.text:0053B564
.text:0053B564 locret_53B564                           ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 82j
.text:0053B564                 POP     {R0,R1,R4-R6,PC}
.text:0053B564 ; End of function cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint)
.text:0053B564
  • Author
  • Localization

guardianskt2, posted Fri Jul 22, 2022 10:24 pm (72711)


h3x3r wrote:
Here's the function from libgame.so
Code:
.text:0053B4D4 ; =============== S U B R O U T I N E =======================================
.text:0053B4D4
.text:0053B4D4
.text:0053B4D4 ; _DWORD __fastcall cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(cocos2d::ZipUtils *__hidden this, int, unsigned int)
.text:0053B4D4                 EXPORT _ZN7cocos2d8ZipUtils25ccSetPvrEncryptionKeyPartEij
.text:0053B4D4 _ZN7cocos2d8ZipUtils25ccSetPvrEncryptionKeyPartEij
.text:0053B4D4                                         ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKey(uint,uint,uint,uint) Ep
.text:0053B4D4                                         ; cocos2d::ZipUtils::ccSetPvrEncryptionKey(uint,uint,uint,uint) 16p ...
.text:0053B4D4
.text:0053B4D4 var_18          = -0x18
.text:0053B4D4 var_14          = -0x14
.text:0053B4D4
.text:0053B4D4                 PUSH    {R0,R1,R4-R6,LR}
.text:0053B4D6                 MOVS    R5, R0
.text:0053B4D8                 MOVS    R6, R1
.text:0053B4DA                 CMP     R0, #0
.text:0053B4DC                 BGE     loc_53B50E
.text:0053B4DE                 LDR     R4, =(aCocos2dKeyPart - 0x53B4E4)
.text:0053B4E0                 ADD     R4, PC          ; "Cocos2d: key part index cannot be less "...
.text:0053B4E2                 MOVS    R0, R4          ; char *
.text:0053B4E4                 BL      _Z27cc_assert_script_compatiblePKc ; cc_assert_script_compatible(char const*)
.text:0053B4E8                 CMP     R0, #0
.text:0053B4EA                 BNE     loc_53B4F6
.text:0053B4EC                 LDR     R0, =(aAssertFailedS - 0x53B4F4)
.text:0053B4EE                 MOVS    R1, R4          ; char *
.text:0053B4F0                 ADD     R0, PC          ; "Assert failed: %s"
.text:0053B4F2                 BL      _ZN7cocos2d5CCLogEPKcz ; cocos2d::CCLog(char const*,...)
.text:0053B4F6
.text:0053B4F6 loc_53B4F6                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 16j
.text:0053B4F6                 LDR     R0, =(aCcdecodeencode - 0x53B502)
.text:0053B4F8                 LDR     R1, =(aCocos2dXAssert - 0x53B508)
.text:0053B4FA                 LDR     R2, =(aSFunctionSLine - 0x53B50A)
.text:0053B4FC                 LDR     R3, =(aFEnglishRen_63 - 0x53B50C)
.text:0053B4FE                 ADD     R0, PC          ; "ccDecodeEncodedPvr"
.text:0053B500                 ADDS    R0, #0x39
.text:0053B502                 STR     R0, [SP,#0x18 var_18]
.text:0053B504                 ADD     R1, PC          ; "cocos2d-x assert"
.text:0053B506                 ADD     R2, PC          ; "%s function:%s line:%d"
.text:0053B508                 ADD     R3, PC          ; "F:/english/renlong/proj.android/../../c"...
.text:0053B50A                 LDR     R0, =0x1A3
.text:0053B50C                 B       loc_53B542
.text:0053B50E ; ---------------------------------------------------------------------------
.text:0053B50E
.text:0053B50E loc_53B50E                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 8j
.text:0053B50E                 CMP     R0, #3
.text:0053B510                 BLE     loc_53B54A
.text:0053B512                 LDR     R4, =(aCocos2dKeyPa_0 - 0x53B518)
.text:0053B514                 ADD     R4, PC          ; "Cocos2d: key part index cannot be great"...
.text:0053B516                 MOVS    R0, R4          ; char *
.text:0053B518                 BL      _Z27cc_assert_script_compatiblePKc ; cc_assert_script_compatible(char const*)
.text:0053B51C                 CMP     R0, #0
.text:0053B51E                 BNE     loc_53B52A
.text:0053B520                 LDR     R0, =(aAssertFailedS - 0x53B528)
.text:0053B522                 MOVS    R1, R4          ; char *
.text:0053B524                 ADD     R0, PC          ; "Assert failed: %s"
.text:0053B526                 BL      _ZN7cocos2d5CCLogEPKcz ; cocos2d::CCLog(char const*,...)
.text:0053B52A
.text:0053B52A loc_53B52A                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 4Aj
.text:0053B52A                 LDR     R0, =(aCcdecodeencode - 0x53B536)
.text:0053B52C                 LDR     R1, =(aCocos2dXAssert - 0x53B53E)
.text:0053B52E                 LDR     R2, =(aSFunctionSLine - 0x53B540)
.text:0053B530                 LDR     R3, =(aFEnglishRen_63 - 0x53B542)
.text:0053B532                 ADD     R0, PC          ; "ccDecodeEncodedPvr"
.text:0053B534                 ADDS    R0, #0x39
.text:0053B536                 STR     R0, [SP,#0x18 var_18]
.text:0053B538                 MOVS    R0, #0xD2
.text:0053B53A                 ADD     R1, PC          ; "cocos2d-x assert"
.text:0053B53C                 ADD     R2, PC          ; "%s function:%s line:%d"
.text:0053B53E                 ADD     R3, PC          ; "F:/english/renlong/proj.android/../../c"...
.text:0053B540                 LSLS    R0, R0, #1
.text:0053B542
.text:0053B542 loc_53B542                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 38j
.text:0053B542                 STR     R0, [SP,#0x18 var_14]
.text:0053B544                 MOVS    R0, #6
.text:0053B546                 BLX     __android_log_print
.text:0053B54A
.text:0053B54A loc_53B54A                              ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 3Cj
.text:0053B54A                 LDR     R3, =(_ZN7cocos2d8ZipUtils23s_uEncryptedPvrKeyPartsE_ptr - 0x53B552)
.text:0053B54C                 LSLS    R5, R5, #2
.text:0053B54E                 ADD     R3, PC ; _ZN7cocos2d8ZipUtils23s_uEncryptedPvrKeyPartsE_ptr
.text:0053B550                 LDR     R3, [R3]        ; cocos2d::ZipUtils::s_uEncryptedPvrKeyParts
.text:0053B552                 LDR     R2, [R5,R3]
.text:0053B554                 CMP     R2, R6
.text:0053B556                 BEQ     locret_53B564
.text:0053B558                 STR     R6, [R5,R3]
.text:0053B55A                 LDR     R3, =(_ZN7cocos2d8ZipUtils23s_bEncryptionKeyIsValidE_ptr - 0x53B562)
.text:0053B55C                 MOVS    R2, #0
.text:0053B55E                 ADD     R3, PC ; _ZN7cocos2d8ZipUtils23s_bEncryptionKeyIsValidE_ptr
.text:0053B560                 LDR     R3, [R3]        ; cocos2d::ZipUtils::s_bEncryptionKeyIsValid
.text:0053B562                 STRB    R2, [R3]
.text:0053B564
.text:0053B564 locret_53B564                           ; CODE XREF: cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint) 82j
.text:0053B564                 POP     {R0,R1,R4-R6,PC}
.text:0053B564 ; End of function cocos2d::ZipUtils::ccSetPvrEncryptionKeyPart(int,uint)
.text:0053B564


I had found other functions too, however, I can't debug the code in order to get the key because I don't know about assembly, so the only possibility for me is using a rooted cell phone, and I even tried that, but the old cell phone models I have here don't accept root, so if someone know a way to debug this function for me, it would be a hand in the wheel, we can also negotiate this service in bitcoins, thanks for the reply!
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.