yDec is a small application which extracts yEncoded binaries
from a file and writes them to the harddisk.
The Windows version is is a console program - and can be also used with drag and drop.
The program - and sourcecode - are public domain - and have been ported also to other operating systems.
Non-technical users want to use instead the "TyDecoder" or "yEnc32" (all freeware) from: http://www.yenc32.com
Spaces are not permitted in the directory.
If you are using the Commandline tool YDEC.EXE for Windows
then use a temporary directory which does NOT have spaces in the
Dont use: c:\own files
yDec leaves empty xxxx.dec files on disk after multipart decoding
After decoding a multipart the file "xxxx.dec" stays there with a size of zero bytes. This has been done intentionally - but will be fixed.
Illegal filenames in a yEncoded message (containing colons and
backslashes) prevent yDec from decoding the file.
However you could still open the message (or the first message of a multipart) with Wordpad and change the filename manually.
yDec can also be used with 'Drag and Drop' on Windows: You can simply click ONE stored message file and drag it to the yEnc.exe. You can also create a shortcut for yDec on your desktop and drag a message file to that icon. The decoded binaries will still be stored at the location where the message file comes from! Dont try to drag multiple messages to yDec. It does not work.
If you receive a multipart message which is yEncoded then you have two choices:
If the decoding can be completed without problems then the binary is written to the directory and an empty file with such a filename: orid-filename.ext(123456).dec are created. You can use the written file and remove the 'dec' file.
If yDec detects multipart messages then it instantly creates the FULL file - even if parts are missing. If (for example) the file: music.mp3 comes in 10 parts and the yDecoder finds one of them (not necessarily the first one) then it creates two temporary files:
music.mp3(1234567).tmp - and - music.mp3(1234567).dec
(The number is the size of the file). The first file is the temporary file which contains already the first part (and the rest is filled with 0xFF - decimal 255 - numbers). The second file is the information which bytes are still missed! As long as the extension of filename is (1234567).tmp as long the file is not yet complete! Perhaps some parts were corrupt - or simply not there.
If you are missing parts then you can get them later - and store them to your decoder directory. Then start yDec again on these new parts. The decoder will _automatically_ detect that additional parts are there - and insert them into the temporary file. As soon as the file gets complete the DEC file is empty and the TMP filename is changed to the real filename.
You should _never_ edit the DEC-file manually. This will simply cause problems.
Possible problem: If someone reposts a different
binary under the identical name with the identical size then the
decoder might fail !
If someone reposts the identical binary but in different part sizes then yDec is able to fill whatever is still necessary.
If yDec is decoding a binary and its filename is already used - because there is still another file with that name - then it does NOT overwrite the old file. It issues a warning. Be sure to remove decoded files (and the message-files) after a job is done.
If you want to see all the details of the running decoder then you can use the commandline switch /a:
|yDec msg1.txt /a||Decodes the message and shows all output in the DOS window|
|yDec *.txt /a||Decodes all the files with the extension *.txt|
|yDec *.txt /a | more||Decodes everything and permits paging in the results|
|yDec *.txt /a > log.txt
|Docdes everything and writes the progress to the
The EDIT command allows to review the results.
For questions about yDec and yEncoding feel free to contact me: firstname.lastname@example.org
Portation to other OS is highly appreciated !
Feel free to improve yDec - with a windows desktop or otherwise.
yDec is creating a DEC file which contains info about missing sections while decoding a multipart. Here an example for better understanding:
If a binary with the size 200000 bytes is posted as a multipart then the DEC file contains just this one line:
This indicates that the bytes 1-200000 are not present.
If now one part is properly decoded which contains the bytes [5001-10000] then the DEC file is changed to:
If now the 'first' part which contains the bytes [1-5000] is found the the DEC file is changed to:
As soon as all parts are found the DEC file is empty.
As long as an empty DEC file is present no more parts for this filename will be decoded.
This allows decoding of multiparts in several steps (even next day).
If someone wants to start decoding of all parts again then he has to remove the temporary file and the DEC file and start the decoder again.
Jürgen Helbing - 10.June 2002