HP DV7 - large screen and hardware virtualization support. Evidently enough people complained that it was permanently disable in old BIOS. It's now supported on at least some of their products:
http://www.shopping.hp.com/webapp/shopping/computer_can_series.do?storeName=computer_store&category=notebooks&a1=Intel+processors&v1=Intel+2nd+gen+Core&a2=Screen+size&v2=Over+16.9&a3=Category&v3=High+performance&series_name=dv7tqe_series&jumpid=in_R329_prodexp/hhoslp/psg/notebooks/Intel_2nd_gen_Core/dv7tqe_series
Indications that they're starting to unlock this feature in their bios:
http://h30434.www3.hp.com/t5/Notebook-Hardware/Enabling-Hardware-Virtualization/td-p/691835
Atheros N card for ath9k so hostapd etc work:
http://www.ebay.com/itm/JJPLUS-MR9-Atheros-AR9160-802-11N-ABG-500mW-Minipci-3x3-MIMO-MA25MP1-/190589728742?pt=LH_DefaultDomain_0&hash=item2c600877e6
All in all, a relatively cheap rig all things considered...
Thursday, February 16, 2012
Saturday, January 28, 2012
Getting screen recording to sort of work on ubuntu latest
I'm writing this down for you as much as me. I recently had gtk-record get in a serious fight with mencoder and ffmpeg. FFmpeg never parsed swscaler properly for me. So my initial response was to use mencoder to reindex the file then use the great ffmpeg tool to do all the transcoding. Recently, something got borked during an upgrade and now the frame-rate gets messed up during mencoder reindexing, so the video component plays in fast-forward.
My solution was to take ALL of the transcoding I could out of the hands of automated tools and do it manually. So the flow looks something like this:
Record with ffmpeg x11grab
Record audio separately with sound recorder(not the best tool, but it works. I probably would have had better results if I had just used alsa as a capture device)
Generate silence with sox if required.
Join audio files and transcode with sox as required.
Combine streams with ffmpeg.
Re-encode once there is no cross codec witchery. <== I could have done this better by fixing the resolution at capture and using alsa as my audio capture device...
Finished.
So recording with x11grab:
I have a multimonitor system and I only record on monitor three so my ffmpeg line looks something like -
ffmpeg -f x11grab -s 1600*900 -sameq -r 25 -i :0.0+3200,0 test.mp4
Using soundrecorder is pretty obvious.
Silence with sox that gets along with soundrecorder was accomplished like so -
sox -n -c 2 -r 44100 silence.mp3 trim 0.0 25
25 being number of seconds 44100 being the expected bitrate of soundrecord and set to 2 channel.
Joining being accomplished by sox -
sox partc1.mp3 silence.mp3 partc2.mp3 full.mp3
AAC transcoding being accomplished like so -
ffmpeg -i full.mp3 -acodec aac -ab 128 full.aac
Combining of streams being accomplished like so -
ffmpeg -i test.mp4 -map 0:0 -vcodec copy -i full.aac -map 1:0 intermediate.mp4
Correcting resolution could have been accomplished in the last step, but I did it separately -
ffmpeg -i intermediate.mp4 -vf scale=1280:720 -sameq final.mp4
And now we have a procedure that works and doesn't crash or complain. I used to use kdenlive, but it has gotten more instead of less buggy for me. When you can't get a tool to work properly, I go to manual steps.
So, there you go... It works, preserves a decent amount of quality, and bypasses a lot of the transcoding hell that generates issues.
My solution was to take ALL of the transcoding I could out of the hands of automated tools and do it manually. So the flow looks something like this:
Record with ffmpeg x11grab
Record audio separately with sound recorder(not the best tool, but it works. I probably would have had better results if I had just used alsa as a capture device)
Generate silence with sox if required.
Join audio files and transcode with sox as required.
Combine streams with ffmpeg.
Re-encode once there is no cross codec witchery. <== I could have done this better by fixing the resolution at capture and using alsa as my audio capture device...
Finished.
So recording with x11grab:
I have a multimonitor system and I only record on monitor three so my ffmpeg line looks something like -
ffmpeg -f x11grab -s 1600*900 -sameq -r 25 -i :0.0+3200,0 test.mp4
Using soundrecorder is pretty obvious.
Silence with sox that gets along with soundrecorder was accomplished like so -
sox -n -c 2 -r 44100 silence.mp3 trim 0.0 25
25 being number of seconds 44100 being the expected bitrate of soundrecord and set to 2 channel.
Joining being accomplished by sox -
sox partc1.mp3 silence.mp3 partc2.mp3 full.mp3
AAC transcoding being accomplished like so -
ffmpeg -i full.mp3 -acodec aac -ab 128 full.aac
Combining of streams being accomplished like so -
ffmpeg -i test.mp4 -map 0:0 -vcodec copy -i full.aac -map 1:0 intermediate.mp4
Correcting resolution could have been accomplished in the last step, but I did it separately -
ffmpeg -i intermediate.mp4 -vf scale=1280:720 -sameq final.mp4
And now we have a procedure that works and doesn't crash or complain. I used to use kdenlive, but it has gotten more instead of less buggy for me. When you can't get a tool to work properly, I go to manual steps.
So, there you go... It works, preserves a decent amount of quality, and bypasses a lot of the transcoding hell that generates issues.
Wednesday, December 7, 2011
So here we go...
I couldn't find a built-in API to do this in Idapython. All the built-ins required that the DLL was loaded by an executable. For my purposes, that wasn't an option. So if you want DLL base address on just the DLL disassembled in IDA, you have to pull in Segments() and just get the lowest one, or index [0]. That's how I did it anyway. Code on github shortly...
Thursday, June 2, 2011
Monday, May 23, 2011
Just won a wireless challenge over on securitytube.
It was more of a python scripting challenge than a wireless challenge. Wep ~= ARC4. So the test case was more...well you take my point. Original challenge: http://www.securitytube.net/video/1884 Solution: http://www.securitytube.net/video/1900
Tuesday, May 3, 2011
Darn I need a job...
Anybody reading the blog that has leads on remote contracting opportunities please let me know...on a side note newegg has a pretty awesome chunk of hardware for under $300 here: http://www.newegg.com/Product/ComboBundleDetails.aspx?ItemList=Combo.639044&cm_sp=ShellShocker-_-639044-_-05032011 . If you don't make the deadline, I bought two...send me a mail and I'll see what I can do.
Oh and to add a little 'flair'

