Comments (11)
Hi, thanks for your interest. You have probably noticed that gossdeep is just a wrapper around the official implementation. I still have some issues in mine (as you have rightful noticed) with handling some of the corner cases.
from ssdeep.
Any progress on this issue? Do you have an idea where the problem is?
from ssdeep.
Hi @davidt99 unfortunately I did not had time to look into this yet. How familiar are you with Go? I could give you some pointers that get you started investigating the problem.
To be clear, the dutchcoders implementation is a wrapper of the original library.
from ssdeep.
I just started writing in Go, but I feel comfortable enough with the language to try and fix the problem, so if it's not too much trouble, post the pointers and I will try to fix it.
@dutchcoders implementation uses "C" package (I guess there is no other option), and that has a performance penalty for every call - that why I'm interested in using your implementation.
from ssdeep.
Yes, there are a bunch of downsides to using cgo: https://dave.cheney.net/2016/01/18/cgo-is-not-go
In https://github.com/glaslos/ssdeep/blob/master/ssdeep.go#L136 we call processByte
which appends one more character to the hash. You basically have to find out why the original implementation stops one character earlier.
from ssdeep.
You might have noticed when comparing the results that our implementation is appending some extra characters to the hash. Might be a good starting point to find the root cause.
from ssdeep.
This seems to be more significant with smaller files.
from ssdeep.
I think I fixed it, but I need to do more testing. Do you have some sort of control group that I can use?
from ssdeep.
I can help with that since I filed the original bug :)
from ssdeep.
I think I was able to reproduce the mismatch you described, but while I was trying to solve it, I found another mismatch (in a different location).
I want to be more sure that I fixed all the bugs, that's why I want more than just a few files to test with.
If you have a test group, please post it. The sample you first use is also a good start.
from ssdeep.
@zhenjl please confirm that cf3f9ba fixed your issue.
from ssdeep.
Related Issues (19)
- Panic for "integer divide by zero" for empty file HOT 2
- Stateless API
- Hash Interface HOT 5
- Improve documentation HOT 2
- Integrity testing HOT 4
- Verify Distance Calculation HOT 2
- ssdeep output parity on small files HOT 3
- Hang if file length less than 192 bytes HOT 1
- panic: runtime error: integer divide by zero HOT 2
- please add go mod and release new version for build HOT 1
- blocksize should be int64, otherwise 32bit ssdeep not quals 64bit ssdeep
- Incorrect Hash Outputted on Certain Files HOT 4
- Can you set minFileSize smaller than 4096 HOT 6
- EOF error return from state.process HOT 2
- HashDistance() with hash of file 192 bytes length gives unclear error 'Apples != Grapes' HOT 1
- Make `Force` a configurable option HOT 1
- Unclear error 'Apples != Grapes' for HashDistance() for file length of 1344 bytes and file length in range from 193 to 384 bytes HOT 1
- Stable Release HOT 5
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 ssdeep.