Membuat wordlist berbasis date
#1
Ini Scriptnya kawan"....save dengan nama apa saja ...kalo saya sich dengan nama datelist

Code:
#!/bin/bash -e
#
# Datelist_v0.6 by TAPE
# (C)opyright 2011
# Last edited dd 23-12-2011 12:00
#
#Fixed settings
REDBOLD=$(tput setaf 1 && tput bold)    # Bold red fonts
GREENBOLD=$(tput setaf 2 && tput bold)    # Bold green fonts
BLUEBOLD=$(tput setaf 6 && tput bold)    # Bold blue fonts
STAND=$(tput sgr 0)            # Standard fonts


function version () {
clear
echo $BLUEBOLD"TAPE's_       _        _ _     _
     | |     | |      | (_)   | |  
   __| | __ _| |_  ___| |_ ___| |_
  / _  |/ _  | __|/ _ \ | / __| __|
| (_| | (_| | |_ | __/ | \__ \ |_
  \____|\____|\__|\___|_|_|___/\__|
v0.6$STAND"
echo
echo
echo $GREENBOLD"---~~~===///\\\\\===~~~---"
echo $REDBOLD"  datelist Version 0.6$STAND"
echo $BLUEBOLD"       December 2011"$STAND
echo $GREENBOLD"---~~~===\\\\\///===~~~---"
echo
echo
echo  -ne $STAND"Hit enter to continue "
read go_info
if [ "$go_info" == "" ] ; then

echo "
('q' to quit)

datelist v0.6
23 December 2011


PURPOSE
=======
To quickly ( now it IS quick ;) ) create a list of a range of dates for use in password lists
to test for possible weak password use.
As from version 0.5, datelist no longer uses the linux 'date' command, but is based on simple
listing and calculations, this has the benefit that it is much faster and no longer limited
to dates between 1902 -- 2037.


DEPENDANCIES
============
This script is written to be used on the linux distro BackTrack and has not been tested on
any other (linux) distro.


USAGE
=====
Creating a date wordlist
------------------------
To creating a date wordlist with datelist, you need to enter 4 options;
-b  beginning date
-e  ending date
-f  format of output
-o  output filename
example;
./datelist -b 1999-01-01 -e 1999-01-31 -f ddmmyy -o dates.txt

The dates entered as beginning and ending date MUST be in the
format 'yyyy-mm-dd' to allow the program to work correctly.

The format for the output can ONLY be one of the below;
ddmmyy
ddmmyyyy
mmddyy
mmddyyyy
yymmdd
yyyymmdd

The output filename can be whatever you like, datelist will also
warn you if you are about to overwrite an existing file and allow
you to cancel.


Using the -s switch to include spacing characters
-------------------------------------------------
By including the -s switch, you tell datelist to include
a spacing character between the days, months and years.
(this will work regardless of the output format you choose to use)

The spacing character can almost be whatever you like, however
certain characters will require escaping (with backslash \).
Exception is forward slash, I hardcoded that one in to work without
escaping as it is a commonly used spacing character in dates.

examples;
./datelist -b 1999-01-01 -e 1999-01-31 -f ddmmyy -o dates.txt -s .
./datelist -b 1999-01-01 -e 1999-01-31 -f ddmmyyyy -o dates.txt -s /
./datelist -b 1999-01-01 -e 1999-01-31 -f yymmdd -o dates.txt -s -
./datelist -b 1999-01-01 -e 1999-01-31 -f yyyymmdd -o dates.txt -s \|
./datelist -b 1999-01-01 -e 1999-01-31 -f mmddyy -o dates.txt -s \~
./datelist -b 1999-01-01 -e 1999-01-31 -f mmddyyyy -o dates.txt -s \*

datelist will then create the wordlist with the spacing character included.



Appending numeric values to the beginning of an existing
(date)wordlist with the -A switch
---------------------------------------------------------
I did not manage to get this function working nicely from the command
line within datelist as I had hoped.
So in order to append numeric values, you need to start datelist as follows;

./datelist -A

Then just follow the prompts which are given to enter;
- file to read from
- number of numeric values to append (max 5)
- output filename


Prepending numeric values to the beginning of an existing
(date)wordlist with the -P switch
---------------------------------------------------------
As with the -A switch, you simply start datelist as follows;

./datelist -P

Then just follow the prompts which are given to enter;
- file to read from
- number of numeric values to append (max 5)
- output filename



BUGS/LIMITATIONS
================
Think slowly sorting things out.. however I am sure that things
will pop up after some time.
Please comment if you find anything.


?COMMENTS?
==========
If you would liketo message me on datelist, to either scorn, ridicule
or laugh at me, feel free to do so; tape dot rulez at gmail dot com
:D


CHANGELOG
=========

v0.6
- Included more error checks for input dates and other entries.

v0.5
- Rewrote the method of creating dates so as not to have to be dependant on the 'date' command.
  No more limits on dates ! Yay !
  Also much faster.
- Fixed some temporary files not being deleted.

v0.4
- Made datelist able to be run directly from the command line instead of using
  prompts also allowing input of custom filename for output.
- Improved the method of using spacing characters and the number of characters
  that can be used as spacing characters.
- Included possibilities for appending and prepending using custom files
  for input and output instead of being limited to file 'datelist.txt' as in v0.3.
- Tidied up code.

v0.3
- Tidied up some superfluous code
- Tidied up output when creating datelists
- Added switch -s to allow to insert one of 3 possible spacing characters ( - . / )
  in an existing datelist.txt file.

v0.2
- Added support for various output formats.
- Improved the reliability of different outputs.
- Included option to append/prepend upto 5 numbers.

v0.1
First trials

('q' to quit)" | less
fi
exit
}
#
#
function help_info() {
clear
echo $BLUEBOLD"TAPE's_       _        _ _     _
     | |     | |      | (_)   | |  
   __| | __ _| |_  ___| |_ ___| |_
  / _  |/ _  | __|/ _ \ | / __| __|
| (_| | (_| | |_ | __/ | \__ \ |_
  \____|\____|\__|\___|_|_|___/\__|
v0.6$STAND"
echo
echo "Usage: ./datelist -b [begin date] -e [end date] -f [date format] -o [output file]"
echo
echo "Required input;
-b  ---  Begin date$REDBOLD must be in format yyyy-mm-dd $STAND
-e  ---  End date$REDBOLD must be in format yyyy-mm-dd $STAND
-f  ---  Date format; ddmmyy / ddmmyyyy / mmddyy / mmddyyyy / yymmdd / yyyymmdd
-o  ---  Path/filename to write the datelist to

Optional input;
-s  ---- Desired spacing character ($GREENBOLD- / .$STAND etc. some need escaping with backslash $GREENBOLD\ $STAND)

Alternative options;
-A  ---  Append numeric values to an existing wordlist (no other switches required)
-P  ---  Prepend numeric values to an existing wordlist (no other switches required)
-v  ---  Version & more detailed information on usage
-h  ---  This help information$GREENBOLD

Example:$STAND ./datelist -b 1900-01-01 -e 2050-12-31 -f ddmmyyyy -o datelist.txt -s -"
echo $STAND""
exit 1
}
#
#
# Function to append upto 5 numeric values in sequence to an existing wordlist.
# When starting datelist for this function, only enter in command line ; ./datelist -A
# and then follow the prompts.
function append () {
echo -ne $STAND"Enter filename to append numeric characters to: "$GREENBOLD
read INFILE
(tput sgr0)
while [ ! -f $INFILE ] ; do
echo
echo $REDBOLD"File does not exist"$STAND
echo -en $STAND"Please enter full /path/to/file: "$GREENBOLD
read INFILE
(tput sgr0)
done
echo -ne $STAND"Enter how many numeric characters to append (max 5): "$GREENBOLD
read NUMB
(tput sgr0)
echo -ne $STAND"Enter output file name: "$GREENBOLD
read OUTFILE
(tput sgr0)
if [ -f "$OUTFILE" ] ; then
echo -ne $STAND"File $GREENBOLD$OUTFILE$STAND already exists, overwrite ? y/n $GREENBOLD"
read OVER
(tput sgr0)
    if [ "$OVER" = "y" ] || [ "$OVER" = "Y" ] ; then
    echo
    else
    echo $STAND"Process cancelled, quitting.."
    exit
    fi
fi
echo $STAND"Appending $GREENBOLD$NUMB$STAND digit(s) to $GREENBOLD$INFILE$STAND and writing to $GREENBOLD$OUTFILE$STAND ;"
    if [ "$NUMB" == 1 ] ; then
    for i in $(cat $INFILE); do seq -f "$i%0$NUMB.0f" 0 9; done > "$OUTFILE"
    elif [ "$NUMB" == 2 ] ; then
    for i in $(cat $INFILE); do seq -f "$i%0$NUMB.0f" 0 99; done > "$OUTFILE"
    elif [ "$NUMB" == 3 ] ; then
    for i in $(cat $INFILE); do seq -f "$i%0$NUMB.0f" 0 999; done > "$OUTFILE"
    elif [ "$NUMB" == 4 ] ; then
    for i in $(cat $INFILE); do seq -f "$i%0$NUMB.0f" 0 9999; done > "$OUTFILE"
    elif [ "$NUMB" == 5 ] ; then
    for i in $(cat $INFILE); do seq -f "$i%0$NUMB.0f" 0 99999; done > "$OUTFILE"
    fi
    head -3 $OUTFILE
    echo ".."
    tail -3 $OUTFILE
exit
}
#
# Function to prepend upto 5 numeric values in sequence to an existing wordlist.
# When starting datelist for this function, only enter in command line ; ./datelist -P
# and then follow the prompts.
function prepend () {
echo -ne $STAND"Enter filename to prepend numeric characters to: "$GREENBOLD
read INFILE
(tput sgr0)
while [ ! -f $INFILE ] ; do
echo
echo $REDBOLD"File does not exist"$STAND
echo -en $STAND"Please enter full /path/to/file: "$GREENBOLD
read INFILE
(tput sgr0)
done
echo -ne $STAND"Enter how many numeric characters to prepend (max 5): "$GREENBOLD
read NUMB
(tput sgr0)
echo -ne $STAND"Enter output file name: "$GREENBOLD
read OUTFILE
(tput sgr0)
if [ -f "$OUTFILE" ] ; then
echo -ne $STAND"File $GREENBOLD$OUTFILE$STAND already exists, overwrite ? y/n $GREENBOLD"
read OVER
(tput sgr0)
    if [ "$OVER" = "y" ] || [ "$OVER" = "Y" ] ; then
    echo
    else
    echo $STAND"Process cancelled, quitting.."
    exit
    fi
fi
echo "Prepending $GREENBOLD$NUMB$STAND digit(s) to $GREENBOLD$INFILE$STAND and writing to $GREENBOLD$OUTFILE$STAND ;"
    if [ "$NUMB" == 1 ] ; then
    for i in $(cat $INFILE); do seq -f "%0$NUMB.0f$i" 0 9; done > "$OUTFILE"
    elif [ "$NUMB" == 2 ] ; then
    for i in $(cat $INFILE); do seq -f "%0$NUMB.0f$i" 0 99; done > "$OUTFILE"
    elif [ "$NUMB" == 3 ] ; then
    for i in $(cat $INFILE); do seq -f "%0$NUMB.0f$i" 0 999; done > "$OUTFILE"
    elif [ "$NUMB" == 4 ] ; then
    for i in $(cat $INFILE); do seq -f "%0$NUMB.0f$i" 0 9999; done > "$OUTFILE"
    elif [ "$NUMB" == 5 ] ; then
    for i in $(cat $INFILE); do seq -f "%0$NUMB.0f$i" 0 99999; done > "$OUTFILE"
    fi
    head -3 $OUTFILE
    echo ".."
    tail -3 $OUTFILE
exit
}
#
#
#==================#
# Option arguments #
#------------------#
while getopts "Ab:e:f:ho:Ps:v" opt ; do
case ${opt} in
A) append;;
b) begin_date=$OPTARG;;
e) end_date=$OPTARG;;
f) format=$OPTARG;;
o) date_outfile=$OPTARG;;
P) prepend;;
s) space=$OPTARG;;
v) version;;
h) help_info;;
*) echo $REDBOLD"input error, see 'help' for usage"$STAND ; help
esac
done
shift $(($OPTIND - 1))
#
#
trap control_c SIGINT
trap error_msg ERR
#
control_c () {
# Run if a Ctrl C is detected
echo $STAND" -- Control-C detected"
echo "$GREENBOLD>$STAND Checking for and removing any temp files .."
if [ -f dates_years ] ; then rm dates_years ; fi
if [ -f dates_months ] ; then rm dates_months ; fi
if [ -f datelist_temp ] ; then rm datelist_temp ; fi
if [ -f dates_sort.txt ] ; then rm dates_sort.txt ; fi
if [ -f date_list1_temp ] ; then rm date_list1_temp ; fi
exit
}
#
error_msg() {
echo $REDBOLD"Errors detected"
echo $STAND"Check that correct syntax is used"
echo "$GREENBOLD>$STAND Checking for and removing any temp files .."
if [ -f dates_years ] ; then rm dates_years ; fi
if [ -f dates_months ] ; then rm dates_months ; fi
if [ -f datelist_temp ] ; then rm datelist_temp ; fi
if [ -f dates_sort.txt ] ; then rm dates_sort.txt ; fi
if [ -f date_list1_temp ] ; then rm date_list1_temp ; fi
exit
}
#
#
######################################
######################################
##                                  ##
## MAIN DATELIST SCRIPT STARTS HERE ##
##                                  ##
######################################
######################################
{
clear
echo $BLUEBOLD"TAPE's_       _        _ _     _
     | |     | |      | (_)   | |  
   __| | __ _| |_  ___| |_ ___| |_
  / _  |/ _  | __|/ _ \ | / __| __|
| (_| | (_| | |_ | __/ | \__ \ |_
  \____|\____|\__|\___|_|_|___/\__|
v0.6$STAND"
#
#
#Cut years, months and days for future reference and calculations
startyear=$(echo $begin_date | cut -d - -f 1)
startmonth=$(echo $begin_date | cut -d - -f 2)
startday=$(echo $begin_date | cut -d - -f 3)
endyear=$(echo $end_date | cut -d - -f 1)
endmonth=$(echo $end_date | cut -d - -f 2)
endday=$(echo $end_date | cut -d - -f 3)
#
#
#
#######################################
## Checking for incorrect data input ##
#######################################

# Return help menu if no / too little input given
if [[ -z "$begin_date" || -z "$end_date" || -z "$format" || -z "$date_outfile" ]] ; then
echo $REDBOLD"Need more input$STAND "
if [ -f dates_years ] ; then rm dates_years ; fi
if [ -f dates_months ] ; then rm dates_months ; fi
if [ -f datelist_temp ] ; then rm datelist_temp ; fi
if [ -f dates_sort.txt ] ; then rm dates_sort.txt ; fi
if [ -f date_list1_temp ] ; then rm date_list1_temp ; fi
echo "./datelist -h  for help"
echo
exit
fi
#
#
# Check for correct date output format
if  [[ "$format" == "ddmmyy" || "$format" == "ddmmyyyy" || "$format" == "mmddyy" || "$format" == "mmddyyyy" || "$format" == "yymmdd" || "$format" == "yyyymmdd" ]] ; then
echo
else
echo $REDBOLD"Output format error: $format$STAND, must be one of the below formats;"
echo $GREENBOLD"ddmmyy / ddmmyyyy / mmddyy / mmddyyyy / yymmdd / yyyymmdd $STAND "
if [ -f dates_years ] ; then rm dates_years ; fi
if [ -f dates_months ] ; then rm dates_months ; fi
if [ -f datelist_temp ] ; then rm datelist_temp ; fi
if [ -f dates_sort.txt ] ; then rm dates_sort ; fi
if [ -f date_list1_temp ] ; then rm date_list1_temp ; fi
echo
echo $STAND"./datelist -h  for help"
echo
exit
fi
#
#
#Check for incorrect start date entry
syear_len=$(echo "$startyear" | wc -L)
if [[ "$syear_len" -ne 4 ]] ; then
echo $REDBOLD"Begin year error: $startyear$STAND, year entries must have 4 digits"
echo "./datelist -h  for help"
echo
exit
fi
if [[ "$startmonth" -lt "01" || "$startmonth" -gt "12" ]] ; then
echo $REDBOLD"Begin month error: $startmonth$STAND, months can only be between 01 - 12"
echo $STAND"./datelist -h  for help"
echo
exit
fi
if [[ "$startmonth" -lt "01" || "$startday" -gt "31" ]] ; then
echo $REDBOLD"Begin day error: $startday$STAND, days can only be between 01 - 31"
echo $STAND"./datelist -h  for help"
echo
exit
fi
#
#
#Check for incorrect end date entry
eyear_len=$(echo "$endyear" | wc -L)
if [[ "$eyear_len" -ne 4 ]] ; then
echo $REDBOLD"End year error: $endyear$STAND, year entries must have 4 digits"
echo "./datelist -h  for help"
echo
exit
fi
if [[ "$endmonth" -lt "01" || "$endmonth" -gt "12" ]] ; then
echo $REDBOLD"End month error: $endmonth$STAND, months can only be between 01 - 12"
echo $STAND"./datelist -h  for help"
echo
exit
fi
if [[ "$endday" -lt "01" || "$endday" -gt "31" ]] ; then
echo $REDBOLD"End day error: $endday$STAND, days can only be between 01 - 31"
echo $STAND"./datelist -h  for help"
echo
exit
fi
#
#
#Check that end date is not before start date
if [ "$startyear" -gt "$endyear" ] ; then
echo $REDBOLD"Start/End date error:$STAND Start date cannot be greater than end date"
echo $STAND"./datelist -h  for help"
echo
exit
elif [[ "$startyear" -ge "$endyear" && "$startmonth" -gt "$endmonth" ]] ; then
echo $REDBOLD"Start/End date error:$STAND Start date cannot be greater than end date"
echo $STAND"./datelist -h  for help"
echo
exit
elif [[ "$startyear" -ge "$endyear" && "$startmonth" -ge "$endmonth" && "$startday" -gt "$endday" ]] ; then
echo $REDBOLD"Start/End date error:$STAND Start date cannot be greater than end date"
echo $STAND"./datelist -h  for help"
echo
exit
fi
#
#
#
#Check if desired output file already exists
if [ -f "$date_outfile" ] ; then
echo -ne $STAND"File $GREENBOLD$date_outfile$STAND already exists, overwrite ? y/n $GREENBOLD"
read OVER
(tput sgr0)
    if [ "$OVER" = "y" ] || [ "$OVER" = "Y" ] ; then
    echo
    else
    echo $STAND"Process cancelled, quitting.."
    exit
    fi
fi
#
#
#Recap of datelist to be created.
if [ -n "$space" ] ; then
echo "Listing dates from $GREENBOLD$begin_date$STAND to $GREENBOLD$end_date$STAND in format $GREENBOLD$format$STAND with spacing character $GREENBOLD$space$STAND"
echo
elif [ -z "$space" ] ; then
echo "Listing dates from $GREENBOLD$begin_date$STAND to $GREENBOLD$end_date$STAND in format $GREENBOLD$format$STAND"
echo
fi
#
#
#Progress information
echo "$GREENBOLD>$STAND Listing range of years and months .."
#
#
#
#List the years
echo $startyear > dates_years
while [ "$startyear" != "$endyear" ] ; do
startyear=$(expr $startyear + 1)
echo $startyear >> dates_years
done
#
#Add a '-' spacer after the years to simplify later manipulations / calculations
sed 's/^.\{4\}/&-/' -i dates_years
#
#
#
#Add months to list of years
for i in $(cat dates_years) ; do seq -f $i%02.0f 01 12 ; done > dates_months
#
#Add a '-' spacer after the months to simplify later manipulations / calculations
sed 's/.$/&-/' -i dates_months
#
#
#
#Progress information
echo "$GREENBOLD>$STAND Checking for leapyears and listing correct days per month .."
#
#
#
#Add correct number of days per month to list of years & months
for i in $(cat dates_months)
    do
    mnth=$(echo $i | cut -d - -f 2)
    year=$(echo $i | cut -d - -f 1)
    if [[ "$mnth" == "02" ]] ; then
        if [[ `expr "$year" % 400` == "0" || `expr "$year" % 4` == "0" && `expr "$year" % 100` != "0" ]] ; then
        seq -f $i%02.0f 01 29
        elif [[ `expr "$year" % 4` != "0" ]] ; then
        seq -f $i%02.0f 01 28
        fi
    elif [[ "$mnth" == "04" || "$mnth" == "06" || "$mnth" == "09" || "$mnth" == "11" ]] ; then
    seq -f $i%02.0f 01 30
    elif [[ "$mnth" == "01" || "$mnth" == "03" || "$mnth" == "05" || "$mnth" == "7" || "$mnth" == "08"  || "$mnth" == "10"|| "$mnth" == "12" ]] ; then
    seq -f $i%02.0f 01 31
    fi
    done > datelist_temp
#
#
#
#Remove dates before/after start/end date.
sed -n "/$begin_date/,/$end_date/p" datelist_temp > date_list1_temp
#
#
#
#Progress information
echo "$GREENBOLD>$STAND Creating desired format with spacing character (if any) .. "
#
#
# Ensure correct format and spacing character in output
# format ddmmyy
if [ "$format" == "ddmmyy" ] ; then
    if [ -n "$space" ] && [ "$space" == "/" ] ; then
    sed 's/^..//' -i date_list1_temp
    awk -F- '{print $3 $2 $1}' date_list1_temp > dates_sort.txt
    sed 's/\(.\{2\}\)/&\//;s/\(.\{5\}\)/&\//' dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -n "$space" ] ; then
    sed 's/^..//' -i date_list1_temp
    awk -F- '{print $3 $2 $1}' date_list1_temp > dates_sort.txt
    sed "s/\(.\{2\}\)/&"$space"/;s/\(.\{5\}\)/&$space/" dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -z "$space" ] ; then
    sed 's/^..//' -i date_list1_temp
    awk -F- '{print $3 $2 $1}' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    fi
# format ddmmyyyy
elif [ "$format" == "ddmmyyyy" ] ; then
    if [ -n "$space" ] && [ "$space" == "/" ] ; then
    awk -F- '{print $3 $2 $1}' date_list1_temp > dates_sort.txt
    sed 's/\(.\{2\}\)/&\//;s/\(.\{5\}\)/&\//' dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -n "$space" ] ; then
    awk -F- '{print $3 $2 $1}' date_list1_temp > dates_sort.txt
    sed "s/\(.\{2\}\)/&"$space"/;s/\(.\{5\}\)/&$space/" dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -z "$space" ] ; then
    awk -F- '{print $3 $2 $1}' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    fi
# format yymmdd
elif [ "$format" == "yymmdd" ] ; then
    if [ -n "$space" ] && [ "$space" == "/" ] ; then
    sed 's/^..//' -i date_list1_temp
    sed 's/-/\//g' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    elif [ -n "$space" ] ; then
    sed 's/^..//' -i date_list1_temp
    sed "s/-/$space/g" date_list1_temp > "$date_outfile"
    rm date_list1_temp
    elif [ -z "$space" ] ; then
    sed 's/^..//' -i date_list1_temp
    awk -F- '{print $1 $2 $3}' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    fi
# format yyyymmdd
elif [ "$format" == "yyyymmdd" ] ; then
    if [ -n "$space" ] && [ "$space" == "/" ] ; then
    sed 's/-/\//g' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    elif [ -n "$space" ] ; then
    sed "s/-/$space/g" date_list1_temp > "$date_outfile"
    rm date_list1_temp
    elif [ -z "$space" ] ; then
    awk -F- '{print $1 $2 $3}' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    fi
#format mmddyyyy
elif [ "$format" == "mmddyyyy" ] ; then
if [ -n "$space" ] && [ "$space" == "/" ] ; then
    awk -F- '{print $2 $3 $1}' date_list1_temp > dates_sort.txt
    sed 's/\(.\{2\}\)/&\//;s/\(.\{5\}\)/&\//' dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -n "$space" ] ; then
    awk -F- '{print $2 $3 $1}' date_list1_temp > dates_sort.txt
    sed "s/\(.\{2\}\)/&"$space"/;s/\(.\{5\}\)/&$space/" dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -z "$space" ] ; then
    awk -F- '{print $2 $3 $1}' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    fi
