Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Blue Archive Molru Extractor

A tool to extract assets from Blue Archive Steam version.

TSN Kozeki used as base reference for understanding Blue Archive's media catalog file structure.

Usage

  1. Download MolruExtractor.
  2. Move the downloaded executable into Blue Archive folder.
  3. Run MolruExtractor.exe, wait for it to finish.
  4. Extracted file can be found in MolruExtract folder.

Feature comparison

MolruExtractorKozeki
Native binaryRequires Python to run
Having a release file for easy usageDownload/clone repository to use
No additional dependenciesNeeds installing TSN Abstractor separately
Single executableMultiple files with its dependencies
Per-category extraction
Can choose to skip extracting BGM, voice, or images. (See options with -? flag)
Only able to extract everything at once
Fast caching processTakes forever to create cache (on Windows)
Can use cache provied by the author instead, but needs to wait for the author to update cache for every game update.
Does not need to save cached catalog dataNeeds saved cache file for faster extraction process
Extract with file nameExtract with file name (with cache)
Run on any OS (manual compiling)Run on any OS
No repacking feature plannedPlans to have repacking feature
Unsafe extraction algorithmUses regex to validate files to be extracted

Performance comparison

Performance is evaluated by running each program 3 times with identical flags (-q and --limit-logs), the fastest execution time is selected for comparison. Running on i5-6300U @ 2.40GHz.

Creating cacheExtractingMemory usage
MolruExtractor0.02s24sConstant 300-460 MB
Kozeki??? (stopped measuring after 3 hours)1m40sVariable 20-400 MB

Even more faster?

You can get more performance by building MolruExtractor locally. This will create an executable optimized for your CPU and disable extra safety checking in trade for performance.

  1. Have Odin installed on your system.
  2. Clone this repository.
  3. Run build.bat, this creates MolruExtractorFast.exe.
  4. Move generated executable into Blue Archive folder and run it.

License

MIT License

About

Blue Archive assets extractor

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages