Comments (5)
Hello @Cdivyam! Thanks for filing your issue. It looks your input app.asar
is breaking the asar
as you suspected. I tried to bump asar
to the latest version. Would it be possible for you to use 27e772f and try again on the same archive or share the app.asar
with us? Is the npx asar extract app.asar <destfolder>
itself working?
from electronegativity.
PickleIterator
is part of the chromium-pickle-js
package, which is used to serialize and deserialize data in Chromium's pickle format. In your specific case, the getReadPayloadOffsetAndAdvance
function is called to get the offset of the data and advance the iterator, but it fails to read the data of the specified length.
This could be due to:
- A corrupted or invalid ASAR file: The file might contain an incorrect data length field, leading the extraction code to attempt to read an incorrect or too large payload size.
- Running out of memory: If the payload size is too large, Node.js might run out of memory during the deserialization process. This can be addressed by increasing the memory limit for Node.js using the --max-old-space-size flag.
- A bug or limitation in the chromium-pickle-js
from electronegativity.
Hello @Cdivyam! Thanks for filing your issue. It looks your input
app.asar
is breaking theasar
as you suspected. I tried to bumpasar
to the latest version. Would it be possible for you to use 27e772f and try again on the same archive or share theapp.asar
with us? Is thenpx asar extract app.asar <destfolder>
itself working?
Hi @phosphore thanks for information.
I have tried running asar extract app.asar <destfolder>
, even that gives the same issue as above.
My asar
version is 3.2.0
.
The asar file is just 47 MB so I don't think it should be a issue with memory.
ASAR FILE https://drive.google.com/file/d/1RXk1O-GES--rqEPtC5uNowOrMq6x_NoS/view?usp=share_link
from electronegativity.
An ASAR archive typically consists of two parts:
- Header: The header is a JSON string that represents the file system structure and metadata of the ASAR archive. It includes information about files and directories, such as their names, sizes, and offsets within the archive. The header is stored at the beginning of the ASAR file.
- Content: Following the header, the content of the files is stored in the ASAR archive. The content is concatenated without compression, and its position and size are determined by the metadata specified in the header.
It seems that the asar file you attached does not contain a properly formatted JSON string representing the file system structure, hence the ASAR library is not able to read or extract the archive correctly. Investigating it a bit more, you can see that in place of that you have an HEX string of characters. I'll leave this reversing part to you.
Cheers,
from electronegativity.
Thanks for the inputs @phosphore . It is good to know that the library is not at fault.
from electronegativity.
Related Issues (20)
- Error when run programmatically
- AVAILABLE_SECURITY_FIXES_GLOBAL_CHECK false positives HOT 1
- error: Unknown Electron release "25.2.x" HOT 1
- broken "references" links HOT 1
- Exit code when finding any issues in cli mode
- Guideline for handling False Positives / False Negatives HOT 3
- Allow annotations in source code to ignore a check HOT 7
- ENOENT: no such file or directory -4058 - Path exceeds 256 characters HOT 1
- Cannot manually whitelist PERMISSION_REQUEST_HANDLER_GLOBAL_CHECK if using a partition HOT 2
- How does one ignore LIMIT_NAVIGATION_GLOBAL_CHECK? HOT 2
- Fails to install 1.8.1 on Ubuntu HOT 5
- eng-disable CSP_GLOBAL_CHECK not working HOT 7
- Update Wiki Page about Context Isolation HOT 1
- Don't publish npm-shrinkwrap.json HOT 8
- Support the setWindowOpenHandler API in Electron 12+ HOT 6
- Allow `eng-disable` comments to be placed above lines of code
- package.json `config` can contain non-strings HOT 1
- Yarn 2 Support
- Exclude from scan option throwing errors HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from electronegativity.