I found I needed this little utility that can do a known plaintext decryption of encrypted zip files. The ebuild for my system was simple enough, so I figured I'd submit it. Reproducible: Always Steps to Reproduce:
Created attachment 49391 [details] ebuild, app-crypt/pkcrack-1.2.2
Created attachment 50434 [details] pkcrack-1.2.2.ebuild This fails its self test pretty spectacularly.SEG faults and all. make -C ../src make[1]: Entering directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' ./test.sh crypt.zip plain.zip appnote.txt ../doc/appnote.iz.txt a ./test.sh: line 25: 1404 Segmentation fault ../src/pkcrack -C $1 -P $2 -c $3 -p $4 -d /dev/null >$output 2>&1 ./test.sh crypt.zip plain.zip appnote2.txt ../doc/appnote.iz.txt ar ./test.sh: line 25: 1418 Segmentation fault ../src/pkcrack -C $1 -P $2 -c $3 -p $4 -d /dev/null >$output 2>&1 ./test.sh crypt.zip plain.zip appnote3.txt ../doc/appnote.iz.txt arg ./test.sh crypt.zip plain.zip ../doc/appnote.iz.txt \ ../doc/appnote.iz.txt argh ./test.sh: line 25: 1473 Segmentation fault ../src/pkcrack -C $1 -P $2 -c $3 -p $4 -d /dev/null >$output 2>&1 ./test.sh crypt.zip plain.zip appnote5.txt ../doc/appnote.iz.txt aargh ./test.sh: line 25: 1483 Segmentation fault ../src/pkcrack -C $1 -P $2 -c $3 -p $4 -d /dev/null >$output 2>&1 ./test.sh crypt.zip plain.zip appnote6.txt ../doc/appnote.iz.txt aarrgh ./test.sh: line 25: 1557 Segmentation fault ../src/pkcrack -C $1 -P $2 -c $3 -p $4 -d /dev/null >$output 2>&1 ./test.sh crypt.zip plain.zip appnote7.txt ../doc/appnote.iz.txt aarrggh ./test.sh: line 25: 1581 Segmentation fault ../src/pkcrack -C $1 -P $2 -c $3 -p $4 -d /dev/null >$output 2>&1 ./test.sh crypt.zip plain.zip appnote8.txt ../doc/appnote.iz.txt \ aarrgghh ./test.sh: line 25: 1606 Segmentation fault ../src/pkcrack -C $1 -P $2 -c $3 -p $4 -d /dev/null >$output 2>&1 make -C ../src make[1]: Entering directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' ../src/zipdecrypt `../src/makekey aargh` crypt.zip newplain.zip || \ /bin/true Decrypting ../doc/appnote.iz.txt (d136906d04463fdd30972ff9)... FAILED?! Decrypting appnote.txt (fdf4a82896168f49542534a8)... FAILED?! Decrypting appnote2.txt (c47ec0333cf8a3daebef70d7)... FAILED?! Decrypting appnote3.txt (2fe74439ec275d63e74acf00)... FAILED?! Decrypting appnote4.txt (b92436fc8e81ff5a5d75dcf8)... FAILED?! Decrypting appnote5.txt (6498bc379279048fb6e038af)... OK! Decrypting appnote6.txt (7fa939a540bafd02dc78e8aa)... FAILED?! Decrypting appnote7.txt (158cf67fa7155a441ab748da)... FAILED?! Decrypting appnote8.txt (3b2983ef12bf00b0621fc613)... FAILED?! unzip newplain.zip appnote5.txt Archive: newplain.zip inflating: appnote5.txt diff appnote5.txt ../doc/appnote.iz.txt rm -f appnote5.txt newplain.zip make -C ../src make[1]: Entering directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' for i in willi fritz wunshwald eon argle bargle chick whatever \ how many tests shall I make; do \ echo Testing $i...; \ keys="`../src/makekey $i`"; \ test `../src/findkey $keys 2>&1 | grep -c "as a string.*'$i'"` -gt 0; \ done Testing willi... Testing fritz... Testing wunshwald... Testing eon... Testing argle... Testing bargle... Testing chick... Testing whatever... Testing how... Testing many... Testing tests... Testing shall... Testing I... Testing make... make -C ../src make[1]: Entering directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/var/tmp/portage/pkcrack-1.2.2/work/pkcrack-1.2.2/src' ../src/extract -p plain.zip README diff ../doc/README README rm -f README bash-2.05b$ emerge info Portage 2.0.51-r15 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(tm) XP 1900+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Oct 24 2004, 08:06:09)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.7.9-r1, 1.6.3, 1.4_p6, 1.9.4, 1.8.5-r3 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-pipe" CHOST="i686-pc-linux-gnu"
won't add until segfault are fixed.