Lynda-Decryptor
Lynda-Decryptor copied to clipboard
Same Name, overwrite - incomplete downloads
First of all, Thank you for this amazing tool..
Second.. I have a folder with about 350 gig of .lynda files in it (on a laptop 760gig drive)
and i'm not even close to being done.. lol .. but I freed up a 1 TB, copied everything over & SQLite file..
(from what i have read, it looks like they changed things up).. i have been holding these files for a couple months.. this project got put on hold.. i also saved a copy of the extracted Desktop App that I can use without using the download one everytime.. so i do have an old(er) version if that matters.
background.. 16yrs PHP and all front-end tech, Python, VB.NET, some C++.. the only C# is changing existing scripts, never studied it tho.. (which came in handy here)..
i am running from a batch file, here it is:
thanksLynda.bat (lol)
@ECHO OFF
PUSHD "D:\d"
ECHO Current dir: "%CD%"
LyndaDecryptor /D "D:\ldc_courses" /OUT "D:\ldc_converted" /DB "D:\db\db.sqlite"
PAUSE
PUSHD "D:\"
so let me begin with 2 or 3 problems I have found:
(I am compiling w/ Visual Studio Enterprise 2015)
* Yes, there are names that are the same, as i found out the hard way

as you can see, what I did was add,
* Decryptor.cs *
var courseID = "[" + CleanPath(videoInfo.CourseID) + "]";
newPath = Path.Combine(OutputDirectory.FullName, courseID + "___" + CleanPath(videoInfo.CourseTitle), ....
(for simpleTitle & complexTitle)
I found this out because I was seeing the:
[DEC] File " + decryptedFilePath + " exists already but seems to differ in size...
so i added some Console.ReadKey(); and i kept deleting the done ones, then made a test folder & ran from there, narrowed it down. but honestly it has made it easier for me to also have the CourseID (as I have ALOT of videos & I wanna keep track)
that fixed that issue.. :+1:
* I know some of the courses haven't finished downloading yet, (maybe 5%), (sorry, i know..)
i am on a different 8 core sooo.. trying to make due without restarting downloading and finishing all of them yet. I downloaded these on my programming machine and if your like me, you run outta room very quickly.
the next problem is:

System.ArgumentException: Illegal characters in path.
it's as close to the root path as I can get, no spaces in path names, the names from Lynda should be safe, so I don't get it.. i am not sure if once the program gets to a folder that hasn't been downloaded all the way, if that's what creates the error?
But I have been stumped.. I have tried looking up C# - ArgumentException, Exceptions.. if you seen what my code is turning into, you would laugh at me.. I have tried all these (together)
WriteToConsole("[TJ01] e.ToString: " + e.ToString() + Environment.NewLine + Environment.NewLine, ConsoleColor.Red);
WriteToConsole("[TJ02] e.Message: " + e.Message + Environment.NewLine + Environment.NewLine, ConsoleColor.Red);
WriteToConsole("[TJ03] e.Source.ToString: " + e.Source.ToString() + Environment.NewLine + Environment.NewLine, ConsoleColor.Red);
throw new Exception(e.Message);
So to summarize.. I am not sure if this error is caused from half downloaded files (which by the way I been running the program, removing the folder of the CourseID it fails at, then re-run.. done that 20 or so times so far) or if there is a possibility of some illegal character in the path or filename, but I noticed you created a function for that CleanPath( ) and Decryptor( ) => InvalidPathCharacters function, but i doubt that is what it is..
How or what code can I add to "step over" unfinished download and/or path character error ??
any help would be greatly appreciated.. or if anyone experienced anything similar ?
Just as an update.. thank you for all the overwhelming comments.. 👎 I fixed all my own issues.. and continued on for an amazing 680GIG of awesomeness.. now i study all the time.
just one question for the author.. how did you come up with the key? i tried changing 1 semicolon to a period and that rendered the video useless.. so however you did it, its THE only one that would work.. my question is how did you come across that?
You need to reverse-engineer the official client, and it's found inside. Similarly, one can tell that a hash of the video number is used to get the caption filename.
(finally someone exists.. lol).. Thank you.. I will have to remember that.. and that sounds about right about looking inside.. I'm surprised when they push an update they dont change it. thanks again..
@Dev-iL , 📫
Thanks for the reply.. its been awhile.. been programming & learning.
Anyways, a year later I needed this again & i wanted to read my old issue so its easier to make changes to the newer ver. & I remember the key I asked about.. I thought there was another way.. so i glanced.. low & behold
DesktopLdc -> Lynda -> Resources -> Settings
I dont want to list it here, 'someone', from 'somewhere' might be doing a huge elastic search.. lol but it's separated into 2 parts.. I was asking before in case it changed & the author disappeared.. I see he hasn't updated the new extension..
What do you think the APP_KEY & the SECRET_KEY are for? anything useful? 😜