#format mmddyy
elif [ "$format" == "mmddyy" ] ; then
if [ -n "$space" ] && [ "$space" == "/" ] ; then
    sed 's/^..//' -i date_list1_temp
    awk -F- '{print $2 $3 $1}' date_list1_temp > dates_sort.txt
    sed 's/\(.\{2\}\)/&\//;s/\(.\{5\}\)/&\//' dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -n "$space" ] ; then
    sed 's/^..//' -i date_list1_temp
    awk -F- '{print $2 $3 $1}' date_list1_temp > dates_sort.txt
    sed "s/\(.\{2\}\)/&"$space"/;s/\(.\{5\}\)/&$space/" dates_sort.txt > "$date_outfile"
    rm date_list1_temp && rm dates_sort.txt
    elif [ -z "$space" ] ; then
    sed 's/^..//' -i date_list1_temp
    awk -F- '{print $2 $3 $1}' date_list1_temp > "$date_outfile"
    rm date_list1_temp
    fi
fi
#
#
#
# Remove created temp files
echo "$GREENBOLD>$STAND Tidying up .."
if [ -f dates_years ] ; then rm dates_years ; fi
if [ -f dates_months ] ; then rm dates_months ; fi
if [ -f datelist_temp ] ; then rm datelist_temp ; fi
if [ -f dates_sort.txt ] ; then rm dates_sort.txt ; fi
if [ -f date_list1_temp ] ; then rm date_list1_temp ; fi
#
#
#
#List examples of created file
echo $STAND""
echo "Datelist $GREENBOLD$date_outfile$STAND has been created ;"
head -n 3 $date_outfile
echo ".."
tail -n 3 $date_outfile
echo $STAND ""
#
#
#
# THE END
exit
}

