segfault on --stdout
#1
I'm getting a segfault when I use --stdout.

hashcat --stdout list.lst -r rules/best64.rule        segfaults
cat file | hashcat --stdout -r rules/best64.rule     segfaults

echo test | hashcat --stdout -r rules/best64.rule  works as expected

the following, a la https://hashcat.net/forum/thread-7027.html works, but slow:


cat list.lst | while read line; do echo $line | hashcat --stdout -r rules/best64.rule; done

What am I doing wrong?

The reason for wanting to even do this is because as I understand it, hashcat will reject words of insufficient length even if the ruleset creates variations that are >= minimum length.  So for -m 2500, 1234567 would get rejected, and so would every variation created by the rule, regardless of correct length.  Do I have this right?
#2
(09-30-2018, 08:35 PM)gshumway Wrote: So for -m 2500, 1234567 would get rejected, and so would every variation created by the rule, regardless of correct length.  Do I have this right?
That's correct.

Regarding your problem, this seems very weird. What OS are you using? What version of hashcat are you using? For me 4.2.1 on linux works as expected.
#3
(10-01-2018, 12:20 AM)undeath Wrote: What OS are you using? What version of hashcat are you using?

Debian testing 4.18.6-1
hashcat version 4.2.1 installed from the debian repo.

I just grabbed hashcat from the website and tried again with the same results.

$ ./hashcat64.bin --stdout example.dict -r rules/best64.rule 
Segmentation fault

$ cat example.dict | ./hashcat64.bin --stdout -r rules/best64.rule 
Segmentation fault

Is my syntax correct?
#4
Your syntax is correct. The only thing I can imagine is some incompatibility with debian testing and the binary build of hashcat. You can try compiling hashcat yourself or see if stdout works correctly with the 32bit version.
#5
I found my issue.  I had pocl installed and hashcat was making use of it.  I uninstalled it and now hashcat uses the nvidia implementation.  Tested and everything works as it should.  So there you have it, user error.