reuse restore file after upgrade (was oclHashcat v1.01)
#1
i was running a wpa session on 1.00, after updating to 1.01 I get:
ERROR: cannot use outdated att5.restore. Please remove it.

can't force it either. so 1.01 uses a different session file now? no way around this?
#2
As far as I know, (by accident) for the next version of oclHashcat, there is a new feature that will "upgrade" your .restore file when it detects that the restore file could still be used (if nothing significantly changed with the struct https://hashcat.net/forum/thread-2376-po...l#pid15457 ).

But what it basically does is that it updates the version number stored in the .restore file (of the - original - oclHashcat binary) and it also tries to update relative paths, i.e. at the end it will just do something like this (but of course with some sanity checks and by warning the user about path changes etc):
Code:
$ cp oclHashcat.restore oclHashcat_bak.restore # create backup of restore file
$ printf "\x$(echo "obase=16; $(./oclHashcat64.bin --version | sed 's/\.//g')" | bc)" | dd of=oclHashcat.restore conv=notrunc
$ sed -i "s/oclHashcat-[\.0-9]*/oclHashcat-$(./oclHashcat64.bin --version)/g" oclHashcat.restore

What this does is:
1. update version number
2. update path to oclHashcat-1.01

When could this possibly fail:
1. you've used some paths that are relative to oclHashcat-1.00 directory - e.g. hash file / dict file / mask files were in command line args, relative to oclHashcat-1.00 folder and you didn't put them (also) in the new folder
(2. you do not use / are not able to use linux shell commands - and also you can't update the restore file manually - text editor - 1. byte + paths)

As said, there is a planned feature w/ 1.02 version of oclHashcat that does the changes to the .restore file (automatically w/ some sanity checks)... still, since the restore file also stores some (maybe relative) paths etc... also the new automatic update feature could possible fail (as mentioned above) if the files were not mirrored to the new oclHashcat folder etc.

But the (semi)manual update for now should be straightforward
#3
I wouldn't say it was by accident. I added the feature philsmd mentioned because of precisely this problem. As long as the structure of the restore file doesn't change, hashcat should not deny access to a restore file from a previous version.

Please use his method until the next release, at which point I hope it will no longer be an issue.
#4
Here's another one, not sure if it's possible- I have a long running brute-force attack, and I want to add some GPUs to my VCL cluster.

When I will try to start with the new configuration, it will tell me there's an "asynchronous number of GPUs for the restore file" or some such, basically that it don't match the number of GPUs specified in the .restore.

Any way to update this restore file for the new number of GPUs, or no?

Thanks!
#5
no, this is not possible.
#6
i'm on windows/32bit/cygwin so i changed the command to oclhashcat32.exe and after the 2nd command i get:
0+1 records in
0+1 records out
1 byte (1 B) copied, 0.241695 s, 0.0 kB/s

the last command had no output. try to restore session and i get:
ERROR: cannot read att5.restore

the restore file is in the oclhashcat directory. does this have anything to do with me using cygwin?

(01-04-2014, 12:03 PM)philsmd Wrote: $ cp oclHashcat.restore oclHashcat_bak.restore # create backup of restore file
$ printf "\x$(echo "obase=16; $(./oclHashcat64.bin --version | sed 's/\.//g')" | bc)" | dd of=oclHashcat.restore conv=notrunc
$ sed -i "s/oclHashcat-[\.0-9]*/oclHashcat-$(./oclHashcat64.bin --version)/g" oclHashcat.restore
[/code]
#7
The problem is that when you are running some (mingw etc) shell commands, you need to know what they do...
For example, if you want to modify the file "att5.restore" then you shouldn't touch the "oclHashcat.restore" file.

The commands I posted were just examples shell commands and of course you need to adjust them to your needs, i.e. when you want to reuse "att5.restore" you need to modify that specific one (and *not* other files).

So, what you should do next is:
1. check if there is a file called att5.restore
2. backup it
3. use a text-editor at your choice to edit it

(Only) if the file att5.restore is present, you may also succeed to do it like this:
(Again, this are some commands that you only should run if you know what they do, if you understood the problem - i.e. what we need to change w/ the .restore file - and you did double check that the correct files are being modified by those commands)
Code:
$ cp att5.restore att5_bak.restore # create backup of restore file
$ printf "\x$(echo "obase=16; $(./oclHashcat64.bin --version | sed 's/\.//g')" | bc)" | dd of=att5.restore conv=notrunc
$ sed -i "s/oclHashcat-[\.0-9]*/oclHashcat-$(./oclHashcat64.bin --version)/g" att5.restore


and yes, you can use mingw to edit the files, but should afterwards run the restore command as you used to do (e.g. w/ cmd or gui), since w/ mingw you could have problems w/ key hits and/or paths (mingw uses a different path scheme e.g. /home/cygdrive/c/... )