l1nna / jvd Goto Github PK
View Code? Open in Web Editor NEWDisassembly Generation and Processing for JARV1S
License: Apache License 2.0
Disassembly Generation and Processing for JARV1S
License: Apache License 2.0
Given the following setup
jvd
running under WSLpath
to link expected of IDA Pro Linux executables filenames to actual Windows executablesIn jvd/disassembler.py
, line 33 (disassemble
function), a new temporary directory gets created alongside the file to disassemble, IDA Pro gets spawned as a disassembler and Linux paths automagically gets translated into \\wsl...
path for Windows IDA process. All is fine until the path/filename in WSL is very long and exceeds MAX_PATH (260) characters. IDA Pro for Windows can't open path/file longer than that.
There is no easy script-in-the-middle workaround here to copy files around temporarily, as IDA Pro command line parameters (including Python script parameters) could also refer to other "long paths", including the "log file" IDA parameter. That script couldn't know whether paths in arguments refer to current or new files, or even files to append stuff to.
A suggested fix would be to use an OS-provided temporary folder (actually a unique temporary folder under it), instead of creating a folder at the binary file location. Using standard Python package functionality here also alleviates the need to manage the folder creation and deletion manually.
See Pull Request #12
Limitation: while the created temporary folder is typically on a short path, such as /tmp/tmp.random_id, this would still not prevent a failure on a very long file name under it. In practice, file names (name only, no path) with 240+ characters seldom occur. Overall, this would not affect Linux-only use cases, while being a best-effort fix for WSL + Windows IDA.
Current run-per-call design is flexible and robust, but with the JVM it is still very very slow.
Several design issues:
As a service, it is difficult to maintain, manage failures, and schedule resource provisions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.