Thursday, February 16, 2012

Security testing laptop build

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...

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.

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

Just putting a little humor out there

How highly technical people see job searches...I think I need this on a T-Shirt

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' 


profile for aking1012 on Stack Exchange, a network of free, community-driven Q&A sites

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.

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

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.

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."

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.

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.

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.

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?

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...

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.