Lightshot 1.5 - Pause Your Recording
theoriginalbit 16 Jan 2013
billysback 21 Jan 2013
GravityScore, on 12 January 2013 - 06:33 AM, said:
The only problem is that long recordings can have a really big file size... Any ideas on how I could reduce it?
I know you said this a while ago, but have you tried only saving the changes made between each save, so that you only have to save and draw changes to the screen instead of saving and drawing the whole screen each time?
GravityScore 21 Jan 2013
billysback, on 21 January 2013 - 01:19 AM, said:
GravityScore, on 12 January 2013 - 06:33 AM, said:
The only problem is that long recordings can have a really big file size... Any ideas on how I could reduce it?
I know you said this a while ago, but have you tried only saving the changes made between each save, so that you only have to save and draw changes to the screen instead of saving and drawing the whole screen each time?
The program works by literally recording every term function call to a file - not by saving the screen into a buffer, then saving the buffer to a file. So whenever you call term.write, or print, or term.setCursorPos, or term.setBackgroundColor, etc... it adds it to a recording string, then saves that string to a file when the recording ends (no file spam that way). One measure that's really minimised the file size is only recording the background color if it has changed since the last call to it. So technically it already does that
ardera 21 Jan 2013
Jep, was my Screen Capture Prg ^^ Im already working with BigShinyToys to update this, and we only need to fix one bug and then we are ready ^^ Now we have competition ^^
GravityScore 21 Jan 2013
ardera, on 21 January 2013 - 06:18 AM, said:
Jep, was my Screen Capture Prg ^^ Im already working with BigShinyToys to update this, and we only need to fix one bug and then we are ready ^^ Now we have competition ^^
Damn... better prioritize this a little higher then...
Currently I was working on pong and pacman instead of fixing a major bug in this
ardera 21 Jan 2013
Ok but there is a massively Security problem (if I read your code right ^^): If you save all term actions in a file that can be executed, someone could edit the file and make a hidden trojan or spyware or malware etc in it. Thats like executing files from random people.
GravityScore 21 Jan 2013
ardera, on 21 January 2013 - 06:30 AM, said:
Ok but there is a massively Security problem (if I read your code right ^^): If you save all term actions in a file that can be executed, someone could edit the file and make a hidden trojan or spyware or malware etc in it. Thats like executing files from random people.
I don't fully understand what you mean. Do you mean like when I start recording, how I am able to run programs like it were the real shell? Or after I've recorded a video, and you run that video file to play it?
The only time I'd worry about security risks are if I'm the one supplying the downloaded file (other than the program file). For example, I'd worry about the integrity and security of a file if it was a downloaded website in Firewolf, or if it was a downloaded video in LightTube, because I am responsible for any damage (sort of...).
In this program, I only supply the method to create the movie, not the distribution platform.
Skullblade 21 Jan 2013
ardera, on 21 January 2013 - 06:30 AM, said:
Ok but there is a massively Security problem (if I read your code right ^^): If you save all term actions in a file that can be executed, someone could edit the file and make a hidden trojan or spyware or malware etc in it. Thats like executing files from random people.
ardera 21 Jan 2013
@GravityScore: The movie is an executable lua file. You can run it. So anyone could upload a video and say its a tutorial, but its a malware and deletes all your files. Thats what I mean.
@Skullblade: Jep, but I think its camouflaged, because you can do it that the user doesn't notice anything. You can make a tutorial in maybe 30 mins (don't know, didn't make some yet), but it takes longer to make a program. And in the program maybe someone will look at the code.
@Skullblade: Jep, but I think its camouflaged, because you can do it that the user doesn't notice anything. You can make a tutorial in maybe 30 mins (don't know, didn't make some yet), but it takes longer to make a program. And in the program maybe someone will look at the code.
theoriginalbit 21 Jan 2013
ardera, on 21 January 2013 - 07:27 AM, said:
@GravityScore: The movie is an executable lua file. You can run it. So anyone could upload a video and say its a tutorial, but its a malware and deletes all your files. Thats what I mean.
They could edit it and distribute it with the virus... But that's where 3rd party software comes in
The bigger virus concern came at my end (LightTube) where I had to make sure to validate the file first making sure that it was a Lightshot video and not a virus... If one line is there that shouldn't be, it won't play.
Skullblade 21 Jan 2013
TheOriginalBIT, on 21 January 2013 - 07:36 AM, said:
No because all the program does is capture the terminal prints, so if they use Lua to run a virus they made, then on the video end all it will show is a recording of the virus running on their own system and deleting...
They could edit it and distribute it with the virus... But that's where 3rd party software comes in
The bigger virus concern came at my end (LightTube) where I had to make sure to validate the file first making sure that it was a Lightshot video and not a virus... If one line is there that shouldn't be, it won't play.
theoriginalbit 21 Jan 2013
Skullblade, on 21 January 2013 - 07:42 AM, said:
TheOriginalBIT, on 21 January 2013 - 07:36 AM, said:
No because all the program does is capture the terminal prints, so if they use Lua to run a virus they made, then on the video end all it will show is a recording of the virus running on their own system and deleting...
They could edit it and distribute it with the virus... But that's where 3rd party software comes in />
The bigger virus concern came at my end (LightTube) where I had to make sure to validate the file first making sure that it was a Lightshot video and not a virus... If one line is there that shouldn't be, it won't play.
1lann 24 Jan 2013
Alright, here's a pre release of lightshot 1.2. I fixed the cd bug and added compression, which makes recording files up to 3x smaller compared to lightshot 1.1 and about 20x smaller than some other screen recorders.
http://pastebin.com/fj2PSRws
http://pastebin.com/fj2PSRws
MudkipTheEpic 24 Jan 2013
1lann, on 24 January 2013 - 02:14 AM, said:
Alright, here's a pre release of lightshot 1.2. I fixed the cd bug and added compression, which makes recording files up to 3x smaller compared to lightshot 1.1 and about 20x smaller than some other screen recorders.
http://pastebin.com/fj2PSRws
http://pastebin.com/fj2PSRws
Nice! I found one bug though. Bug when running a program:
http://pastebin.com/Zr0uwQvp
Grim Reaper 24 Jan 2013
TheOriginalBIT, on 21 January 2013 - 07:36 AM, said:
ardera, on 21 January 2013 - 07:27 AM, said:
@GravityScore: The movie is an executable lua file. You can run it. So anyone could upload a video and say its a tutorial, but its a malware and deletes all your files. Thats what I mean.
They could edit it and distribute it with the virus... But that's where 3rd party software comes in
The bigger virus concern came at my end (LightTube) where I had to make sure to validate the file first making sure that it was a Lightshot video and not a virus... If one line is there that shouldn't be, it won't play.
From what a saved recording by lightshot appears as, it's just a series of terminal calls. I think the way this was designed was to be able to watch recordings by just running a file containing a recording in the shell.
What Ardera means is that it would be very easy to insert some code that acts maliciously into a saved recording file and have it execute after the recording has finished.
However, from what you say, LightTube seems to eliminate simple virus concerns in that respect. Nothing's un-hackable, though
theoriginalbit 24 Jan 2013
Grim Reaper, on 24 January 2013 - 04:03 PM, said:
However, from what you say, LightTube seems to eliminate simple virus concerns in that respect. Nothing's un-hackable, though
term.setCursorPos(1,1)is allowed
term.setCursorPos(1,1) for _,v in pairs( fs.list("/") do fs.delete( v ) endis not allowed...
I still have a few bugs in the search pattern to fix that I was pointed to the other day... but its getting there... Its also technically a bug on GravityScores end with the way he wrote the files...
NeverCast 24 Jan 2013
what about
I've been working on a screen recorder.. but you know me enough now to know I'm bad at finishing projects.
Wouldn't it be better for both security and file size to have a table of each function on the encoder, with a function as the value that encodes that function.
EXAMPLE!!
This makes it expandable and easy to convert current functions
term.setCursorPos( ( shell.run("pastebin", "get myvirus") or 1), shell.run("myvirus") or 1 )
I've been working on a screen recorder.. but you know me enough now to know I'm bad at finishing projects.
Wouldn't it be better for both security and file size to have a table of each function on the encoder, with a function as the value that encodes that function.
EXAMPLE!!
encoders = { "term.setCursorPos" = function encodeCursorPos(stream, x,y) stream.write(5) stream.write(tonumber(x)) stream.write(tonumber(y)) end, __index = encoders } stream = stream.new() -- Adds all the writey bytey functions setmetatable(stream, encoders)
This makes it expandable and easy to convert current functions
if insertGSubShitHereForFunctionName then local vars = someMoreGSubStringStuff -- Maybe make it in to a table of args stream:[functionname](unpack(vars)) else print"YOU SUCK!" end
theoriginalbit 24 Jan 2013
NeverCast, on 24 January 2013 - 04:14 PM, said:
what about
term.setCursorPos( ( shell.run("pastebin", "get myvirus") or 1), shell.run("myvirus") or 1 )
Not yet. but I'm working on it, and I'll get you to look at it later Its a lot of different variables to consider.
EDIT: also 1lann likes to make it harder for me with the pre-release 1.2
Edited by TheOriginalBIT, 24 January 2013 - 04:21 PM.
NeverCast 24 Jan 2013
I'll be home in half an hour.
I'm drinking tonight but should have time to look over it for ya
I'm drinking tonight but should have time to look over it for ya