Cocos2d JSC: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(38 intermediate revisions by the same user not shown)
Line 17: Line 17:
=== Notes and Comments ===  
=== Notes and Comments ===  


* This file format occurs in games made using '''Cocos2d-x''' framework.
* This file format occurs in games made using '''Cocos2d-x''' / '''Cocos Creator'''.
* JSC is a compiled '''JavaScript''' file used by '''[https://en.wikipedia.org/wiki/SpiderMonkey SpiderMonkey Engine]'''.
* JSC is a compiled '''JavaScript''' file used by '''[https://en.wikipedia.org/wiki/SpiderMonkey SpiderMonkey Engine]'''.
* JSC may be compressed with '''GZIP / ZLIB''' and encrypted with '''XXTEA'''.
* JSC may be compressed with '''GZIP / ZIP''' and encrypted with '''XXTEA'''.


=== Games ===  
=== Games ===  
Line 30: Line 30:




|    Brutal Street 2                              || Android        || *.JSC        || SpiderMonkey (version 33)     || None
|    Animal Restaurant                            || Android        || *.JSC        || XXTEA + GZIP     || 431FEWJOTe-gecTW
|-
|-




|    Choang Club - Game bai dang cap              || Android        || *.JSC        || SpiderMonkey (version 33)    || None
|    Aries Peg Solitaire                          || Android        || *.JSC        || XXTEA + ZIP    || 097c5192-4e62-4f
|-
 
 
|    Brutal Street 2                              || Android        || *.JSC        || Bytecode (version 33)    || None
|-
 
 
|    Cat Rescue: Sea Escape                        || Android        || *.JSC        || XXTEA + GZIP              || 863c18da-7a0f-41
|-
 
 
|    Choang Club - Game bai dang cap              || Android        || *.JSC        || Bytecode (version 33)    || None
|-
|-


Line 46: Line 58:




|    Jimi-Kare My Quiet Boyfriend                  || Android        || *.JSC        || SpiderMonkey (version 33)    || None
|    Jimi-Kare My Quiet Boyfriend                  || Android        || *.JSC        || Bytecode (version 33)    || None
|-
|-


Line 55: Line 67:


|    LifeSimulator - Chinese Life                  || Android        || *.JSC        || XXTEA + GZIP    || e07a4d47-b82e-4f
|    LifeSimulator - Chinese Life                  || Android        || *.JSC        || XXTEA + GZIP    || e07a4d47-b82e-4f
|-
|    Math Pipes Agilidad mental<br> operaciones matemáticas        || Android        || *.JSC        || XXTEA + GZIP    || 967d48e5-4124-4e
|-
|-


Line 63: Line 79:


|    One Piece (chinese game)                      || Android        || *.JSC        || XXTEA + GZIP    || b81a1dd7-625d-43
|    One Piece (chinese game)                      || Android        || *.JSC        || XXTEA + GZIP    || b81a1dd7-625d-43
|-
|    Resortopia                                    || Android        || *.JSC        || XXTEA + GZIP    || 65fccf9c-1473-4d
|-
|    Santa Bouncy Lights                          || Android        || *.JSC        || XXTEA + GZIP    || 7820d0b2-c505-4b
|-
|-




|    Spiral Warrior                                || Android        || *.JSC        || XXTEA Only      || f86f2406-6ef3-45
|    Spiral Warrior                                || Android        || *.JSC        || XXTEA Only      || f86f2406-6ef3-45
|-
|    Toilet Paper Rush                            || Android        || *.JSC        || XXTEA + GZIP    || 715c2582-9ae7-4e
|-
|-


Line 80: Line 108:


'''Method 1:'''  
'''Method 1:'''  
* Open file \lib\armeabi-v7a\libcocos2djs.so in hex editor and search for "jsb-adapter" or "applicationDidFinishLaunching". Key should be stored right before or after those strings.
* Open file \lib\armeabi-v7a\libcocos2djs.so in hex editor and search for "jsb-adapter". Key should be stored right before this string.
'''Method 2:'''  
'''Method 2:'''  
* Install and run frida server on your device
* Install and run frida server on your device
Line 103: Line 131:
* [https://platinmods.com/threads/tool-encryption-decryption-jsc-files-to-modded-games-based-cocos2djs.132148/ JSC decrypt tool (by Mika Cybertron)]
* [https://platinmods.com/threads/tool-encryption-decryption-jsc-files-to-modded-games-based-cocos2djs.132148/ JSC decrypt tool (by Mika Cybertron)]
* [https://github.com/bartlomiejduda/JSC-PyDecrypt-Tool JSC-PyDecrypt-Tool]
* [https://github.com/bartlomiejduda/JSC-PyDecrypt-Tool JSC-PyDecrypt-Tool]
* [https://github.com/Mas0nShi/jsc-Decryption jsc-Decryption]
* [https://archive.org/download/jsc-tool/jsc%20Tool.rar JSC Tool]
* [https://archive.org/download/jsc-tool/jsc%20Tool.rar JSC Tool]
* [https://github.com/irelance/jsc-decompile-mozjs-34 jsc-decompile-mozjs-34]
* [https://github.com/irelance/jsc-decompile-mozjs-34 jsc-decompile-mozjs-34]
Line 113: Line 142:
* [https://www.modb.pro/db/240817 How to decompile JSC files (chinese tutorial)]
* [https://www.modb.pro/db/240817 How to decompile JSC files (chinese tutorial)]
* [https://zhuanlan.zhihu.com/p/42403161 Road to decompile JSC (chinese tutorial)]
* [https://zhuanlan.zhihu.com/p/42403161 Road to decompile JSC (chinese tutorial)]
* [https://programmer.ink/think/61c66dfa65368.html Cocos2d JS mobile game decryption jsc]
* [https://docs.cocos.com/creator/2.3/manual/en/publish/publish-native.html Build and release Cocos2d games on Native platforms]


=== Gallery ===
=== Gallery ===
Line 121: Line 152:




[[Category:Complete Complete|Cocos2d-x JSC]]
[[Category:Complete Complete|Cocos2d JSC]]
[[Category:Platform Android|Cocos2d-x JSC]]
[[Category:Platform Android|Cocos2d JSC]]
[[Category:CE Both|Cocos2d-x JSC]]
[[Category:CE Both|Cocos2d JSC]]
[[Category:Format_Misc | Type: Misc]]
[[Category:Format_Misc | Type: Misc]]
[[Category:Extension_jsc | Extension: jsc]]
[[Category:Extension_jsc | Extension: jsc]]
[[Category:GZIP compression]]
[[Category:GZIP compression]]
[[Category:ZLIB compression]]
[[Category:XXTEA encryption]]
[[Category:XXTEA encryption]]
[[Category:File Format]]
[[Category:File Format]]

Latest revision as of 21:34, 6 September 2022

Back to index | Edit this page

JSC, JS

  • Format Type : Compiled Script
  • Endian Order : Little Endian
  • Signature : None


Format Specifications

x bytes - file data  // it may be encrypted or compressed

Notes and Comments

  • This file format occurs in games made using Cocos2d-x / Cocos Creator.
  • JSC is a compiled JavaScript file used by SpiderMonkey Engine.
  • JSC may be compressed with GZIP / ZIP and encrypted with XXTEA.

Games

List of games using this file format:

Game Title Platform Extension Type Encryption Key
Animal Restaurant Android *.JSC XXTEA + GZIP 431FEWJOTe-gecTW
Aries Peg Solitaire Android *.JSC XXTEA + ZIP 097c5192-4e62-4f
Brutal Street 2 Android *.JSC Bytecode (version 33) None
Cat Rescue: Sea Escape Android *.JSC XXTEA + GZIP 863c18da-7a0f-41
Choang Club - Game bai dang cap Android *.JSC Bytecode (version 33) None
DesignVille: Merge & Design Android *.JS Uncompiled JavaScript None
Happy Animal Hospital Android *.JSC XXTEA + GZIP dwyygp
Jimi-Kare My Quiet Boyfriend Android *.JSC Bytecode (version 33) None
KungFu Hospital Android *.JSC XXTEA + GZIP yiguangp
LifeSimulator - Chinese Life Android *.JSC XXTEA + GZIP e07a4d47-b82e-4f
Math Pipes Agilidad mental
operaciones matemáticas
Android *.JSC XXTEA + GZIP 967d48e5-4124-4e
Minimal Dungeon RPG Android *.JSC XXTEA + GZIP 0144fe29-6a3f-49
One Piece (chinese game) Android *.JSC XXTEA + GZIP b81a1dd7-625d-43
Resortopia Android *.JSC XXTEA + GZIP 65fccf9c-1473-4d
Santa Bouncy Lights Android *.JSC XXTEA + GZIP 7820d0b2-c505-4b
Spiral Warrior Android *.JSC XXTEA Only f86f2406-6ef3-45
Toilet Paper Rush Android *.JSC XXTEA + GZIP 715c2582-9ae7-4e
Top War: Battle Game Android *.JSC XXTEA + GZIP 221640c9-d86d-43

Tutorial - How to get XXTEA keys

Method 1:

  • Open file \lib\armeabi-v7a\libcocos2djs.so in hex editor and search for "jsb-adapter". Key should be stored right before this string.

Method 2:

  • Install and run frida server on your device
  • Download this script cocos2d_xxtea_script.js
  • Run the script with the command "frida -U --no-pause -l cocos2d_xxtea_script.js -f <game_package_name>

Method 3:

  • Download and install IDA 7
  • Seaach for function "xxtea_decrypt"
  • Analyse the function's code to see how the key is stored/generated.

QuickBMS Script

Compatible Programs

See Also

Gallery