Cara pemakaian untuk membuat wordlistnya seperti ini :

Quote:root@bt:~/tools# ./datelist -b 2012-01-01 -e 2012-12-31 -f ddmmyy -o datelist.txt


disini saya memberi nama datelist.txt untuk wordlistnya...ya itu semua terserah anda mau pakai nama apa aja boleh....nah,, file wordlistnya yang saya beri nama datelist.txt berada satu direktori dengan tools datelist-nya..


Thx






Atau bisa juga download disini kawan"....

http://www.mediafire.com/file/9zhrts9466...elist_v0-6

EDITED tag code
by iKONs

#2
This file is currently set to private.
update link nya mas dab' Confused

#3
thnk's om untuk share ilmunya Smile
uji coba om aku Confused
Spoiler! :
<<Back|Track
☆‍‍‍‍☆‍‍‍‍☆‍‍‍‍☆☆


#4
(09-15-2012, 02:28 PM)child Wrote: This file is currently set to private.
update link nya mas dab' Confused

ga usah pake link kan ada di tag code diatas Big Grin

#5
nice share bro ... Smile
FOLLOW @DutaLinux
for more question and sharing about security and Opensource only

#6
Keren. Tapi kok pas dijalanin scriptnya malah gak bisa ?

Code:
bash ./datelist: Permission denied
Jika kamu tidak sanggup menanggung lelahnya belajar, maka kamu akan menanggung perihnya kebodohan (Imam Syafii)






Users browsing this thread: 1 Guest(s)