ctr-tools
TypeScript library for interacting with several Nintendo 3DS file types. Mainly used to process CIA files for the Pretendo eShop
Installation
npm i @pretendonetwork/ctr-tools
Supported files
Example
import fs from 'node:fs';
import { CIA } from '@pretendonetwork/ctr-tools/cia';
const cia = new CIA(`${__dirname}/nimbus.cia`);
console.log(cia.CACertificate.verifySignature(cia.TMDCertificate));
console.log(cia.CACertificate.verifySignature(cia.ticketCertificate));
console.log(cia.TMDCertificate.verifySignature(cia.TMD));
console.log(cia.ticketCertificate.verifySignature(cia.ticket));
if (cia.meta) {
const largeIconData = cia.meta.iconData.exportLargeImage();
fs.writeFileSync('./icon-large.png', largeIconData);
console.log(cia.meta.iconData.getEnglishApplicationTitle());
}