Oh and to add a little 'flair'
Wednesday, April 27, 2011
Just a note for people that read the blog and view securitytube...
If you get the code from exploitdb or packetstorm from my recent tutorial, you can bypass that huge ulimit requirement by removing all instances of " +\n\t\t". It makes a lot of editors cry though, so you have been warned. I just didn't want it to get abused by a bunch of skiddies. It also makes the file get generated a LOT faster. Okay, just thought I should let people know that it was on purpose. I think I even noted in the video or exploit code that there were things I "could have done better". This is one of them.
Friday, March 4, 2011
I recently did a basic windbg primer to break people in to windbg...
I brought up python integration with .shell () | | |...On the other hand, if you're comfortable without a gui: http://pykd.codeplex.com/ is AWESOME. Website is in Russian and I haven't tested the code yet, but think pydbg on steroids + kernel debugging. Nastiness ensues. U <3 the Russian programmer that did this...if it works. I'll check in the morning.
Wednesday, March 2, 2011
New tutorial on vimeo...windbg primer...and i do mean primer
Some very basic commands and making it look a bit more like immdbg for ppl that are used to immunity: http://vimeo.com/20579592
Tuesday, February 22, 2011
New modifications to my code on github
The video on Vimeo will be available at: http://vimeo.com/20256351 if the conversion goes properly. I'll edit to include my conversion options as the output file was TINY by comparison to other videos and still great resolution. We'll see...more to follow on that part.
Securitytube link goes here(when it's approved)
Note: I really appreciate securitytube linking to me. They are responsibly for most of my traffic at the moment.
The code is available at github. aking1012/bindiff-ruby
Thanks for reading. Hope you enjoy it.
Securitytube link goes here(when it's approved)
Note: I really appreciate securitytube linking to me. They are responsibly for most of my traffic at the moment.
The code is available at github. aking1012/bindiff-ruby
Thanks for reading. Hope you enjoy it.
Saturday, February 19, 2011
Ruby for hackers code snippet 2, the bindump class
#!/usr/bin/env ruby
#Class file for ruby function and basic block importing from immunity dumps.
#I may add conversion of the vcg files to dot files and some basic block
#highlighting.
class Bindump
@organized = Array.new
def initialize(filename)
funclist = Array.new
funclist.push("Start address","End address","Content array")
afunc = Array.new
afunc.push("Start address block","End address","Content array")
abb = Array.new
som = "" #not implemented
sof = ""
eof = ""
sob = ""
eob = ""
eom = ""
newf = false
newbb = false
File.open(filename).each { |line|
line.chomp!
#parse for start of binary address
#not implemented
#parse for start of function
if ( line.index('sof')!=nil )
temparray = line.split(':')
sof = temparray[1]
#parse for end of function
elsif ( line.index('eof')!=nil )
temparray = line.split(':')
eof = temparray[1]
newf = true
#parse for start of basic block
elsif ( line.index('BBS')!=nil )
temparray = line.split(':')
sob = temparray[1]
#parse for end of basic block
elsif ( line.index('BBE')!=nil )
temparray = line.split(':')
eob = temparray[1]
newbb = true
#if we get here it's either junk or basic block instructions
#trailing junk is okay, leading junk is not
else
abb.push(line)
end
#check if a basic block is ready
if (newbb == true)
#add our blocks to the function
afunc.push(sob, eob, abb)
#clear the array
abb = Array.new
abb.push("Start address block","End address","Content array")
#set new block
newbb = false
#add the basic block to the function
elsif (newf == true)
#check if a func is ready
funclist.push(sof, eof, afunc)
#clear the array
afunc = Array.new
afunc.push("Start address block","End address","Content array")
#set new func
newf = false
end
}
#fileread just ended
#copy it out of private to instance
@organized = funclist
end
#init just ended
def getorganized
return @organized
end
def funccount
return ((@organized.length)/3-1)
end
def bbcount(funcnum)
startadd, endadd, allblocks = funcbynum(1)
return (allblocks.length/3-1)
end
def funcbynum(funcnum)
funcnum = funcnum
startadd = @organized[funcnum]
endadd = @organized[funcnum+1]
function = @organized[funcnum+2]
return startadd, endadd, function
end
def bbgetbynum(funcnum, bbnum)
bbnum = bbnum
startadd, endadd, data = funcbynum(funcnum)
startadd = data[bbnum]
endaddadd = data[bbnum+1]
assembly = data[bbnum+2]
return startadd, endadd, assembly
end
end
#end of bindump class
#Start of on execute
begin
if __FILE__ == $0
test = Bindump.new('immdump.old')
puts "The assembled array looks like this"
p test.getorganized
puts "Number of functions is"
puts test.funccount
puts "We get a function like this funcbynum(1) which returns"
startadd, endadd, basicblocks = test.funcbynum(1)
puts "The start address: " + startadd
puts "The end address: " + endadd
puts "The entire function with extra data: "
puts basicblocks
puts "The first function has this many basic blocks"
puts test.bbcount(1)
puts "The contents of the first function's first basic block are"
startdadd, endadd, code = test.bbgetbynum(1,1)
puts code
puts "The start address is: " + startadd
puts "The end address is: " + endadd
puts "Okay, so does the example make sense?"
end
end
#Class file for ruby function and basic block importing from immunity dumps.
#I may add conversion of the vcg files to dot files and some basic block
#highlighting.
class Bindump
@organized = Array.new
def initialize(filename)
funclist = Array.new
funclist.push("Start address","End address","Content array")
afunc = Array.new
afunc.push("Start address block","End address","Content array")
abb = Array.new
som = "" #not implemented
sof = ""
eof = ""
sob = ""
eob = ""
eom = ""
newf = false
newbb = false
File.open(filename).each { |line|
line.chomp!
#parse for start of binary address
#not implemented
#parse for start of function
if ( line.index('sof')!=nil )
temparray = line.split(':')
sof = temparray[1]
#parse for end of function
elsif ( line.index('eof')!=nil )
temparray = line.split(':')
eof = temparray[1]
newf = true
#parse for start of basic block
elsif ( line.index('BBS')!=nil )
temparray = line.split(':')
sob = temparray[1]
#parse for end of basic block
elsif ( line.index('BBE')!=nil )
temparray = line.split(':')
eob = temparray[1]
newbb = true
#if we get here it's either junk or basic block instructions
#trailing junk is okay, leading junk is not
else
abb.push(line)
end
#check if a basic block is ready
if (newbb == true)
#add our blocks to the function
afunc.push(sob, eob, abb)
#clear the array
abb = Array.new
abb.push("Start address block","End address","Content array")
#set new block
newbb = false
#add the basic block to the function
elsif (newf == true)
#check if a func is ready
funclist.push(sof, eof, afunc)
#clear the array
afunc = Array.new
afunc.push("Start address block","End address","Content array")
#set new func
newf = false
end
}
#fileread just ended
#copy it out of private to instance
@organized = funclist
end
#init just ended
def getorganized
return @organized
end
def funccount
return ((@organized.length)/3-1)
end
def bbcount(funcnum)
startadd, endadd, allblocks = funcbynum(1)
return (allblocks.length/3-1)
end
def funcbynum(funcnum)
funcnum = funcnum
startadd = @organized[funcnum]
endadd = @organized[funcnum+1]
function = @organized[funcnum+2]
return startadd, endadd, function
end
def bbgetbynum(funcnum, bbnum)
bbnum = bbnum
startadd, endadd, data = funcbynum(funcnum)
startadd = data[bbnum]
endaddadd = data[bbnum+1]
assembly = data[bbnum+2]
return startadd, endadd, assembly
end
end
#end of bindump class
#Start of on execute
begin
if __FILE__ == $0
test = Bindump.new('immdump.old')
puts "The assembled array looks like this"
p test.getorganized
puts "Number of functions is"
puts test.funccount
puts "We get a function like this funcbynum(1) which returns"
startadd, endadd, basicblocks = test.funcbynum(1)
puts "The start address: " + startadd
puts "The end address: " + endadd
puts "The entire function with extra data: "
puts basicblocks
puts "The first function has this many basic blocks"
puts test.bbcount(1)
puts "The contents of the first function's first basic block are"
startdadd, endadd, code = test.bbgetbynum(1,1)
puts code
puts "The start address is: " + startadd
puts "The end address is: " + endadd
puts "Okay, so does the example make sense?"
end
end
Ep1Pt1 Ruby4Hackers - An Immunity Debugger connector and binary dumper
It is a little fuzzy. I can still read the pertinent code sections. We don't need to see the immdbg window in this tutorial, so the very blurry on that one is okay. Original ogv is available if requested (1440x900 and really sharp).
Link to vimeo: http://vimeo.com/20135554
On SecurityTube: http://www.securitytube.net/Ruby-for-Hackers-Ep1-Pt1-Getting-ready-to-write-our-own-Binary-Diffing-Engine-video.aspx
The securitytube link has a high res download available it you want to see the code.
When all parts of this tutorial are complete code may be available for download or posted on RCE. Most of following along with this part is getting the environment set up so the broad strokes are sorted out and working. In the next video we will move on to the actual binary diffing and seeing code more sharply will be critical.
The upload should be at 1280x720, but the re-encode to mp4 degrades the quality(and vimeo chokes on gtkrecordmydesktop ogv files because of the swscaler stream). For this reason I have to use ffmpeg to re-encode as mp4 with different bearer streams. Then next part will be sharper, I was just REALLY tired.
Link to vimeo: http://vimeo.com/20135554
On SecurityTube: http://www.securitytube.net/Ruby-for-Hackers-Ep1-Pt1-Getting-ready-to-write-our-own-Binary-Diffing-Engine-video.aspx
The securitytube link has a high res download available it you want to see the code.
When all parts of this tutorial are complete code may be available for download or posted on RCE. Most of following along with this part is getting the environment set up so the broad strokes are sorted out and working. In the next video we will move on to the actual binary diffing and seeing code more sharply will be critical.
The upload should be at 1280x720, but the re-encode to mp4 degrades the quality(and vimeo chokes on gtkrecordmydesktop ogv files because of the swscaler stream). For this reason I have to use ffmpeg to re-encode as mp4 with different bearer streams. Then next part will be sharper, I was just REALLY tired.
Thursday, February 17, 2011
So over on questions.securitytube.net a user named me asked about ImmDbg binary diffing and wanted a cut and paste plug-in.
This is not a cut and paste plugin, but it does dump function locations and addresses...
# bindiff PyCommand - (c) Andrew King
# TODO:
# - a LOT
# liberated some code from other scripts built by immunity.
# this arrangement, however, is mine.
import immlib
import immutils
import libdatatype
import getopt
from immlib import *
__VERSION__ = '0.la'
DESC = "A start on bindiff for immdbg"
ProgName = 'bindiff'
ProgVers = __VERSION__
def usage(imm):
imm.log("%s v%s aking1012 -> team notATeam : response to a question on questions.securitytube.net" % (ProgName, ProgVers),focus=1, highlight=1)
imm.log("!%s Runs through all function calls and dumps the basic blocks for binary diff-ing" % (NAME))
imm.log("usage !bindiff -i modulename")
imm.log("%s v%s aking1012 -> team notATeam : response to a question on questions.securitytube.net" % (ProgName, ProgVers),focus=1, highlight=1)
def main(args):
imm = Debugger()
include_pattern = exclude_pattern = None
try:
opts, args = getopt.getopt(args, "i:")
except getopt.GetoptError:
usage(imm)
return "Incorrect arguments (Check log window)"
for o, a in opts:
if o == "-i":
image_name = a
else:
usage(imm)
return "Incorrect arguments (Check log window)"
imm.markBegin()
module = imm.getModule( image_name )
modadd = module.getBase()
func_list = imm.getAllFunctions( modadd )
i=0
for f in func_list:
i=1+i
function=imm.getFunction(f)
sof = imm.getFunctionBegin(f)
imm.log("Start of function: %x - end " % (sof))
basicblocks = function.getBasicBlocks(f)
for bb in basicblocks:
imm.log(" basicblock duration: %x - end %x" % (bb.start,bb.end))
inst_set=bb.getInstructions(imm)
for inst in inst_set:
imm.log(" assembly: %s" % inst.result)
totaltime=imm.markEnd()
imm.log("Used time: %d seconds" % totaltime)
return "[*] Got'em."
# bindiff PyCommand - (c) Andrew King
# TODO:
# - a LOT
# liberated some code from other scripts built by immunity.
# this arrangement, however, is mine.
import immlib
import immutils
import libdatatype
import getopt
from immlib import *
__VERSION__ = '0.la'
DESC = "A start on bindiff for immdbg"
ProgName = 'bindiff'
ProgVers = __VERSION__
def usage(imm):
imm.log("%s v%s aking1012 -> team notATeam : response to a question on questions.securitytube.net" % (ProgName, ProgVers),focus=1, highlight=1)
imm.log("!%s Runs through all function calls and dumps the basic blocks for binary diff-ing" % (NAME))
imm.log("usage !bindiff -i modulename")
imm.log("%s v%s aking1012 -> team notATeam : response to a question on questions.securitytube.net" % (ProgName, ProgVers),focus=1, highlight=1)
def main(args):
imm = Debugger()
include_pattern = exclude_pattern = None
try:
opts, args = getopt.getopt(args, "i:")
except getopt.GetoptError:
usage(imm)
return "Incorrect arguments (Check log window)"
for o, a in opts:
if o == "-i":
image_name = a
else:
usage(imm)
return "Incorrect arguments (Check log window)"
imm.markBegin()
module = imm.getModule( image_name )
modadd = module.getBase()
func_list = imm.getAllFunctions( modadd )
i=0
for f in func_list:
i=1+i
function=imm.getFunction(f)
sof = imm.getFunctionBegin(f)
imm.log("Start of function: %x - end " % (sof))
basicblocks = function.getBasicBlocks(f)
for bb in basicblocks:
imm.log(" basicblock duration: %x - end %x" % (bb.start,bb.end))
inst_set=bb.getInstructions(imm)
for inst in inst_set:
imm.log(" assembly: %s" % inst.result)
totaltime=imm.markEnd()
imm.log("Used time: %d seconds" % totaltime)
return "[*] Got'em."
Tuesday, February 15, 2011
New video on vimeo
Approved on Securitytube.
Here's the link: http://www.securitytube.net/Exploit-Research-Megaprimer-Part-9-Guest-Lecture-by-Andrew-King-video.aspx
Link to vimeo: http://vimeo.com/19971212
It's a SEH Exploitation Tutorial video I made to help out Vivek with his Exploitation Megaprimer. Happy bug hunting.
Here's the link: http://www.securitytube.net/Exploit-Research-Megaprimer-Part-9-Guest-Lecture-by-Andrew-King-video.aspx
Link to vimeo: http://vimeo.com/19971212
It's a SEH Exploitation Tutorial video I made to help out Vivek with his Exploitation Megaprimer. Happy bug hunting.
Tuesday, February 8, 2011
Working with binary in ruby...without bit-struct etc
test = String.new
File.open('../data/sourcefile').each do |line|
#combine the strings into one long string
test = test + line
end
#get hex and binary representations of the file...
#no I am not easy on memory
testa = test.unpack('H*')
testb = test.unpack('B*')
#this is so we get the strings and can do substring stuff.
testc = testa[0]
testd = testb[0]
teste = Array.new
testf = Array.new
#in here i was testing how to set a single bit
p testd
p testd[0..7]
testd[7] = '0'
p testd
teste[0] = testc
testf[0] = testd
#and reverse the transform
testg = teste.pack('H*')
testh = testf.pack('B*')
#i tested it...oddly enough it preserves newlines and nulls
#even though my conversion was...lacking finesse
#but it's the easiest way i could find
p testg
p testh
-------------
Thinking if I wanted to add a single bit to the end of a binary string I could to a pack on a single 1 and add the strings together...Hmm, anyway. Using this snippet in a targeted fuzzer I am trying to put together. Need to make some conversion classes and the like, but you get the idea. That's all for now.
File.open('../data/sourcefile').each do |line|
#combine the strings into one long string
test = test + line
end
#get hex and binary representations of the file...
#no I am not easy on memory
testa = test.unpack('H*')
testb = test.unpack('B*')
#this is so we get the strings and can do substring stuff.
testc = testa[0]
testd = testb[0]
teste = Array.new
testf = Array.new
#in here i was testing how to set a single bit
p testd
p testd[0..7]
testd[7] = '0'
p testd
teste[0] = testc
testf[0] = testd
#and reverse the transform
testg = teste.pack('H*')
testh = testf.pack('B*')
#i tested it...oddly enough it preserves newlines and nulls
#even though my conversion was...lacking finesse
#but it's the easiest way i could find
p testg
p testh
-------------
Thinking if I wanted to add a single bit to the end of a binary string I could to a pack on a single 1 and add the strings together...Hmm, anyway. Using this snippet in a targeted fuzzer I am trying to put together. Need to make some conversion classes and the like, but you get the idea. That's all for now.
Monday, November 29, 2010
check out my current quandry on askubuntu...a stack base ubuntu help site
it's sort of answered. just looking into the scripting required to make it work in the way i want... http://askubuntu.com/q/15220/5768
Friday, October 22, 2010
Rails is sooo awesome....okay the shameless plug of a great product is out of the way
Reasons to like RoR:
1)UI is a web browser
2)No need to troubleshoot dependency snafus on so many platforms(think wxruby/gnome2/gtk/glade on: linux source/debianized/rpmed, windows 2000+xp/vista+7/server>=2k3, mac/other unix, etc)
-basic gems without compiled code inclusion should work universally
3)Many compiled code inclusions have been sorted out(and if they haven't commercial distributions should do this *think mac osx=fail* and users of free distributions should do this - i won't publicly because i use debianized and they are having a dick measuring contest with gem atm) NOTE: if my comment there was a little excessive or vulgar sorry, but it's how i feel, and if i need to kindergarten the language for somebody out there let me know at aking1012 _AAAA__tttTTtT_ amcomworks.com
4)Easy to package(minus debianized systems....looking into that)
-there is no reason i can think of that there shouldn't be a utility that says - gems containing .so files are compiled, compiled language gems need these symbols, these symbols are provided by x, check installed gems, check required symbols, check packages, check success or failure, warn about gems that debianized system y breaks
-there are paid debian devs...i am a full time student...just a thought
-debianized policy is that everything should be through synaptic...read no require 'gem' includes...screw portability
-my policy is that portability is master of the universe and the current debianized policy is an attempt at microsoft-like vendor lock-in bs or incredible density from at least one dev
-i may seek another distro soon, or fork ubuntu for ruby devs
-rvm is my current solution so i can hide from debianization when using ruby...if i weren't a full time student i would pay the rvm developer as much as i could afford in one shot because he is THE MAN
**steps off soapbox**
Reasons it's better than python:
see previous list
So, now that I am finished complaining....
Is rails just for web-applications? Not in my opinion. I would think it is obvious from my previous rant that I am using rails to develop end user applications to get around UI dependency difficulties. ruby2exe and some other tools provide a way to distribute ruby/rails/app all at once in a single binary to make sure everything works. Just my 2 cents for the day. Thanks for listening.
1)UI is a web browser
2)No need to troubleshoot dependency snafus on so many platforms(think wxruby/gnome2/gtk/glade on: linux source/debianized/rpmed, windows 2000+xp/vista+7/server>=2k3, mac/other unix, etc)
-basic gems without compiled code inclusion should work universally
3)Many compiled code inclusions have been sorted out(and if they haven't commercial distributions should do this *think mac osx=fail* and users of free distributions should do this - i won't publicly because i use debianized and they are having a dick measuring contest with gem atm) NOTE: if my comment there was a little excessive or vulgar sorry, but it's how i feel, and if i need to kindergarten the language for somebody out there let me know at aking1012 _AAAA__tttTTtT_ amcomworks.com
4)Easy to package(minus debianized systems....looking into that)
-there is no reason i can think of that there shouldn't be a utility that says - gems containing .so files are compiled, compiled language gems need these symbols, these symbols are provided by x, check installed gems, check required symbols, check packages, check success or failure, warn about gems that debianized system y breaks
-there are paid debian devs...i am a full time student...just a thought
-debianized policy is that everything should be through synaptic...read no require 'gem' includes...screw portability
-my policy is that portability is master of the universe and the current debianized policy is an attempt at microsoft-like vendor lock-in bs or incredible density from at least one dev
-i may seek another distro soon, or fork ubuntu for ruby devs
-rvm is my current solution so i can hide from debianization when using ruby...if i weren't a full time student i would pay the rvm developer as much as i could afford in one shot because he is THE MAN
**steps off soapbox**
Reasons it's better than python:
see previous list
So, now that I am finished complaining....
Is rails just for web-applications? Not in my opinion. I would think it is obvious from my previous rant that I am using rails to develop end user applications to get around UI dependency difficulties. ruby2exe and some other tools provide a way to distribute ruby/rails/app all at once in a single binary to make sure everything works. Just my 2 cents for the day. Thanks for listening.
Tuesday, October 19, 2010
So I had to go back to Lucid from Maverick...oh well. Here is ffmpeg from source working
apt-get build-dep ffmpeg
apt-get source ffmpeg
apt-get install libdirac-dev libfaac-dev libmp3lame0 libmp3lame-dev libopencore-amrnb0 libopencore-amrwb0 libopencore-amrnb-dev libopencore-amrwb-dev libopenjpeg2 libopenjpeg-dev libssl-dev libvpx0 libvpx-dev libx264-85 libx264-dev libfaad-dev libfaad2 libxvidcore-dev libxvidcore4
#did this part trying to build svn, but i would have to pull packages from maverick...i'll wait for the backport
svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
cd rtmpdump/librtmp
make
sudo make install
cd ../..
#end
svn co svn://svn.mplayerhq.hu/nut/src/trunk nut
cd nut
make
sudo make install
###libraries in 10.04 aren't new enough for svn
###svn co svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg-"version"
./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-libnut --enable-swscale --enable-vdpau --enable-postproc --enable-avfilter
#gives us this:
install prefix /usr/local
source path /home/adev/src/ffmpeg-0.5.1
C compiler gcc
.align is power-of-two no
ARCH x86 (generic)
big-endian no
runtime cpu detection no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available no
10 operands supported yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations yes
static yes
shared yes
postprocessing support yes
software scaler enabled yes
new filter support yes
filters using lavformat yes
video hooking yes
Imlib2 support yes
FreeType support yes
network support yes
IPv6 support yes
threading support pthreads
SDL support yes
Sun medialib support no
AVISynth enabled no
libamr-nb support no
libamr-wb support no
libdc1394 support yes
libdirac enabled yes
libfaac enabled yes
libfaad enabled yes
libfaad dlopened yes
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libopencore-amrnb support yes
libopencore-amrwb support yes
libopenjpeg enabled yes
libschroedinger enabled yes
libspeex enabled yes
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
vdpau enabled yes
zlib enabled yes
bzlib enabled yes
Enabled decoders:
aac ffvhuff pcm_f64be
aasc flac pcm_f64le
ac3 flashsv pcm_mulaw
adpcm_4xm flic pcm_s16be
adpcm_adx flv pcm_s16le
adpcm_ct fourxm pcm_s16le_planar
adpcm_ea fraps pcm_s24be
adpcm_ea_maxis_xa gif pcm_s24daud
adpcm_ea_r1 h261 pcm_s24le
adpcm_ea_r2 h263 pcm_s32be
adpcm_ea_r3 h263i pcm_s32le
adpcm_ea_xas h264 pcm_s8
adpcm_g726 h264_vdpau pcm_u16be
adpcm_ima_amv huffyuv pcm_u16le
adpcm_ima_dk3 idcin pcm_u24be
adpcm_ima_dk4 imc pcm_u24le
adpcm_ima_ea_eacs indeo2 pcm_u32be
adpcm_ima_ea_sead indeo3 pcm_u32le
adpcm_ima_iss interplay_dpcm pcm_u8
adpcm_ima_qt interplay_video pcm_zork
adpcm_ima_smjpeg jpegls pcx
adpcm_ima_wav kmvc png
adpcm_ima_ws libfaad ptx
adpcm_ms libgsm qcelp
adpcm_sbpro_2 libgsm_ms qdm2
adpcm_sbpro_3 libopencore_amrnb qdraw
adpcm_sbpro_4 libopencore_amrwb qpeg
adpcm_swf libopenjpeg qtrle
adpcm_thp libschroedinger ra_144
adpcm_xa libspeex ra_288
adpcm_yamaha loco rawvideo
alac mace3 rl2
amv mace6 roq
ape mdec roq_dpcm
asv1 mimic rpza
asv2 mjpeg rv10
atrac3 mjpegb rv20
avs mlp rv30
bethsoftvid mmvideo rv40
bfi motionpixels sgi
bmp mp1 shorten
c93 mp2 smackaud
cavs mp3 smacker
cinepak mp3adu smc
cljr mp3on4 snow
cook mpc7 sol_dpcm
cscd mpc8 sonic
cyuv mpeg1_vdpau sp5x
dca mpeg1video sunrast
dnxhd mpeg2video svq1
dsicinaudio mpeg4 svq3
dsicinvideo mpeg_vdpau targa
dvbsub mpeg_xvmc theora
dvdsub mpegvideo thp
dvvideo msmpeg4v1 tiertexseqvideo
dxa msmpeg4v2 tiff
eac3 msmpeg4v3 truemotion1
eacmv msrle truemotion2
eatgq msvideo1 truespeech
eatgv mszh tscc
eatqi nellymoser tta
eightbps nuv txd
eightsvx_exp pcm_alaw ulti
eightsvx_fib pcm_dvd vb
escape124 pcm_f32be vc1
ffv1 pcm_f32le vc1_vdpau
vcr1 vp6f wnv1
vmdaudio vqa ws_snd1
vmdvideo wavpack xan_dpcm
vmnc wmav1 xan_wc3
vorbis wmav2 xl
vp3 wmv1 xsub
vp5 wmv2 zlib
vp6 wmv3 zmbv
vp6a wmv3_vdpau
Enabled encoders:
ac3 libopencore_amrnb pcm_u16be
adpcm_adx libschroedinger pcm_u16le
adpcm_g726 libtheora pcm_u24be
adpcm_ima_qt libvorbis pcm_u24le
adpcm_ima_wav libx264 pcm_u32be
adpcm_ms libxvid pcm_u32le
adpcm_swf ljpeg pcm_u8
adpcm_yamaha mjpeg pcm_zork
alac mp2 pgm
asv1 mpeg1video pgmyuv
asv2 mpeg2video png
bmp mpeg4 ppm
dnxhd msmpeg4v1 qtrle
dvbsub msmpeg4v2 rawvideo
dvdsub msmpeg4v3 roq
dvvideo nellymoser roq_dpcm
ffv1 pam rv10
ffvhuff pbm rv20
flac pcm_alaw sgi
flashsv pcm_f32be snow
flv pcm_f32le sonic
gif pcm_f64be sonic_ls
h261 pcm_f64le svq1
h263 pcm_mulaw targa
h263p pcm_s16be tiff
huffyuv pcm_s16le vorbis
jpegls pcm_s24be wmav1
libdirac pcm_s24daud wmav2
libfaac pcm_s24le wmv1
libgsm pcm_s32be wmv2
libgsm_ms pcm_s32le zlib
libmp3lame pcm_s8 zmbv
Enabled parsers:
aac dvdsub mpeg4video
ac3 h261 mpegaudio
cavsvideo h263 mpegvideo
dca h264 pnm
dirac mjpeg vc1
dnxhd mlp vp3
dvbsub
Enabled demuxers:
aac ipmovie pcm_s8
ac3 iss pcm_u16be
aiff libnut pcm_u16le
amr lmlm4 pcm_u24be
apc m4v pcm_u24le
ape matroska pcm_u32be
asf mjpeg pcm_u32le
ass mlp pcm_u8
au mm pva
avi mmf r3d
avs mov rawvideo
bethsoftvid mp3 redir
bfi mpc rl2
c93 mpc8 rm
cavsvideo mpegps roq
daud mpegts rpl
dirac mpegtsraw rtsp
dnxhd mpegvideo sdp
dsicin msnwc_tcp segafilm
dts mtv shorten
dv mvi siff
dxa mxf smacker
ea nc sol
ea_cdata nsv str
eac3 nut swf
ffm nuv thp
flac ogg tiertexseq
flic oma tta
flv pcm_alaw txd
fourxm pcm_f32be vc1
gsm pcm_f32le vc1t
gxf pcm_f64be vmd
h261 pcm_f64le voc
h263 pcm_mulaw wav
h264 pcm_s16be wc3
idcin pcm_s16le wsaud
iff pcm_s24be wsvqa
image2 pcm_s24le wv
image2pipe pcm_s32be xa
ingenient pcm_s32le yuv4mpegpipe
Enabled muxers:
ac3 libnut pcm_f64le
adts m4v pcm_mulaw
aiff matroska pcm_s16be
amr matroska_audio pcm_s16le
asf mjpeg pcm_s24be
asf_stream mmf pcm_s24le
ass mov pcm_s32be
au mp2 pcm_s32le
avi mp3 pcm_s8
avm2 mp4 pcm_u16be
crc mpeg1system pcm_u16le
daud mpeg1vcd pcm_u24be
dirac mpeg1video pcm_u24le
dnxhd mpeg2dvd pcm_u32be
dts mpeg2svcd pcm_u32le
dv mpeg2video pcm_u8
eac3 mpeg2vob psp
ffm mpegts rawvideo
flac mpjpeg rm
flv mxf roq
framecrc mxf_d10 rtp
gif null swf
gxf nut tg2
h261 ogg tgp
h263 pcm_alaw vc1t
h264 pcm_f32be voc
image2 pcm_f32le wav
image2pipe pcm_f64be yuv4mpegpipe
ipod
Enabled protocols:
file pipe tcp
gopher rtp udp
http
Enabled filters:
crop
Enabled bsfs:
dump_extradata mov2textsub noise
h264_mp4toannexb mp3_header_compress remove_extradata
imx_dump_header mp3_header_decompress text2movsub
mjpega_dump_header
Enabled indevs:
alsa oss v4l2
dv1394 v4l x11_grab_device
libdc1394
Enabled outdevs:
alsa oss
License: nonfree and unredistributable
Creating config.mak and config.h...
---end output---
#opencore-amr is used instead of libamr and libx264 isn't new enough from repo...anyway we have h264 support from somewhere? a decent set of options don't you think?
apt-get source ffmpeg
apt-get install libdirac-dev libfaac-dev libmp3lame0 libmp3lame-dev libopencore-amrnb0 libopencore-amrwb0 libopencore-amrnb-dev libopencore-amrwb-dev libopenjpeg2 libopenjpeg-dev libssl-dev libvpx0 libvpx-dev libx264-85 libx264-dev libfaad-dev libfaad2 libxvidcore-dev libxvidcore4
#did this part trying to build svn, but i would have to pull packages from maverick...i'll wait for the backport
svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
cd rtmpdump/librtmp
make
sudo make install
cd ../..
#end
svn co svn://svn.mplayerhq.hu/nut/src/trunk nut
cd nut
make
sudo make install
###libraries in 10.04 aren't new enough for svn
###svn co svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg-"version"
./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-libnut --enable-swscale --enable-vdpau --enable-postproc --enable-avfilter
#gives us this:
install prefix /usr/local
source path /home/adev/src/ffmpeg-0.5.1
C compiler gcc
.align is power-of-two no
ARCH x86 (generic)
big-endian no
runtime cpu detection no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available no
10 operands supported yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations yes
static yes
shared yes
postprocessing support yes
software scaler enabled yes
new filter support yes
filters using lavformat yes
video hooking yes
Imlib2 support yes
FreeType support yes
network support yes
IPv6 support yes
threading support pthreads
SDL support yes
Sun medialib support no
AVISynth enabled no
libamr-nb support no
libamr-wb support no
libdc1394 support yes
libdirac enabled yes
libfaac enabled yes
libfaad enabled yes
libfaad dlopened yes
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libopencore-amrnb support yes
libopencore-amrwb support yes
libopenjpeg enabled yes
libschroedinger enabled yes
libspeex enabled yes
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
vdpau enabled yes
zlib enabled yes
bzlib enabled yes
Enabled decoders:
aac ffvhuff pcm_f64be
aasc flac pcm_f64le
ac3 flashsv pcm_mulaw
adpcm_4xm flic pcm_s16be
adpcm_adx flv pcm_s16le
adpcm_ct fourxm pcm_s16le_planar
adpcm_ea fraps pcm_s24be
adpcm_ea_maxis_xa gif pcm_s24daud
adpcm_ea_r1 h261 pcm_s24le
adpcm_ea_r2 h263 pcm_s32be
adpcm_ea_r3 h263i pcm_s32le
adpcm_ea_xas h264 pcm_s8
adpcm_g726 h264_vdpau pcm_u16be
adpcm_ima_amv huffyuv pcm_u16le
adpcm_ima_dk3 idcin pcm_u24be
adpcm_ima_dk4 imc pcm_u24le
adpcm_ima_ea_eacs indeo2 pcm_u32be
adpcm_ima_ea_sead indeo3 pcm_u32le
adpcm_ima_iss interplay_dpcm pcm_u8
adpcm_ima_qt interplay_video pcm_zork
adpcm_ima_smjpeg jpegls pcx
adpcm_ima_wav kmvc png
adpcm_ima_ws libfaad ptx
adpcm_ms libgsm qcelp
adpcm_sbpro_2 libgsm_ms qdm2
adpcm_sbpro_3 libopencore_amrnb qdraw
adpcm_sbpro_4 libopencore_amrwb qpeg
adpcm_swf libopenjpeg qtrle
adpcm_thp libschroedinger ra_144
adpcm_xa libspeex ra_288
adpcm_yamaha loco rawvideo
alac mace3 rl2
amv mace6 roq
ape mdec roq_dpcm
asv1 mimic rpza
asv2 mjpeg rv10
atrac3 mjpegb rv20
avs mlp rv30
bethsoftvid mmvideo rv40
bfi motionpixels sgi
bmp mp1 shorten
c93 mp2 smackaud
cavs mp3 smacker
cinepak mp3adu smc
cljr mp3on4 snow
cook mpc7 sol_dpcm
cscd mpc8 sonic
cyuv mpeg1_vdpau sp5x
dca mpeg1video sunrast
dnxhd mpeg2video svq1
dsicinaudio mpeg4 svq3
dsicinvideo mpeg_vdpau targa
dvbsub mpeg_xvmc theora
dvdsub mpegvideo thp
dvvideo msmpeg4v1 tiertexseqvideo
dxa msmpeg4v2 tiff
eac3 msmpeg4v3 truemotion1
eacmv msrle truemotion2
eatgq msvideo1 truespeech
eatgv mszh tscc
eatqi nellymoser tta
eightbps nuv txd
eightsvx_exp pcm_alaw ulti
eightsvx_fib pcm_dvd vb
escape124 pcm_f32be vc1
ffv1 pcm_f32le vc1_vdpau
vcr1 vp6f wnv1
vmdaudio vqa ws_snd1
vmdvideo wavpack xan_dpcm
vmnc wmav1 xan_wc3
vorbis wmav2 xl
vp3 wmv1 xsub
vp5 wmv2 zlib
vp6 wmv3 zmbv
vp6a wmv3_vdpau
Enabled encoders:
ac3 libopencore_amrnb pcm_u16be
adpcm_adx libschroedinger pcm_u16le
adpcm_g726 libtheora pcm_u24be
adpcm_ima_qt libvorbis pcm_u24le
adpcm_ima_wav libx264 pcm_u32be
adpcm_ms libxvid pcm_u32le
adpcm_swf ljpeg pcm_u8
adpcm_yamaha mjpeg pcm_zork
alac mp2 pgm
asv1 mpeg1video pgmyuv
asv2 mpeg2video png
bmp mpeg4 ppm
dnxhd msmpeg4v1 qtrle
dvbsub msmpeg4v2 rawvideo
dvdsub msmpeg4v3 roq
dvvideo nellymoser roq_dpcm
ffv1 pam rv10
ffvhuff pbm rv20
flac pcm_alaw sgi
flashsv pcm_f32be snow
flv pcm_f32le sonic
gif pcm_f64be sonic_ls
h261 pcm_f64le svq1
h263 pcm_mulaw targa
h263p pcm_s16be tiff
huffyuv pcm_s16le vorbis
jpegls pcm_s24be wmav1
libdirac pcm_s24daud wmav2
libfaac pcm_s24le wmv1
libgsm pcm_s32be wmv2
libgsm_ms pcm_s32le zlib
libmp3lame pcm_s8 zmbv
Enabled parsers:
aac dvdsub mpeg4video
ac3 h261 mpegaudio
cavsvideo h263 mpegvideo
dca h264 pnm
dirac mjpeg vc1
dnxhd mlp vp3
dvbsub
Enabled demuxers:
aac ipmovie pcm_s8
ac3 iss pcm_u16be
aiff libnut pcm_u16le
amr lmlm4 pcm_u24be
apc m4v pcm_u24le
ape matroska pcm_u32be
asf mjpeg pcm_u32le
ass mlp pcm_u8
au mm pva
avi mmf r3d
avs mov rawvideo
bethsoftvid mp3 redir
bfi mpc rl2
c93 mpc8 rm
cavsvideo mpegps roq
daud mpegts rpl
dirac mpegtsraw rtsp
dnxhd mpegvideo sdp
dsicin msnwc_tcp segafilm
dts mtv shorten
dv mvi siff
dxa mxf smacker
ea nc sol
ea_cdata nsv str
eac3 nut swf
ffm nuv thp
flac ogg tiertexseq
flic oma tta
flv pcm_alaw txd
fourxm pcm_f32be vc1
gsm pcm_f32le vc1t
gxf pcm_f64be vmd
h261 pcm_f64le voc
h263 pcm_mulaw wav
h264 pcm_s16be wc3
idcin pcm_s16le wsaud
iff pcm_s24be wsvqa
image2 pcm_s24le wv
image2pipe pcm_s32be xa
ingenient pcm_s32le yuv4mpegpipe
Enabled muxers:
ac3 libnut pcm_f64le
adts m4v pcm_mulaw
aiff matroska pcm_s16be
amr matroska_audio pcm_s16le
asf mjpeg pcm_s24be
asf_stream mmf pcm_s24le
ass mov pcm_s32be
au mp2 pcm_s32le
avi mp3 pcm_s8
avm2 mp4 pcm_u16be
crc mpeg1system pcm_u16le
daud mpeg1vcd pcm_u24be
dirac mpeg1video pcm_u24le
dnxhd mpeg2dvd pcm_u32be
dts mpeg2svcd pcm_u32le
dv mpeg2video pcm_u8
eac3 mpeg2vob psp
ffm mpegts rawvideo
flac mpjpeg rm
flv mxf roq
framecrc mxf_d10 rtp
gif null swf
gxf nut tg2
h261 ogg tgp
h263 pcm_alaw vc1t
h264 pcm_f32be voc
image2 pcm_f32le wav
image2pipe pcm_f64be yuv4mpegpipe
ipod
Enabled protocols:
file pipe tcp
gopher rtp udp
http
Enabled filters:
crop
Enabled bsfs:
dump_extradata mov2textsub noise
h264_mp4toannexb mp3_header_compress remove_extradata
imx_dump_header mp3_header_decompress text2movsub
mjpega_dump_header
Enabled indevs:
alsa oss v4l2
dv1394 v4l x11_grab_device
libdc1394
Enabled outdevs:
alsa oss
License: nonfree and unredistributable
Creating config.mak and config.h...
---end output---
#opencore-amr is used instead of libamr and libx264 isn't new enough from repo...anyway we have h264 support from somewhere? a decent set of options don't you think?
Wednesday, October 6, 2010
Installing ffmpeg and mplayer from source - LOTS of codecs (including w32) on Ubuntu maverick
apt-get source ffmeg
apt-get install build-dep ffmpeg
apt-get install "insertadditionaldepends"
cd ffmpeg-x.y-whatever
./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-zlib --enable-sram
make
sudo make install
sudo nano /etc/ld.so.conf.d/myincludes.d
#(add /usr/local/lib/)
#ffmpeg fails otherwise
sudo ldconfig
apt-get source mplayer
#i didn't get build-deps here because it pulls in a BUNCH of gui stuff i didn't want
cd mplayer-x.y-whatever
./configure --disable-libdvdcss-internal --disable-dvdread-internal
make
sudo make install
and ---dum da dum it all works(all the command line stuff anyway, if you want guis go back to the build-deps step that i skipped and add --enable-gui to the mplayer ./configure)
Thoughts or problems? I could add libnut, but my ISP firewalls svn and git...so...
apt-get install build-dep ffmpeg
apt-get install "insertadditionaldepends"
cd ffmpeg-x.y-whatever
./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-zlib --enable-sram
make
sudo make install
sudo nano /etc/ld.so.conf.d/myincludes.d
#(add /usr/local/lib/)
#ffmpeg fails otherwise
sudo ldconfig
apt-get source mplayer
#i didn't get build-deps here because it pulls in a BUNCH of gui stuff i didn't want
cd mplayer-x.y-whatever
./configure --disable-libdvdcss-internal --disable-dvdread-internal
make
sudo make install
and ---dum da dum it all works(all the command line stuff anyway, if you want guis go back to the build-deps step that i skipped and add --enable-gui to the mplayer ./configure)
Thoughts or problems? I could add libnut, but my ISP firewalls svn and git...so...
Monday, October 4, 2010
Got the graduation thing complete, starting on the capstone early
The MS:ISA capstone has an oral review component. So, I need to have gone through it to the point of knowing it dead cold. I am looking at a couple of possibilities: 1) metasploit socks proxy module 2) crypto-bruting on cuda or opencl app. We'll see how it pans out. Essentially the metasploit socks proxy module would allow local tools other than metasploit to pivot through metasploit end-points. This would be an improvement over the current system of having to write custom plugins for each metasploit task. It does stray from their mission of a single self contained tool though. If anyone is going to do it, it won't be the core dev team for that reason.
Subscribe to:
Posts (Atom)
