Category: archives

  • Os Snitch – grabbing operating systems based on torrent downloads

    Lately there has been a lot of talk about the website http://www.iknowwhatyoudownload.com where you can lookup any ip address and find the torrents they have downloaded. Many people are concerned about the publicity of their torrent downloads. We should all be concerned about our privacy now days. Many are seeing this website as a negative thing which it does seem to be, so I started thinking how can we turn this around and make it a more positive thing for us as hackers? One way I thought of was to use the information to identify the targets operating system. and this is exactly what my new program OsSnitch does. This is no replacement for the program Nmap which actually talks with the computer to identify the OS, however sometimes Nmap is not able to identify the targets OS and this is where OsSnitch comes into play. It gives us another chance to identify the operating system when Nmap fails.

    The program is new so look for updates often. I will be updating it so it can identify the OS’s better. Any suggestions are more than welcome.

    Download the latest version over on github at https://github.com/Acetolyne/ossnitch

  • How to make CherryPy sessions work

    I have recently started development with the CherryPy framework to create a python based webserver. In pretty much any website with users you want to create sessions and CherryPy offers a great set of commands to manage user sessions. There is quite a bit of documentation provided about sessions and managing them, also some great code examples. However even with the code examples and searching with Google I found it rather difficult to figure out sessions despite my years of developing with PHP. It seemed I was missing something important so I dedicated a day to getting sessions working in CherryPy. I am using CherryPy version 3.8.0

    Session configuration according to many documents online is as simple as adding into your code something like this:

    
    import cherrypy
    
    class HelloWorld(object):
        @cherrypy.expose
        def index(self):
            return "Hello world!"
    
    if __name__ == '__main__':
    	conf = {
    		'/': {
    			'tools.sessions.on': True,
    		}
    	}
    	cherrypy.quickstart(HelloWorld(), '/', conf)
    
    

    We can also add to our configuration some other session options such as
    ‘tools.sessions.storage_type’: “file”,
    ‘tools.sessions.storage_path’: “/tmp/sessions”,
    ‘tools.sessions.timeout’: 60,

    But no matter the example my sessions would still re-generate on each page load. I couldn’t find my answer on the internet despite all the different ways I worded it on the search engines. So I decided to think back on how we use sessions in PHP. At the start of each page we had to use the session_start() function to keep our sessions alive. So how about the function cherrypy.session.start()

    Well now it showed session info when I loaded the page but now it was throwing an error that the session was already started. I was still wrong but on the right path.

    After messing around a bit more I found the key was to include at the beginning of each page a simple function cherrypy.session.load()

    That was it easy as Py. CherryPy even that one simple function not shown in any example I was able to find fixed my sessions and it can fix yours too!

    So my code then became this:

    
    import cherrypy
    
    class HelloWorld(object):
        @cherrypy.expose
        def index(self):
            cherrypy.session.load()
            return "Hello world!"
    
    if __name__ == '__main__':
    	conf = {
    		'/': {
    			'tools.sessions.on': True,
    		}
    	}
    	cherrypy.quickstart(HelloWorld(), '/', conf)
    

    I really hope this helps other people struggling with the same issue as me. I don’t understand why its not in any examples out there but it is now. If this tutorial helped you with sessions share it on Facebook and Twitter or any other places you think it would help. Link to it from other sites, my website has been around for many years and should remain up for many to come. Let me know if your still having trouble or if this helped you out I would love feedback from others.

  • Nvidia breaks display after system upgrade

    After updating my Ubuntu system my display was broken, I did some research and found many people were having the same problem. It seems due to the new kernel I installed the Nvidia drivers were not working correctly. After a little research and a short trial and error period I got it working again. These steps may not work for you but perhaps it will help some of you atleast.

    First I had no access to a shell even when pressing CTRL+ALT+F1, if you can get shell this way just do that, I however had to ssh into my machine from another machine. If you don’t have ssh setup and don’t have shell then try to go to recovery mode in the GRUB bootloader screen.

    Now that I had access to the system I investigated the /var/log/Xorg.0.log file to find this

    
    [   280.114] (EE) 
    Fatal server error:
    [   280.114] (EE) AddScreen/ScreenInit failed for driver 0
    [   280.114] (EE) 
    [   280.114] (EE) 
    Please consult the The X.Org Foundation support 
    	 at http://wiki.x.org
     for help. 
    [   280.114] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
    [   280.114] (EE) 
    [   280.115] (EE) Server terminated with error (1). Closing log file.
    
    

    This didn’t give much clues but if you have similar logs then you may be having the same problem.
    so since i had shell I did

    sudo apt-get update
    sudo apt-get install nvidia-331-updates
    sudo reboot

    If your system uses a different package manager simply look for the same package under your distro. You may need to uninstall the nvidia packages you have and then re-install them.

    After the system rebooted I had my GUI back!
    Hope this helps someone get their X-server back to working condition. Nvidia drivers have all sorts of problems with Linux systems from my experience. If you have troubles consider filing a bug report with Nvidia, the more people reporting problems the more likely they are to work on Linux compatibility.

  • BotScout for Drupal 7x

    It’s been a while now since I first created a module called the BotScout module for Drupal. I wanted to inform everyone that the project is back and in full force. If you have never heard of it the BotScout provides a way to block bots on your website based on their IP address, email, name, or any combination of the three. More information about BotScout in general can be found at http://www.botscout.com

    I have developed a module to bring the functionality to your Drupal website! in the past I got stuck in the transaction from CVS to Git content management and had a real rough time with the project submission process to make it a fully supported module. I have now re-opened that project application and shouldn’t have the troubles I did before. There were allot of changes going on and the changes were for the best but created hassles for new projects for a short time.

    You can get the latest version from my sandbox until it becomes a fully supported project. Info about the Drupal BotScout module including how to download can be found at https://www.drupal.org/project/botscout

    if you want to clone it with Git then use command
    git clone –branch 7.x-1.x http://git.drupal.org/sandbox/acetolyne/1082234.git
    NOTE: you can now download it directly to your site without using git since its now a fully supported module

    After you install the module on your site simply go to the modules page and enable it. From there you can go on over to the admin settings page and choose how you want to filter the bots. You can choose to block by IP address, username, email address, or any combination of the three. Users are encouraged to go over to www.botscout.com and get a free API key. Without an API key you can only check 20 submissions per day, but the key is free so go get yourself one. Also there is a good peice of information about what you should choose to block the bots by and why over on the botscout website at http://botscout.com/api_queries.htm

    Any suggestions please provide them over at BotScout Project page on the Drupal site listed below. The module for Drupal 7.x core is much safer than the old module and its not suggested to use the old module, but you really should not be running Drupal 6.x core anyhow it is just as unsafe as the module was. Drupal now offers a better API for developers and I was able to totally re-write the BotScout module to be safer from XSS attacks and run alot more efficiently than the last module.

    The Botscout 6x module was removed due to security issues and will not be supported please update to Drupal 7x to use this module and keep your site safer.

    This project is now a fully supported Drupal module, you can find it by searching the Drupal site for modules or go directly to the page at
    https://www.drupal.org/project/botscout

    For issues or feature requests please submit a form at https://www.drupal.org/project/issues/botscout

  • Intro to Variety – a schema analyzer for MongoDB

    I would like to introduce you to a tool I just started using called Variety. This tool allows one ot analyze the schema of a MongoDB Database. While it is true that mongo is a schemaless database it is still important for database administrators to keep records of the layout. This will help the administrator keep track of what sort of data is kept in each database and in each collection. It will also help development teams plan with ease future expansion and scalability options. Variety looks in your database and gives simple statistics on the various keys and statistics on the data that is in each collection.

    Variety is maintained on GitHub and I have recently started contributing to the project to help make it better. If you like this project the feel free to contribute in any way that you can even if it is just suggesting features or enhancements. Before I show and tell I would like to mention that the core developers state on their GitHub page that they do NOT recommend using this tool in a production environment, however I still do and plan on using it on a regular basis to track my constantly changing databases.

    So lets dive into how it works. There are many examples of usage on the GitHub page but I will cover some basics here for you to get started. First let’s highlight some of the great features

    • Great ascii formatted output of collection information
    • See whats types of data are present in each key
    • See the percentage of data for each key
    • Include mongo queries to limit which documents we include in the results
    • Specify maxDepth to use when searching through documents in a collection
    • Analyze only subsets of documents
    • Sort documents with mongo queries
    • Save results to another database for future reference
    • Output information in JSON format
    • No dependencies

    Basic Usage

    Using variety is easy first we need to download it from the GitHub page which is at
    https://github.com/variety/variety

    we now need to navigate into the variety folder and we can start using the tool, of course before using it make sure your database is up and running. and you need to be in the folder containing variety.js

    you can get basic output using the command

    
    mongo DATABASE_NAME --eval "var collection = 'COLL_NAME' " variety.js
    

    simply replace DATABASE_NAME with the real name of your database and COLL_NAME with the real name of the collection to show information for.
    ***NOTE In my latest contribution I have added the ability to show information on all collections, it will show any that are not empty, however I have made it not show info for the system.indexes collection, which is a collection made by MongoDB to maintain the collections and database. I have also added the ability to specify an array for var collection, this allows us to analyze more than one collection at a time, when we don’t want all of the collections. Soon you should be able to use these features using the syntax of:

    all collections

    
    mongo DATABASE_NAME --eval "var mode = 'recursive' " variety.js
    

    array of collections

    
    mongo DATABASE_NAME --eval "var collection = ['coll1', 'coll2', 'coll3'] " variety.js
    

    database using non default port???

    No problem you can include mongo queries in the command to connect to your database just like you do in mongo shell

    
    mongo DATABASE_NAME --port 27111 --eval "var collection = 'COLL_NAME' " variety.js
    

    maybe a non default location?

    
    mongo DATABASE_NAME --dbpath /path/to/database/folder --eval "var collection = 'COLL_NAME' " variety.js
    

    want to sort the data

    Of course in large collections we will want to sort the data in certain ways! For this simply include another mongo query, the $sort command. Here we sort by the date field in a decending order. the sort command is very powerful if you don’t understand it’s usage I suggest you read up on the $sort command.

    
    mongo DATABASE_NAME --eval "var collection = 'COLL_NAME', sort = { date : -1 }" variety.js
    

    analyzing subsets of documents
    There comes a time that our databases are so big analyzing subsets of documents may be needed, well the maintainers of variety have already thought of that. Again the ability to add queries is a very powerful feature of Variety. we can specify the subdocuments to examine. The following will analyze only documents where caredAbout is equal to true, quite an awsome feature.

    
    mongo DATABASE_NAME --eval "var collection = 'COLL_NAME', query = {'caredAbout':true}" variety.js
    

    JSON outputted data
    By default the statistics are outputted to the screen in a nice little ASCII formatted table that looks like the picture at the beginning of this article, which is nice but what if we need JSON formatting? easy fix with this command outputFormat = ‘json’

    
    mongo DATABASE_NAME --eval "var collection = 'users', outputFormat = 'json' " variety.js
    

    printing
    Printing is easy in linux we can simply pipe the output to a file and print it from there.

    
    mongo DATABASE_NAME --eval "var collection = 'users' " variety.js > FILENAME
    

    One may also mix the options to get more specific in what sort of data they are analyzing, I encourage you to checkout the GitHub site for more information and some other examples. Please take a look at this wonderful tool if you are using MongoDB and let us know what you think. Many thanks to the core contributors of the Variety tool.

    Tomรกลก Dvoล™รกk
    Wes Freeman
    James Cropcho (original creator of Variety)

  • Connecting to IRC with your mobile phone

    Hey it’s been a while since I have shared a project of mine, I have been very busy lately. Today I am going to share a program called JmIRC. This program allows users to chat on IRC using their mobile phone. This program is Java based so you don’t need to have a smart phone!!

    This program works on any phone that allows Java based apps, which is most phones, it will work on smartphones as well but the people that can’t afford a smartphone can also use it.

    The first thing you need to do is find out how to install a java app to your phone. I won’t cover this part because it depends on your phone on how to do it. If you need any help figuring out how to do this let me know and I’ll be more than happy to help you out. Most phones will need a usb cord to do this

    Once you have the directions then you need to download the program. You can get the files below or visit the sourceforge page at http://jmirc.sourceforge.net/

    Some phones will need the Jar and the Jad file, others will only require the Jar file. Again it depends on the phone so find the directions to install a java app on your specific phone before you attempt this.

    Once installed you can open the IRC app and setup some profiles, http settings,and basic settings. When you want to connect click menu then scroll down to the bottom and hit the connect button

    The join button will let you join channels on the server and the menu now gives you other options such as query, names, favorites, bytecounter, and msg. To send a message click on msg and write your message then click send

    JmIRC offers some nice options such as using a proxy, displaying timestamps, using colors, status headers, nickname resolution, 3 different font sizes, character encoding, string highlighting, and more

    Profiles can hold username and passwords for connecting to servers although this may cause security risks depending on your phones OS, your providers settings, and others settings on your phone.

    Overall JmIRC is a very wonderful application for your mobile phone and I highly recommend it. The fact that you don’t need a smartphone to connect to an IRC server is absolutely fantastic. Please let me know what you think of the program.

    If you know how to program with Java and want more functionality you can download the source code from sourceforge.net and change it to work for you! Please let us know about your mods and hacks to the program.

  • How to use BlueChomp to find undiscoverable bluetooth devices

    Intro
    Many people think that putting your bluetooth device in un-discoverable mode makes it so that noone can see your device. While this is true for the conventional user, it is not accurate! Bluetooth devices can still be found by knowing or guessing the BDADDR which is the bluetooth equivalent of a MAC Address.

    The good news is that guessing a BDADDR is very hard and even when using a program it takes ALOT of time to check all the possible addresses. There are however a couple of tools out there that make it possible. This tutorial is how about one of those tools called BlueChomp by Bluesheep Security.

    BlueChomp is an alternative to the program RedFang. BlueChomp can look for devices with all possible addresses, within a specified range, or even from a file that hold a list of BD Addresses. you can always download the latest version of BlueChomp from
    http://public.bluesheepsecurity.com/bluechomp-latest.tar

    you can also get some files that hold lists of BD Addresses to load into the program. You can get these at the bottom of this page if you wish or from the Bluesheep Security website.

    Now lets dive into the use of the program

    NOTE: This program is made for a linux machine

    After you have downloaded the program all we have to do is extract it

    put it into the folder you want it to be in and issue this command

    
    sudo tar -xvf bluechomp-latest.tar
    

    Now we get a folder called “bluechomp” let go into that folder

    
    cd bluechomp
    

    I suggest reading the README file for information on its use but we will be covering it here also

    to run the program issue this command in your shell, we will talk about options in a moment, but this shows basic use

    
    sudo ./bluechomp
    

    This command checks all possible BD Addresses it returns the BDADDR of any device that can be found. This includes devices in discoverable mode and also devices that are not in discoverable mode!!! This type of scan however takes a VERY VERY long time there are allot of possibilities to run thru, on top of that the device we are searching for can take a while to respond so if we don’t want to miss a device that is actually there we have to allow enough time for it to respond. If we dont wait long enough then we don’t know if the device is not present or if it just hasn’t responded yet.

    Ok but what if you do not want to sit there and wait for the program to scan all those addresses?
    Well lets take a look at some options this program has that allow us to cut the time down that it takes to scan for devices.

    
    -d 
    

    this option lets us use more than one dongle we can use it like in this example below

    
    sudo ./bluechomp -d 4
    

    This tells it to use 4 devices to search, they have to be the first 4 dongles plugged in if you have more attached. This functionality helps a little bit but will be updated in the future to improve performance.

    
    -s AND -e
    

    these options allow us to specify a range of addresses to search for.
    -s allows us to give a starting address. Alone it will run from the specified address to the address FF:FF:FF:FF:FF:FF.
    -e allows us to specify an ending address. We can use it alone or coupled with the -s option. Alone it will run from the
    address 00:00:00:00:00:00 to the specified address.
    -s -e Using both options together allows us to scan from the address specified after -s until we reach the address specified after -e.
    This allows us to specify a range to scan within.

    Here is an example of its usage

    
    sudo ./bluechomp -s 00:00:00:00:00:06 -e 00:00:00:01:FF
    

    Again we can use only one of these option or we can use them together like I have shown above.

    
    -i
    

    Another way to specify the BDADDR list to scan for is a file. Unlike the other options a file allows us to specify only specific BD Addresses, therefor we don’t have to scan a range of addresses we can check many addresses that are not consecutive. This can be used when we already know the BDADDR(s) that we are looking for. With this option we can also target specific devices, perhaps we are targeting a specific device that we know is vunerable to a certain attack. The file needs to contain one BDADDR on each line. The files can be downloaded from the website, made by yourself, or generated from found devices using the -f option Here is its usage

    
    sudo ./bluechomp -i input.txt
    

    This suggests that the file is in the same directory as bluechomp if the file is located somewhere else you can use a full path to the location such as /root/home/file.txt

    
    -f
    

    Ok Now as mentioned we can dump the addresses we find to a file and we can even load them later on if we want with the -i option.
    To do this we use the -f option. When we use this option we dont see any output to the screen, when the program is done scanning then we see the shells prompt. Here I show an example that saves all the found devices into a file called output.txt

    
    sudo ./bluechomp -f output.txt
    
    
    -l 1
    

    The LOOP option is best used when you are loading from a file using the -i option, however it can always be used with any type of scan. it simply keeps searching from beginning to end then it goes back to the beginning and starts scanning again. When you use this option the program will never stop looping you must hit CTRL+C to exit the program. you must type the number 1 after it like in the below example, this will turn it on

    
    sudo ./bluechomp -l 1 
    

    This option will loop thru all the possibilities which will take forever, but if you combine it with the -i option or specify a range with the -s and -e options then the -l option becomes more useful. Note that if you are logging to a file with the -f option and a device is discovered then loops and is discovered again it will put a second entry into the log, future versions should fix this issue

  • Dynamically including fivestar ratings in drupal content

    While using the Fivestar module for Drupal I came across a situation where I wanted to use multiple seperate votes on a single page. Okay this can already easily be done no problem but I didnt want to clump them all together at the bottom of the page nor at the top nor in the middle. I wanted to instead use them inside my content as I was writing the content of the page. This would allow me to get votes on multiple things as they read the article. This was helpful since my article talks about multiple ways of achieving the same outcome and I wanted people to be able to vote on each as they tried them.

    So lets get on with how I achieved this.

    This tutorial assumes you already have the fivestar module installed if you do not then please read the directions on the Drupal project page for the Fivestar module to install it. This tutorial will not discuss the installation of the module.

    Preperation
    First thing you need to do is enable php in your content, This feature comes with drupal when you install it however it is turned off by default for security reasons, but dont worry we will make it secure.

    So to enable it first go to Administration and to the Modules area of your site
    Here we will use the standard technique to enable this module. Below we can see the module named “PHP filter”



    after we check it to enable it we simply go to the bottom of the page and click “Save configuration”

    Ok now to make sure its set up in a secure manner
    Navigate to Administration and click on “Input Formats” in the menu it should be under Site Configuration

    We can now see in the list an entry that says “PHP code” and after the name it should say “No roles may use this format”. This is good and exactly what we want since we only want the Administrator, which is you, to be able to use php code in there posts. We can change who can use php code if we click on configure but I highly recomend not letting ANYONE else use php code as it could lead to your site being comprimised!!!

    make the votes
    Ok for votes we must now make a new content type, sorry but this is the only way I could figure out to make this work. In your administration menu find “Content Types” and click on it, Now choose “Add a new content type” at the bottom.

    Fill in the NAME and the TYPE for name I use Vote and for type I will put vote to tell me that it is a vote.Optionally you can add a description

    Next find where it has your Fivestar settings for the page, If you dont see it on your page you need to configure Fivestar to be on this content type or on all content type, this is covered in the installation and setup of Fivestar.

    Once you have found the Fivestar settings go ahead and enable it if its not enabled and change your settings to your likings. An example is below but your settings will probably be different.



    Once done you need to hit the “Save Content Type” button below.

    Now go to the “Manage Fields” tab on the top we should now delete all field that we can cause we only want our vote on this page.
    We also must add a field of the “fivestar rating” type like I show below



    If we navigate back to the Manage fields tab for the Vote content type we can Configure the field at any time with different settings I also suggest moving its position just below the Title. Again make sure you have saved if you change anything.



    Create a vote
    Ok now for each Vote you will need to make a new content of the type Vote, which is the content type we just created , maybe you named it differently, So Click on “Create Content” and Choose “Vote” or whatever you named it.

    Now you should see a page similaur to this



    Name it something to do with what type of vote it is for example if it was a vote on cherries ui would name it “cherryvote”
    Once you have named it go ahead and Save it

    Make sure its only in the menu if you want it to be and make sure you have comments disabled and do not publish it to the front page or sticky it



    Now Save it but dont navigate away!!!!!!

    Collecting the nid #

    Once you have saved the new content it will show you the content we have just made It is very important that you look at the number at the end of the url this is the NID # we must write this down ! in my case the nid # was 32 and the end of the url looked like this



    inserting into a page
    Ok now that we have a vote setup we can dynamically insert a code into any content to make it display. This even works in the middle on the page or in multiple spots throughout the page and you can make more votes and add many votes throughout a single page.

    you need to make sure you choose PHP code under Input format.

    Now in your content when you wish to add the five star rating simply add the code

    NOTE: Where I have the number 32 you must put the nid number of the vote you want inserted!!!!

    You can use this code to add as many votes within your content as you want. The votes will show the correct amounts and will function fully allowing people to use them to vote. Here is some code and the resulting page.





    Please feel free to leave any questions or comments below ๐Ÿ™‚ Hope this helps some of you with your drupal sites.

  • How to install the ubertooth in linux

    Ive seen many tutorials out there for installing the ubertooth on linux. Getting the ubertooth up and running isn’t hard to do but installing the kismet and wireshark plugins can be a little bit tricky if your not a linux guru. So now I introduce a real simple way to install the latest ubertooth code, along with the kismet and wireshark plugins. You can head over to the website http://www.bluesheepsecurity.com and download a script from the site that will set everything up for you automatically. It downloads the latest ubertooth code, the latest kismet and the latest wireshark, then it will make the appropriate changes to the files for the ubertooth plugins and install the programs. Warning though this script takes a while to run all the way thru but it would take just as long to do it yourself if not longer, this is mostly due to wireshark needing to be recompiled to include the bluetooth plugin for the ubertooth. Don’t worry though the install has been easy with the script here are the instructions:

    *NOTE this will only work on systems that have apt installed, if there is a need for a version that will work on OS’s that don’t have apt I may write a version for those systems but as of right now only systems with apt installed will run this script correctly

    download the script from http://public.bluesheepsecurity.com/ubertooth-kismet-wireshark-install-l...

    
    wget  http://public.bluesheepsecurity.com/ubertooth-kismet-wireshark-install-latest.tar
    

    move the file wherever you want with command
    *NOTE this is where you will need to navigate to in order to access the ubertooth code and the programs that come with it.

    
    sudo mv ubertooth-kismet-wireshark-latest.tar /pathto/folder/
    

    now change to the directory you moved it to and run the command

    
    sudo ./install
    

    That’s it everything will be taken care of it will take a while to run through the whole thing so you might as well grab a cup of coffee and find something to do for a bit while it runs.

    If it asks if you are sure you want to install the software you will need to answer Y for yes

    Hope everyone enjoys this automated script and more importantly enjoys their ubertooth ๐Ÿ™‚ If you like this script please make an account over at www.bluesheepsecurity.com there will be many new programs and info added to the site soon. Also feel free to join us on IRC over at irc.bluesheep-security.info\6667 channel #bluesheep

  • webpage development width and height attributes in IE

    As webpage developers we know about and commonly use the width and height attributes to change the layout of our pages. But here is a not very known fact that I just came across, IE or Internet Explorer atleast since IE 8 supports not only whole numbers but decimals as well in the attribute. It doesn’t seem that Firefox or any other browser will support this but for example if we have width=”99.9%”

    IE will return the extra .9% thus typing width=”99.9%” will display different than typing width=”99%”

    however if using a browser such as Firefox if you have width=”99.9%” it will render the page or element at 99% leaving out the extra 0.9% that we added

    This could be useful in some way for small adjustments on your css but is best used in CSS when you have a different css file loaded based on the detected browser.

  • Svchost processes, learn what they really are

    If your running Windows you have probably opened the task manager or task monitor ( whichever you want to call it now days ) and noticed that there is just about always multiple processes running called svchost . Wiki describes svchost in the following manner “In the Windows NT family of operating systems, svchost.exe (Service Host, or SvcHost) is a system process which hosts multiple Windows services.” However some malicious software or malware can also use this name to hide in our systems. So how do we know what that svchost process is actually doing? Well today I share a handy program to let you view what those scvhost processes are doing behind the scenes. svchost viewer available at http://svchostviewer.codeplex.com/ is a great program to solve just that problem. This program runs on Windows XP (sp2), Vista, and Windows 7. No installation required to run the program the only exception is you must have .NET framework 2.0 installed. Of course you could just keep sitting there wondering what those svchost processes are doing on your machine but aren’t you supposed to be the administrator of your computer? The program is free so download it install it and use it!

  • Learning to Learn Better

    I do allot of hacks and tips for computers and technology but sometimes I also like to discuss life itself and some ways of helping people become better people in general. To help people do the things they wish they could. I focus allot of my time on becoming a better person so while researching the human learning process I came across some information about states we go through while learning a new process or something new in general. I thought I would share them with you today.

    When we are learning something that is new to us it is natural that we go through these 4 stages of progression to learn it and implement it into our lives. Each process is described below and put into a way I believe everyone can understand.

    PHASE 1: You know there is a problem that needs to be fixed, you may not know what the problem is at this point and you also don’t know what to do to fix it. We commonly feel fear at this point but may also be driven to fix the problem. Many times we need to make sure to identify the problem correctly in order to fix it. Researching problem solving techniques may help at this point.

    PHASE 2: At this point we figure out the actions we have been taking are not working to solve the problem. We may also find that our actions were causing the problem to be worst in some scenarios. At this point we try to learn different things we can do to solve the problem. We then try the new ways out but they seem hard in alot of cases and you are not good at doing it yet.We now know what we need to fix just not how to fix it

    PHASE 3:At the next stage we are doing our new techniques and we are getting somewhere. Still we have a hard time forcing ourselves to keep doing it. we usually experience great satisfaction at this point and feel we have done what it takes but at the same time we are pushing to continue doing it.

    PHASE 4:At this phase we now are good at our new skills and use them everyday in our lives without even thinking about it. It’s more of a habit than a task. Our problem is solved and our life has changed for the better.

    It is a great thing to realize the steps we must go through to learn something new. This helps us overcome our problems and form better habits!

  • Optimizing the performance of your Windows machine with pagefile tweaks

    I you have an extra harddrive laying around or multiple harddrives in your computer this little tweak could help your computer run faster. the Pagefile on windows machines also called virtual memory is an area of the harddrive or harddrives that the computer uses as memory when your actual physical memory (R.A.M.) runs out. We typically use part of our main hard drive for virtual memory but this is not correct way to get maximum performance out of our Windows machines.

    If you have a small harddrive laying around that you can dedicate specifically to virtual memory that is the best, however even if you use your second harddrive for storing data it is beneficial to also allocate some space for virtual memory. The general rule for how much space to allocate is 1.5 X the amount of RAM you have so if you have 2 gigs of RAM then you want about 3 gigs of allocated space for your pagefile. You will have to adjust it based on your system of course.

    Ok now we know how much space is best but how should we go about allocating the space and where? Windows does in fact have an easy way to manage your pagefile ( again this is the space allocated for virtual memory ) Ill show you how to go about changing it. First things first though we need to know what drive WINDOWS is installed on typically this is the only harddrive in the machine. To be more accurate we will use the administration center to check which PHYSICAL harddrives are available If you have a small one you can add to your system go ahead and add it before doing this also Format the harddrive to a NTFS filing system.

    Check the physical harddrives and drive letters

    Just because you have a C and D drive in My Computer doesn’t mean you have two separate harddrives in your computer allot of times a large harddrive will be separated into two separate partitions this makes it show up as two drives in My Computer on your system. What we really want for the pagefile to work best is to have it on a totally separate physical harddrive. To see what drives we have in our system and how they are partitioned ( separated ) we need to go into Start >> Control Panel >> Administrative Tools >> Computer Management >> Storage >> Disk Management (Local)
    NOTE: If you don’t see Administrative Tools in control panel hit SWITCH TO CLASSIC VIEW
    I have two hardrives so here is what mine looks like

    Now that we are in there we can see on the left each disk is labeled Disk 0, Disk 1 , Disk 2 and so on If we have two drives only disk 0 and disk 1 will show this is what we are hoping for for better performance
    At this point we should know for sure how many disks we have and are ready to move the pagefile around a bit for better performance out of our machine.

    Go to Control Panel >> System >> the Advanced TAB on top >> under performance go to Settings >> choose the Advanced TAB on top

    As you can see on my machine there are two drives C and E the pagefile is set to run on drive C This is giving me slow performance when my machine gets low on physical memory or RAM. To change this I have opened the window you see on the right hand side of the above picture.
    I need to end up with my pagefile on my drive E. This may be a different number on your machine. Windows is installed on drive C on my machine if Windows was installed to drive E I would alternatively use the other drive. If you dont know what drive Windows is on then go to Start >> Run now type in “cmd” without the quotes

    in the window that pops up type in

    
    cd %SystemRoot%
    

    In my case it takes me to the directory C:\WINDOWS>

    This tells me that windows is installed on the C drive in the WINDOWS directory

    If yours said E:\Windows> That would mean it was on the E drive in the WINDOWS directory

    Ok back to moving the pagefile

    If we highlight the secondary drive E drive in my case then we see there is no pagefiling the best thing to do is choose custom and copy the initial size and maximum size from our main hardrive that windows is on to the fields for the secondary drive. In my case the initial size is 1908 MB and the maximum size is 3816. If you are going to change these then make the initial size 1.5 X the amount of installed RAM on your system and the other as big as you want really. If you have dedicated a small harddrive to being used for pagefiling only then make it the size of the whole harddrive otherwise its just a matter of how much space you are willing to give up to be used as virtual memory.

    Now just hit SET

    ok we are almost done but not yet we have a pagefile on our second drive but the pagefile for the first drive is still there we have to get rid of it, well almost. Highlight the primary drive C in my case then choose no paging file again hit SET

    we should end up with something similar to this

    Now if everything looks good we hit OK to finish it up.

    At this point it will ask you to restart your computer you will want to do this to allow the new changes to take effect.

    There have been reports that Windows may complain of no page filing if you have the harddrives setup like this I have experienced no problems but if you do have a problem simply set the primary drive to custom size with initial and maximum size of 2 MB.

    This speeds up our system because while the computer reads one harddrive for files it can read/write to another harddrive for virtual memory. One other thing to consider is hardrives do have different read/write speeds the faster it can read/write to the harddrive the better it will perform. Anyone needing help can leave a comment and I will help you work though it.

  • Protecting your privacy while browsing the internet

    Many of us browse the internet daily and visit many site but did you know that many sites collect personal information about you! Its true as a website administrator of multiple sites I know how important it can be to collect some information on the people that visit your site, some of this information can help me and other administrators make your visit to our sites a much better experience and even help us fix problems that you may experience on our sites, however some websites use this information to gain money and do things we probably don’t want them doing with our personal information. Some sites will sell this information to third parties so that the third party may display an advertisement targeting us. You may have went to a page where the adds all seemed to talk about things that were in your town or surrounding area this is usually because they have a contract with the site you are on and they have told the third party your location. This is only one of many examples of what they do with the information they gather about you.

    Ok so what can we do about it? Perhaps a proxy server which is better than nothing. For those of you that don’t know what a proxy server is, it is basically a computer that you can connect to that lets you do stuff on it like connect to a website or perhaps a chat system etc. This makes it seem like the proxy server has connected to the website instead of you, which in turn keeps them from knowing that you are the one actually retrieving the information.

    Today though I’de like to tell people about the Tor Project. https://www.torproject.org/ Tor is free software and an open network that helps you defend against a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security known as traffic analysis. What this means is that the websites can no longer collect your personal information because they cant see you connect. anonymity on the internet prevents somebody watching your Internet connection from learning what sites you visit, and it prevents the sites you visit from learning your physical location.

    Tor works best with Firefox installed and makes the whole process of setup and usage very simple, it includes many monitoring tools to make sure you are browsing with anonymity. However Tor will work also with other browsers such as internet explorer to see all the browsers look HERE or you could just use the browser they offer check out Tor Browser this is a fully pre-configured web browser that keeps your information safe. Want to try it out without installing it no problem this bad ass browser can be run live, This means you dont have to install it to your computer at all you can even run it off of a usb thumbdrive if you want, very useful!

    But wait!!!
    Tor doesn’t only work with your internet browser it can also work with many other applications across many of the popular operating systems such as Windows, Linux/*nix, and Mac and works with applications like email, instant messaging, IRC, FTP and more!

    Tor also offers a live CD/USB distribution that automatically is setup to keep you anonymous and to leave no traces of evidence on your system. They also offer a number of other projects that are of much use please take a look at all they offer it is really great stuff and the best thing is it’s free!

    Mobile no problem check out the Orbot Project for Androids

    I encourage you all to browse safely while on the internet. Even if you dont use the Tor Project you should use a proxy atleast your information should be yours to pass out to people, not other’s.

  • When it comes to pentesting we all love BackTrack but here’s an alternative you may not have heard of

    Us penetration testers have of course all heard of BackTrack it’s the most popular penetration testing distro out there but Node Zero is a great alternative. Node Zero was formally known as Ubuntu Pentest Edition and was the first Ubuntu/Gnome based pentesting distro out. NodeZero uses Ubuntu repositories so your system will be always up to date. With NodeZero comes around 300 tools for penetration testing and set of basic services which are needed in penetration testing. For a complete list of tools you can visit http://netinfinity.org/tools/ or for more info on Node Zero itself visit http://netinfinity.org/ Node Zero can be ran live from CD or USB or easily installed for better performance.

    This distro will be seeing great improvements in the next upcoming version and has great performance for low capability machines. The best thing about this distro is it has hardly any setup involved “It just works!” And the distro is based on Ubuntu 10.04 which is a LTS (long term support) distro this is a very great thing since from time to time everyone needs some sort of support this ensures that support will be offered as long as you don’t upgrade the distro.

    I’de love to hear what others think about the use of this distro. Please feel free to share your experiences with me or on the Node Zero website in the forums ๐Ÿ™‚ Also added bluetooth support will be coming up including easy setup for your ubertooth one!

    That’s right Ubertooth One works on this distro and I will be making tutorials and be helping to make your Ubertooth experiences much easier on Node Zero, Backtrack is not your only option anymore!! Need bluetooth support ask on the forums and I’ll be happy to assist in any way that I can.

  • Make your *nix server alert you with email or sms messages on invalid login attempts

    If you run a private server or just one that not many people should log into this is a very useful hack to your linux or *nix server. The idea is to be alerted when there is a break-in attempt on your server. Its actually not much work but took me a bit of research to find the answer so now that I have got it working on my server I thought I’de share this friendly little hack. This will allow me to know when people are trying to login to my server, mine happens to be a private server so If I’m not logging in then its someone else. This technique only alerts you when a person uses the wrong username/password combination successful logins do not trigger an alert but that’s ok for my needs since most attempts to access a server result in a person using the wrong username or password. Enough background on with the hack

    NOTE: You must have a pre-configured mail server setup before doing this. This tutorial will NOT cover setting up a mail server there is plenty of documentation on the internet to help you do that.

    Edit the /etc/pam.d/common-auth file
    open the file up any way you wish to edit it and make these changes:

    find the line that talks about pam_deny.so

    Put this on the line RIGHT BEFORE IT! no exceptions if there is something before it add a line

    
    auth [default=ignore] pam_exec.so seteuid /usr/bin/alert
    

    now we need to change these two lines

    
    auth	[success=2 default=ignore]	pam_unix.so nullok_secure
    auth	[success=1 default=ignore]	pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
    

    they may not be exact but look for the lines with pam.unix.so and pam_winbind.so

    now change the success=2 to success=3
    also change success=1 to success=2

    NOTE:If you want this script to alert you on successful logins as well as invalid ones do not change either of those numbers

    now save that file

    Now make the file /usr/bin/alert

    also navigate to the folder and do a

    
    chmod 777 alert
    

    you may have to use sudo or su depending on the system in this case do

    
    sudo chmod 777 alert
    

    ok now time to open that file and edit it since this is the file called on failed login or successful also if you took the steps to keep successful logins then we need to now add the coding that will email or txt message our phone.

    in the alert file we add this

    
    #!/bin/bash
    #requires: date,sendmail
    function fappend {
        echo "$2">>$1;
    }
    YYYYMMDD=`date +%Y%m%d`
    
    # SETTINGS
    # Change this to your email
    TOEMAIL="you@youremail.com";
    #this is the from email change it to your local email address
    FREMAIL="admin@yourdomain.com";
    #This is the subject leave it alone or change it to whatever you want
    SUBJECT="Server Breakin!";
    #This is the actual message to send
    MSGBODY="Add some message here";
    
    
    # DON'T CHANGE ANYTHING BELOW
    TMP="/tmp/tmpfil_123"$RANDOM;
    
    rm -rf $TMP;
    fappend $TMP "From: $FREMAIL";
    fappend $TMP "To: $TOEMAIL";
    fappend $TMP "Reply-To: $FREMAIL";
    fappend $TMP "Subject: $SUBJECT";
    fappend $TMP "";
    fappend $TMP "$MSGBODY";
    fappend $TMP "";
    fappend $TMP "";
    cat $TMP|/usr/sbin/sendmail -t;
    rm $TMP;
    
    exit 0;
    

    You can just copy and paste this to the alert file then change a few things

    TOEMAIL: change this to the email address you want it to send the alert to. If you want to send it to your phone do this, send an email to yourself from your mobile phone to your email doesnt matter the message. When you login to your email you will see it and can get the return address to send one back to your phone in my case I use cricket so I set this to 5092222798@sms.cricket.com (note I changed it so dont try to call me ) but this allows it to send the email message directly to my phone.

    FREMAIL: This is the email that it shows it is from, you should already have an email server setup to do this so you should know what this email is it should be something like root@mydomain.com

    SUBJECT: this can be anything you want or you can leave it as is. It is simply the subject of the email

    MSGBODY: This is the actual message to send we can include anything we want in the message although a messag eto long may not be received by some phones.

    And that’s it save the file and test it out you can test it by running the command

    
    ./alert
    

    or you can login to your server ssh, ftp, or whatever way you want use the wrong username or password and you should get an email or sms message.

  • Bluetooth dongle by Cyber Technology Limited with Fake antenna

    This was originally going to be an antenna mod on a bluetooth dongle I had bought of which had an antenna on it. This is now a documentation of the dongle which we thought had an antenna.

    I do lots of bluetooth related projects none of which I share on this site but had to share this dongle I came across with everyone cause its such a shock as to what I found.

    I bought this dongle offline Its a bluetooth dongle by “Cyber Technology Limited”

    Ok great a bluetooth dongle with an antenna this will work good for an antenna mod I had planned.

    Lets open it up to see what we can do

    WTH the antenna doesn’t have a wire to it??

    Ok look when I buy a dongle and it has an antenna I want it to work, this thing is only a piece of plastic that looks like an antenna so now this dongle is no better than one without an antenna :/ well for now atleast the only good it did was gave me room to add my own antenna to the dongle. I can’t believe though that the antenna was not even functional just there for looks to make you want to buy the thing, how the hell they can get away with this shit is BS

  • Java: Problems with containsIgnoreCase

    This project came about because I wanted to use the containsIgnoreCase() function in Java. well it doesn’t work!

    Java can use equalsIgnoreCase however containsIgnoreCase doesnt work so this discribes a workaround

    example: with equalsIgnoreCase() here we are checking to see if the string EQUALS the value we pass in this case “java”

    String myString = (“Java is a great programming language”);

    if (myString.equalsIgnoreCase(“java”))

    {
    YOUR COMMANDS HERE
    }

    This will not run your command because we are using the equalIgnoreCase() function and it contains it but doesn’t EQUAL it

    So now we try the containsIgnoreCase to see if it returns true this will search the string to see if it contains the word or phrase “java” in this case

    String myString = (“Java is a great programming language”);

    if (myString.containsIgnoreCase(“java”))

    {
    YOUR COMMANDS HERE
    }

    You might think that this would work AS DID I :/ nope it will find it if it contains it however it won’t ignore the case LAME

    Ok so what should we try next? took me a while but I figured out a workaround for this the work-around is to turn your string small BEFORE you pass it to the contains() function so we do like this

    String myString = (“Java is a great programming language”);

    myString = myString.toLowerCase();

    if (myString.contains(“java”))

    {
    YOUR COMMANDS HERE
    }

    Here we set the string after it is set we switch it to lower case then all we need to do is search for the string in lowercase. Now it doesn’t matter if the string had uppercase letters at all your commands will be executed as expected just make sure the word or phrase you are searching for is all in lower case since the whole string you are searching inside of has been converted to lowercase

    Hope this helps someone as I havn’t seen many answers to the containsIgnoreCase problem feel free to comment below and I will write back to help you fix any errors you may encounter.

  • alternative OS’s for the Cabolt Qube 2 and the Gateway Microserver

    This is the process I used and information I have gathered. If you decide to use the information I am providing I am not responsible for anything that goes wrong. I have done my best to give accurate information and outline the procedures I used to get the results I show here but I cannot cover every situation and there may be differences from my system to yours so use this information however you wish but know that there is a risk that it may be different for your system

    I ran across a gateway microserver for cheap started to check it out and right away knew that the customized firmware from gateway was not going to cut it. If this thing is a server it must serve! I didnt like the limitations that their web interface gave and wanted to see what my options were so first I researched the system itself then some of the different OS’s that were out there for each i took into consideration the ease of installation and the functionality it provided. I really wanted to see what I could do with this server. The server is really more of a home server than commercial but it was a fine start to my computer collection at a good price. I however wanted more than just a file and mail server. I wanted it to run apache and SQL and also wanted to set up a GIT server on it as well as see what else I could make it serve. This was just not possible with the web interface that was provided by Gateway.


    Research


    First thing to do was to research the server itself see what it had and what it was capable of. When I first started there wasn’t as much info out there as there is now so Ill include the newer info also.

    To start I found out that the Gateway Microserver is simply a Re-brand of the Cobalt Qube 2. A rebrand is when they change the case and the OS. and call it there own. The Cobalt Qube 2 and the Gateway Microserver are both the same system just 2 different cases for the same system. We dont care much about looks so This should work on both systems without any troubles.I will in this document refer to it as the Qube from now on but know that both systems work the same. I also believe the RaQ 2 is the same machine in a different case not sure though so do some research before trying it. In fact as stated before I am actually running a Gateway Microserver.


    The specs:


    โ– single ATA66 IDE socket
    โ– 64Bit MIPS RISC CPU QED RM5231-250Q (superscalar, 250MHz) 32 MB bus and no L2 cache
    โ– System Controller: Galileo GT-64111
    โ– PCI-ISA Bridge/ATA Controller: Via VT821C586 (Apollo VP)
    โ– 2x128MB Max RAM (EDO 3.3V, SIMM-Modul 72 Pin, proprietary)
    โ– Maximum memory: 256MB
    โ– Ultra-ATA 10.2GB hard drive (Seagate ST310212A)
    โ– Maximum fixed disk capacity (BIOS limitation): 30GB
    โ– 2 network interfaces (Tulip) DECchip DC21142 10/100baseTX-FDX
    โ– 6-key-panel + 2×16 LCD-Display
    โ– 1 high-speed serial port (SubD9)
    โ– 1 PCI-slot (proprietary)
    โ– 1 housing fan (4×4 cm, 12V, unsettled)
    โ– 1 small, external 36 Watt power supply unit (12V, 3A)
    โ– Dimensions: 18,4cm x 18,4cm x 19,7cm
    โ– Weight: 2.8kg
    โ– Power supply: 100-240V, 50/60Hz
    โ– Power input: 25 Watt
    โ– Operating environment: 5-40ยฐC, 10-80% air humidity
    โ– Non-operating environment: -10-50ยฐC, 5-93% air humidity


    Note about the memory


    If you have two memory stick and one is bigger than the other the bigger stick of memory must be put into slot 0 in the system or there could be problems. Remember max memory is 256 MB that is 128 MB for each stick.

    The memory works strangely in this system although there are one two memory banks on the child board the system will divide each memory module into 2 banks. Therefore the system will show 4 memory banks 0 and 1 are the first memory bank each will be half of the memory sticks size and banks 3 and 4 as reported by the system will be half the size of the second memory stick if you have one.


    Serial access


    the Qube2 and RaQ/RaQ2 provide a serial console port (originally running at 115200 bps, 8-bits, no parity, 1 stop bit). To enable this during the startup, hold in the “password reset” button whilst powering the unit on. On RaQ machines this button is behind the hole on the lower right corner of the LCD (use eg a pin to operate). When “Console ON” appears on the LCD panel, power-cycle the box. From now on you should see the Cobalt firmware (or CoLo) starting up.

    COMING SOON Make your own Serial Cable!!!


    Hardware


    The Qube2 can happily accept any PCI SCSI card that will physically fit inside the case in place of the modem
    however the original firmware only recognizes the Master IDE HDD plugged into the onboard socket. Other operating systems can provide support for additional hard drive controllers and even raid drives I’m told.


    Colo Bootloader


    Peter Horton is the author and current maintainer of the CoLo boot loader. CoLo, unlike the original bootloader, has no limitation on the size of kernel to load, and also features support for initial ramdisks, EXT2 and EXT3 support, as well as loading kernels over NFS and TFTP (network or serial). It can be configured through the use of scripting, with the capability to chain scripts together, ask questions on the LCD panel and perform various tasks. If you use this bootloader you will not be limited to 30 GB hard drive size!! using the CoLo Bootloader will also give you some other advantages. You could alternatively flash your BIOS chip however this has many dangers and is not recommended instead if you use the CoLo Bootloader the BIOS will chainload the CoLo Bootloader automatically and bypass the restrictions of the original Firmware for your BIOS.


    OS Choices


    Cabolt OS (Modified RedHat distro)ver 4.0

    PROS
    Easy to install
    install takes short amount of time
    easy to use wen interface to administer your server
    no need to know linux OS’s to admin
    CONS
    limited 30 GB hard drive on old Firmware
    Sets up allot of unnecessary stuff in your OS
    Limited hardware can be used to install ( unless install is modified )
    no longer maintained very few updated packages come out thus outdated packages

    Choose this OS if you are uncomfortable working with shell. If you want an easy to use web interface this is the choice for you however it does limit what you can do on the system. Also this OS will only detect one hard disk this is the disk you have plugged into the onboard IDE controller. and maximum HD size is 30 GB limited by the BIOS.
    The OS must be restored by netbooting or a serial line. The problem is there is a very limited number of network cards that are compatible with the Qubes netboot process. I am running a Compaq Armada E500 this system works well to netboot and restore the operating system.Here is a list of known compatible NIC’s ( network cards ) that work with the netbooting process.If you dont have any of the available hardware below please read the Cabolt OS section below. The OS restore disk allows for loading additional drivers it may be of some use I will go over the process in the future and show what I could make work.

    DESKTOPS:
    Intel PRO/100+ Server Adapter (PILA8470B)
    Linksys EtherFast 10/100 LAN Card (LNE100TX)
    Netgear Fast Ethernet PCI Adapter (FA312TX)
    3Com OfficeConnect Fast Ethernet NIC (3CSOHO100-TX)
    3Com Fast EtherLink XL PCI NIC (3C905B-TX)

    LAPTOPS:(PCMCIA cards)
    Netgear Fast Ethernet PCMCIA Adapter (FA410TX)
    3Com Megahertz 10/100 LAN PC Card (3CCFE574BT)
    Xircom CreditCard Ethernet 10/100 (CE3B-100BTX)

    LAPTOPS:(internal cards)

    If anyone has used any other network adapters successfully please let me know so I can add them to the list. If there was anything special you had to do to get it working please let me know that as well and Ill add it here so others can know.

    Report another adapter


    VERSION:

    the version reports back as:

    Cobalt Linux release 4.0 (Fargo)
    Kernel 2.0.34C53_SK on a mips

    UNAME from telnet reports:

    2.0.34C53_SK

    the server has redhat distributions up to kernel 2.2

    the restore disk can be downloaded Here in a zipped ISO file which can then be burned to a cd if you don’t have software to burn an ISO to a cd then try ISO Buster if your running a windows machine the program is free and will allow you to burn the cd needed to restore or change your operating system on your Qube 2(or Gateway Microserver)

    This is a modified redhat distribution. One good thing about this OS is the restore disk allows you to load additional network drivers which means you may be able to do it with the hardware you have available. it comes with a web server and discussion group services which cannot be turned off (from the web interface they provide). It also comes with these services:

    โ– email
    โ– FTP
    โ– SMB
    โ– AppleShare
    โ– Frontpage service extentions
    โ– SNMP Agent
    โ– Legato File Backup
    โ– DNS Server
    โ– DHCP Server
    โ– CRON managment

    The stock firmware on the Cobalt servers is basic to say the least. It supports netbooting using DHCP & NFS, as well as booting off the hard drive. The firmware expects to see a kernel image called ‘vmlinux.gz’ on the root directory of the first partition on the first drive. It can only read EXT2 revision 0 partitions (create them using mke2fs -r 0 /dev/BLAH) and cannot load kernels of over 675kB in size.
    It is setup so that certain webpages can’t be accessed remotely The information page, the admin section, and the admins personal profile are not accessible except for through the local network even when hosting across the internet. This is actually a good security feature but also means If you want a remote admin you will need to modify things a bit.

    For the process I used I had the following hardware:

    The Qube 2 (actually a gateway microserver)
    A compaq armada E500 laptop ( used for netbooting )
    a patch cord
    the OS restore disk (download from above)

    I will also show you how to do it without a patch cord. You will however need two regular ethernet cords and a router instead and alot more useful stuff ๐Ÿ˜€
    The following videos will show you the whole process and show you how I set it up.

    OS RESTORE WITH A PATCH CORD
    This tutorial shows how to install the Cabolt OS version 4 using the OS restore disk which can be downloaded Here using a patch cord and a network boot. You will need a compatible network card to perform this restore. If you do not have a compatible network card see my upcoming video below on how to load additional network drivers to install this OS.

    Here’s an overview of the process:

    โ– Plug in the crossover cable between the Qube 2 and the machine you are netbooting with.

    โ– Start the netboot machine with the restore cd in the CD drive. Leave the Qube 2 powered off for now.

    โ– Agree to the terms and continue with the on screen instructions.

    โ– Hold down the right and left arrows on the Qube 2’s panel (near the LCD screen) while holding both arrows down power on the Qube 2 and wait for the message “Netbooting” to appear on the LCD screen of the Qube 2. Once you see this message you can let go of the arrow keys.

    โ– Now its time for a cup of coffee this could take a while depending on your systems memory and many other things. you can see in the video what it shows as it installs the new system. It will delete anything on the harddrive already create new partitions and format them then write the operating system to the hard drive. This is great because its totally automated from here on out nothing we need to do now until it asks for the network settings.

    โ– When it does enter an IP for the server. In the video I set mine to 192.168.2.100 Your will most likely be 192.168.1.x were x is some number between 2 and 254 192.168.1.1 is most likely your routers IP address. There may be cases where this is different if you cant figure out how to set this up then leave a comment below and I can help you through it.

    โ– After this is setup you want to login to your router and make sure the server always gets the same IP address by setting up a static IP for the server. This allows us to be able to access it in our network without having to look up the ip address each time and also we will need this if we plan on hosting across the internet which I will show you in another tutorial soon.

    WITHOUT A PATCH CORD

    This shows how to install the Cobalt OS when you don’t have a patch cord available. For this we will still use a network boot but we can instead use two regular ethernet cords and a router. Ill show you the settings we need to accomplish this in the following video.

    Launch WMV file in external player

    Download webinterface overview video in WMV format

    OS OVERVIEW, BASIC SETUP, AND BRIEF FEATURES

    Launch WMV file in external player

    Download webinterface overview video in WMV format

    Next I will show how to install SSH. Its a good idea to replace your telnet connection with SSH instead. I will show how to download and install SSH to this system and also how to turn off Telnet on the Qube in the following videos one using the GUI and the other using a telnet shell.

    HOW TO LOAD DRIVERS FOR NON COMPATIBLE NETWORK CARDS & INSTALL THE OS

    This video shows how to install the operating system even when you don’t have a network card that is in the compatible list above. The compatible list is actually just what network drivers load with the restore cd by default. I’ll show you how to start the process, stop to load the correct network drivers then install the operating system as normal.

    HOW TO INSTALL SSH FROM THE WEB INTERFACE

    Replacing Telnet with SSH is a good idea when it comes to security. Ill show you how to install it very easily using the web interface provided by this operating system.

    HOW TO INSTALL SSH FROM TELNET

    Replacing Telnet with SSH is a good idea when it comes to security. This video shows how to install SSH from your telnet command prompt.

    Installing packages to your system is easy. This adds programs and functionality to your system.

    A repository of packages for the system can be found HERE

    a repository if you don’t know is a place to get updates for your system. The repository is old because no-one makes software or updates for this system since it is an obsolete system but that wont stop us from having fun with this system!

    HOW TO DO UPDATES AND INSTALL SOFTWARE WITH THE WEB INTERFACE

    HOW TO DO UPDATES AND INSTALL SOFTWARE FROM SHELL

    HOW TO BACKUP AND RESTORE USING THE WEB INTERFACE

    SYSTEM ADMINISTRATION IDEAS

    Debian

    The “unoffical” Debian way
    In mid 2002 Paul Martin published a How-To to install (the at that time new) Debian Woody 3.0 on the cobalt machines. He also provided the necessary files and a 2.4.18 kernel (supporting ext2- and ext3-filesystem) for the base installation. The Cobalt machines aren’t officially supported by Debian Woody – but are doing well running their MIPSel flavour after base-installation is done.

    The “new” Debian way

    PROS
    The limited hardware of the Cobalt installer is of no worry
    The installer can use any computer running linux that can run a NFS server and a DHCP server
    not limited to 30 GB hardrive
    kernel size restrictions are bypassed with CoLo
    you can install with ethernet ( NFS server ) or modem connection ( TFTP server )
    serial debugging during installation
    maintained updates thus better security and updates for your programs
    php5 installed by default
    CONS
    Harder to install
    need an active internet connection
    takes a long time to install everything
    Need a router or a computer with 2 network adapters
    requires alot more configuration of the secondary machine before we can install
    no GUI for administration

    Debian officially supports MIPS-based Qube and RaQ. It includes its own installer but requires another system for acting as NFS and DHCP server. This is actually a better option than the Cobalt OS because this OS has maintained packages this means more updates and one of the main concerns in running a server is security. These updated packages will definitely help in that sense. The bad thing is this OS is quit a bit harder to install. I have got it to install and will be releasing a video soon on how to do it. The install however will take much longer than the Cobalt OS installation this install could infact take hours depending on allot of different things such as the memory you have installed, your internet connection, etc

    I eventually did get this working I will be outlining the steps soon on this page. It was pretty difficult to get working, what I found is that many of the tutorials left me with alot of questions as I am not a linux power user. This operating system however is allot better if you want a more customized OS. The cobalt OS is ok but because of their already customized front end it is easier to use this OS instead of removing theirs to build your own frontend. In the case of this OS you can build those customizations without having to work around an already existing framework. As mentioned this distribution is fully maintained at this time which means there are more packages that we can install and also more security updates which is very very important as new vunerabilities are being discovered all the time. I have an irc server with services running on my machine now and they run pretty smooth also running webserver services and database services. I use it for only a small team of individuals so there is no major load on the system as the memory capacity is low ๐Ÿ™ But this OS seems to work terrific for what I need. There is no user frontend but one can be built very easily once you set your webserver up you can make yourself a nice graphical frontend to manage the device if you wish. Otherwise there are other remote administration services available such as ftp, telnet, or ssh just to name a few of the more common options. Below will be an outline of how I installed it and I hope to answer some of the questions that I had when I was trying to get this OS installed and to help others get it installed correctly.

    Other distros

    Cross Linux from Scratch will also run on a Cobalt, in either 32-bit, [64-bit or multilib (o32/n32/n64) mode.

    ร‚ยตClibc’s buildroot also can be used to build a 32-bit userland that will run on a Cobalt machine.

    There is also a Gentoo distro for the Qube servers but it wont run on this model because this model has a 64 bit processor and 64 bit processors are not supported by the Gentoo distro

    NETBSD

  • BotScout Module for Drupal

    I run a few Drupal sites and always have trouble with bots so I have created a module to get rid of Bots once and for all!! BotScout is a third party software that checks a database of known bots and returns a response code. This module will check if a person is a bot when they register to your site if they are they wont be able to create an account. At this time the module is NOT a drupal supported module it is a third party module created by me but I plan on making it a fully supported drupal module in the future. It allows you to block by name, email, or ip or any combination of the 3 also receive email alerts when a bot is blocked. THIS MODULE IS FOR DRUPAL 6x I plan on making an upgraded module for Drupal 7x soon thx

    More info about the module is available at my BotScout page at
    http://drupal.org/sandbox/acetolyne/1082234

    More info available about BotScout in general is at

    http://www.botscout.com

    please feel free to leave suggestions, comments, and bug reports and this site, My module site, or at the BotScout page itself your feedback is important so I can update the module to work better for people

  • fixing the e100 module in linux

    originally published by Acetolyne on Wed, 12/12/2012

    Ok I have two machines I recently installed linux on one is a Compaq Armada E500 and the other is a Toshiba Portege 3500. The Armada is running Suse 6.0 and the Portege is running BackTrack R2. Both machines came up with the same error message for my network adapters they both happen to be Intel NIC’s.

    First lets descibe the problem. I couldn’t use my adapters due to an error message when I tried to bring up the network adapter it threw a message. Sure I can just use apt-get or dpkg to obtain the firmware oh wait no I can’t I need this file im installing so the network adapter works. Great so we have to manually download and install so lets get to work on it.


    Failed to load firmware "e100/d101s_ucode.bin": -2

    and the other

    Failed to load firmware "e100/d102e_ucode.bin": -2

    This happens because it loaded the e100 module but not the needed firmware for your NIC.

    Ok so what should we do?

    Well first we need to download the file which it says is missing. Yours may be different than mine but you can either download the missing file below or you can go to
    http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/ and download the file: firmware-nonfree_0.29.tar.gz

    Then you need to extract it and navigate to firmware-nonfree\linux-nonfree inside the extracted folder, now look in the e100 folder inside that folder is the file you need

    Ok got the file what’s next?

    Well after some research I found out that the file needs to go into the folder /lib/firmware/e100 on the machine you are installing it on
    If the e100 folder doesnt exist make the folder

    at bash do this by navigating to the /lib/firmware/ folder then type:

    mkdir e100

    and hit ENTER

    now type:

    ls

    this shows the files and folders there should now be a e100 folder if so all is good and we can proceed

    Also lets make sure we have the e100 module loaded.type:

    lsmod

    look in the list for a line that says e100
    it’s there yes? Good
    if not cant even be getting the error I am fixing here so I have no clue why your reading this perhaps your bored?

    Now at this point you can transfer the file in many ways you can use floppy, cd ,usb drive , external harddisk, and many other ways. Here what I did was downloaded the file on my Windows machine then saved the file to a usb thumbdrive

    Now we plug it into our linux machine.

    Lets make sure its there in linux for us to mount type:

    fdisk -l

    the L means list we are listing all partitions available to us

    Next we will mount it but we need somewhere to mount it first

    I changed directories to the root directory “\” then made a new folder with command:

    mkdir usbstick

    now an

    ls

    makes sure it was created

    in my case fdisk had shown my thumbdrive on /dev/sdb1

    so now I mount it to the directory usbstick ( which we just made )


    mount /dev/sdb1 /usbstick/

    If you used a different device to transfer it then you may have to mount it differently and the dev name will be different in most cases. If you need help though then leave a comment I respond pretty fast ๐Ÿ™‚

    If all goes well we can now access out thumbdrive. Navigate now to /usbstick/
    cool our file is there almost done

    Next we just need to copy it to the correct directory which we know is /lib/firmware/e100/
    Make sure you are in the directory /usbstick/ and that the file you were missing is present with the ls command
    so now we do command:

    cp d102e_ucode.bin /lib/firmware/e100/d102e_ucode.bin

    If you had a different file name then please replace it with the one you are transferring to your machine

    Now if all is well you can start your interface use:

    ifconfig eth0 up

    you may need to replace the eth0 part with your adapters correct name to see a list of the adapters on your machine type:

    ifconfig -a

    we can now cleanup and unmount our usb device with:

    umount /dev/sdb1

  • Toshiba Portege 3500 screen

    originally published by Acetolyne on Wed, 12/12/2012

    This project started because of a problem i was having with my Toshiba Portege 3500. The computer is a tablet pc that i got with no OS installed ( well it was corrupted so I needed a fresh install ) After reinstalling windows I tried many many drivers trying to get the tablet pen to work on the screen. Each time people reported these drivers worked but they just wouldn’t for me. This was irritating and I couldn’t seem to figure out what I was doing wrong, damn it. After many days of research I found my answer cant remember the site that lead me to the info but the problem was solved well sorta.

    It seems there is a design flaw in the casing for the screen on these models the problem had not been the driver. What was happening is certain spots on the screen would cut out in my case it was the middle section of the screen all the way across would cut out the pen would function top and bottom section of the screen but skip the middle area. That’s why i thought driver but was wrong. to fix the problem it was suggested to press on both the sides of the screen while pushing in and run your fingers up and down the sides of the screen, or if it was cutting out top to bottom to run your hands across the top and bottom borders of the screen while pressing down.

    Great this works but a pain in the butt while doing graphics to stop and do this to get it working. so whats the real fix? well the problem lies in the casing so time to open the screen up and see what they got and how we can re-enforce it that’s where we will be going with this project if you don’t want to attempt something like this continue pressing down around the border of the screen each time it happens. If you got some guts and a few extra IQ points than your average panda bear then you can follow along and mod your screen.

  • Download torrents without installing a program

    originally published by Acetolyne on Wed, 12/12/2012

    Many websites now require you to download there programs using peer to peer ( P2P ). Many people are not familiar with P2P networks or how to use them. Most people don’t know when you use a program like Limewire or BitTorrent or any other P2P client program that it lets other people download files from your computer. That;s right! this is the basic idea of P2P networking it shares files from a whole bunch of peoples computers when you are downloading it it gets the program from all these peoples computers and also shares the files from your computer so others can download the files from you.

    Typically you need to download a program and install it on your computer. Some examples are Limewire, BitTorrent, and many others are available. Until now to get your program you had to download a torrent file and run it from inside one of these programs. Now a new alternative ๐Ÿ˜€

    Check out the site http://torrent2exe.com/
    This site will allow you to make an exe file from a torrent file or torrent url after you make the exe all you have to do is run the exe file you have made and it will download the files just like your torrent client program would. Sweet a new inventive way of getting our torrent files ๐Ÿ˜€

    Illegal downloads of course can still be tracked so don’t go thinking your now safe to download illegal content or copyrighted material but if your downloading legal programs and don’t wish to install a program to your machine to do so then this may be a great alternative for you. Give it a try and let me know your experiences I have been using it for a few various programs and have been rather satisfied with the results

  • Windows 7 downgrade to IE 8

    originally published by Acetolyne on Wed, 12/12/2012

    So I needed to downgrade a clients computer back to Internet Explorer 8. He was running Windows 7 and Microsoft decided to make IE 9 an automatic update for windows even though IE 9 still has many bugs and incompatibilities with third party software. It took me a couple hours of research to figure out how to downgrade and make everything work correctly. Even if you uninstall it if your updates are set to automatic then Windows will download and reinstall IE 9, lame. So here’s how I went about uninstalling, stopping the updates, and reverting back to IE8 on a Windows 7 machine.

    First we uninstall IE9 to do this go to control panel >> Programs and Features now go to the link on the left that says show updates. find Internet Explorer 9 and click uninstall on the top. Go ahead and restart now.

    Ok now in my case I uninstalled it but now was left without IE8 I had no browser available to me crap. so how come well seems the iexplorer.exe file wasn’t even there. Ok so to fix it what did I do? Easy once you know what to do. Open your start menu in the search type “Windows features” without the quotes.
    This brings up a windows in the list you will now see IE8 click the checkbox next to it to enable it. restart again

    Ok all set up yes? NO Windows will download and re-install IE8 on your machine if it is Win 7 platform so how do we tell it not to do this? A registry hack. go to start in the search box type regedit CAUTION changing the registry could cause your machine to crash or become unusable please only do exactly as I tell you to furthermore I am not responsible for anything that happens if you use the info in this tutorial on any machine.

    After regedit is open we Navigate to HKLM(HKEY_LOCAL_MACHINE) >> Software >> Microsoft >> Internet Explorer >> Setup >> 9.0

    Navigate thru the folders on the left if subpaths don’t exist create them in your registry by clicking edit new key Make sure your path now matches the above

    Now look for a string in the right hand side of the window that says “DoNotAllowIE90” If it not there just right click your mouse on the left hand side of the window and choose “new > string value” Set Name it “DoNotAllowIE90” double click on it to change it’s name and value change the value to one of the following

    If you leave it blank it will update to IE9

    If you change value to “0” without the quotes then it will update to IE9

    If you make the value “1” without the quotes then it will NOT update to IE9 anymore. This will not expire if you EVER want to update to IE9 you will have to come in here and change the value to “0” or a blank value.

    so now we change it to 1 so it wont update for now

    Hope this helps someone out there whom doesn’t want to deal with IE9 yet due to bugs or incompatibilities

  • Alternative OS’s for the HP Jornada 720

    originally published by Acetolyne on Wed, 12/12/2012

    The HP Jornada is a handheld device running windows CE 3.0. the HP Jornada was released in the year 2000 here is some steps I took and the results I got. your results may vary and I am not responsible for anything that may occur do to using the steps I post here. I hope that it helps you but I cannot know nor can I cover all the different circumstances and your may be different than mine. However these are the steps and results I got.
    The Specs
    Introduction
    OS overview
    Installing JLime

    Installing Debian


    The Specs


    32 MB of RAM
    a Compact Flash slot
    a PC card slot with only 16 bit support
    a Smart card slot
    56K Modem
    640×240 16-bit display
    a 206 MHz StrongARM CPU


    Intoduction


    This project is an exploration of different operating system choices. The jornada is a great system for on the go. It can be setup to let you do remote administration on the go and is muuch easier to pack around with you than a full sized laptop. The tutorials here don’t use a flashboard so this means you have to load into Windows CE then launch the program which runs your OS choice over Windows CE. Once I find an OS that runs well enough on the system I plan on buying a Flashboard and then making tutorials on how to flash the Jornada 720 with some different OS’s.


    O.S. Overviews


    This is an overview of how I thought the different OS’s compared. This chart will help you locate faster the OS you want to install. Perhaps you are looking for a feature, or perhaps you just want the one that is easiest to install well looking at the chart below may help you decide on the OS you wish to install. I do not compare these properties to other systems, Installation of course will be different from a regular system with a CD drive. Performance will not be as good as a 2.8 Gig processor etc. The comparisions are of the OS not the system so if i give performance a 4 out of 5 star rating don’t expect it to be the same as a 4 out of 5 star rating for a regular system.

    JLime

    installation:(3/5)
    Installation is easy as expected on such a machine, no hangups, instructions are easy to follow on my site this eases installation for people new to linux
    hardware:(3/5)
    Hardware seems to all work okay I haven’t tested the RJ45 socket yet nor the smart card port
    networking:(3/5)
    Well the system is limited to 16 bit cards this is hardware not software, despite that once you find a card that works networking was easy. It only supports Open networks and WEP networks as far as I know so this limits the networks one can connect to.
    package managment:(4/5)
    Once we change the repository to point to the right spot package management is easy and can even be updated to use apt such as on debian based systems
    performance:(3/5)
    Pretty good performance for the processor it has At times it spikes in the GUI when opening a program usually but give it a second or two and it will catch up the processor in this thing is slow so keep that in mind. Definitly not for web browsing or playing games online but it works well for such tasks as remote administration and monitoring maybe emailing on the go etc.
    GUI:(4/5)
    GUI runs pretty smooth has an excellent system monitor on the right hand side of the desktop. Many themes are available after issuing the command “ipkg upgrade” which updated all installed packages to their latest versions.
    Logging:(1/5)
    Logging I feel is very important for a system for troubleshooting and maintenance, this OS only has one log file in /var/logs called messages and it doesn’t log very much info. Have your own opinions?

    Vote on JLime

    Debian

    installation:
    hardware:
    networking:
    package managment:
    performance:


    JLime



    JLime is the first OS choice we will look at the developers website is http://www.jlime.com
    Typically JLime does not replace windows CE but instead is loaded once inside of windows CE. In other words it runs over top of the Windows CE GUI. This makes it easy to install but decreases performance.If you buy an optional flashboard you can actually replace Win CE and linux will boot from the chipset instead of from your Flashdrive. Releases are unstable but we will explore fixing each release below. I will outline installation once but this article is directed towards the differences once the O.S. is installed. If you have troubles I am more than willing to help if you make a post I will typically respond within 24 hours and will do my best to help you with problems you encounter.
    Installing from a harddrive
    This process is for people whom have Linux installed on their harddrive and are installing JLime to a CF card attacked to it. If you are trying to install from a Live CD/DVD please see these instructions Installing JLime from a Live CD/DVD
    Partitioning and Pre Setup
    Ok the first thing we need to do is grab our compact flashdrive and partition it. For JLime you need 3 partitions on your drive the first is a FAT this can be 10MB in size or larger if you wish up to 32 MB this is the windows partition where the exe file and a txt file will be stored these files will let you start JLime once you are in Windows CE. The second partition needs to be a linux ext 2 partition this is the Linux filing system this holds the actual JLime operating system this partition should be the entire size that is left on your compact flash drive minus 32 MB’s. The last partition is the 32 MB’s you just saved this needs to be a linux swap partition and is used as virtual memory to increase system performance.
    To partition your drive stick it in your *nix machine or connect it via a usb adapter. Now we make sure its there type

    
    fdisk -l
    

    this will list partitions of even devices that are not mounted YOU MUST NOW WRITE DOWN THE DEVICE NAME that is shown usually this will be a name like /dev/sda although it may be sdb or sdc or so on the list will show the partitions so if you have 3 partitions on the device it shows something like /dev/sda1 /dev/sda2 /dev/sda3 *MAKE SURE YOU REPLACE ALL OCCURANCES OF sda WITH THE NAME OF THE DEVICE ON YOUR SYSTEM FOR THE REST OF THIS TUTORIAL OR YOU MAY DAMAGE YOUR OS!!!
    Now we know the device is there lets partition it type

    
    cfdisk /dev/sda
    

    REPLACE the sda with your drive and make sure its the correct one or you may lose data or your operating system now if there are any partitions already on the device then delete them now by using the up and down arrow to choose the partition then use the left and right arrows to choose “DELETE”
    Now to make the partitions choose “New” using the left and right arrows
    Now Choose “Primary”
    Then for the size type in 10.0
    and then choose “Beginning”
    Now use the down arrow to choose FREE SPACE
    Again move over to “New”
    choose “Primary”
    for the size now we want to type in the total amount it shows MINUS 32 MB
    then choose “Beginning”
    Again go down to FREE SPACE ( which should be now 32 MB left )
    Choose “New”
    Choose “Primary”
    the size should be 32.0 MB so hit enter
    and Hit Beginning again
    Now the partitions are almost done
    Move to the first partition sda1 ( 10 MB ) and use the left and right arrows to choose “Type” hit enter once then enter 04 then press enter. This changes the partition to a FAT 16 partition
    Now we move down to the second partition sda2 and choose type then hit enter now type 83 then press Enter
    It should have already been this type but we do it here just to make sure it should be type linux now
    Now move to partition 3 sda3 and choose type again then press enter and type in 82 now press Enter The third partition should now be type “linux swap”

    Now we need to move back up to partition 1, sda1, move to the choice “Bootable” and press Enter this partition should now be marked as bootable now navigate to “Write” type yes and press Enter
    Sweet partitioning is done now use the left or right arrow to navigate to Quit
    You should now be at the shell again no longer in the CFDISK utility
    now we type the following lines

    
    mkfs.vfat /dev/sda1
    mkfs.ext2 /dev/sda2
    mkswap /dev/sda3
    

    Downloading and File Placement
    The next thing you need to do is download JLime from the website or from the link below. you will need 4 files the bootloader, bootloader config file, kernel and userland file.Mongo is the 7xx distribution the files below are for Jornada 7xx series without the flashrom board. If you have a flashboard please download JLime from the developers site and follow their directions. For this project I used a Jornada 720 with no flashboard installed thus I will be running JLime from the compact flashdrive.For the Jornada 720 I have found that the 2.6.25 kernel works the best so far.
    Download these files from http://www.jlime.com/downloads/releases/mongo/kernels
    hp7xx-2.6.25-stable ( make sure its not the flashrom file )
    hp7xx-modules-2.6.25-stable

    Then these files from http://www.jlime.com/wiki/downloads/
    jlinexec.exe (bootloader)
    params.txt (bootloader configuration)
    icewm-image-Mongo-08.07.08.tar.bz2 (userland)
    Put these in your root folder for now to make things simple

    OR DOWNLOAD ALL 5 FILES FROM MY SITE AT:
    hp7xx-2.6.25-stable
    hp7xx-modules-2.6.25-stable.tar
    jlinexec.exe
    params.txt see note (*) below
    icewm-image-Mongo-08.07.08.tar

    *WHEN YOU DOWNLOAD THE TXT FILE IT WILL OPEN IN THE BROWSER, YOU NEED TO USE THE MENU AT THE TOP AN CLICK FILE THEN CLICK SAVE AS, NOW SAVE THE FILE IN THE SAME LOCATION AS THE OTHER DOWNLOADED FILES
    mount the partitions
    now we need to make a couple directories to mount our cf card in navigate to the root directory of linux by typing

    
    cd /
    

    now you should be in your root directory type the following to get a directory listing.

    
    ls
    

    the results of an ls if your in the root directory should look something like this

    
    etc                mnt                sbin
    bin                home               proc               tmp
    boot               lib                root               usr
    dev                lost+found         root_fs_mips.ext2  var
    

    Mine has a couple things you may not see on yours but most of these should be given
    ok so now we are at the root folder lets type these commands

    
    mkdir ce
    mkdir jlime
    

    This makes 2 new folders one called “ce” and another called “jlime” if you do another ls you should see the folders in the list
    Lets also make these folders have full read and write access to avoid any problems

    
    chmod 777 ce
    chmod 777 jlime
    

    now we mount the cfcard partitions into the folders

    
    mount /dev/sda1 /ce/
    mount /dev/sda2 /jlime/
    

    This makes partition 1 available in the ce folder and the second partition available in the jlime folder there is nothing in them yet though thats next
    The partitions should now look like this
    /dev/sda1 10 MB type 04 *mounted at /ce/
    /dev/sda2 Remaining space type 83 *mounted at /jlime/
    /dev/sda3 32 MB type 82 *swap

    file placement
    lets navigate now to the folder we have the downloaded files in, wherever you may have downloaded them to.

    
    cd /path/to/directory
    

    lets now fix a configuration problem and patch the kernel
    KERNEL PATCH
    we will be using the 2.6.25 kernel to do this take the downloaded file hp7xx-2.6.25-stable and rename it to zimage

    
    mv hp7xx-2.6.25-stable zimage
    

    Now we need to move the zimage file to a couple different locations by issuing the following commands

    
    cp zimage /jlime/boot/
    cp zimage /ce/
    

    We also must move the userland file to the jlime folder

    
    cp icewm-image-Mongo-08.07.08.tar /jlime/
    

    Next we navigate into the jlime folder, with this command:

    
    cd /jlime
    

    we extract the kernel to the cf cards 2nd partition which is the /jlime/ folder since it is mounted there. to do this we do this command

    
    tar -xvf icewm-image-Mongo-08.07.08.tar
    

    this may take a minute or two be patient!
    this will extract the userland to the current directory which was /jlime/ if you followed along

    Ok now its extracted, your jlime folder should be populated with a whole bunch of directories
    next we need to copy two more files the bootloader and the bootloader configuration file over to the first partition which we have already
    mounted to the ce folder. so go back to the folder where your downloaded files are located. ok now type

    
    cp jlinexec.exe /ce/
    cp params.txt /ce/
    

    now to check we can do a “cd /ce” then an “ls” and the files should be listed
    Now navigate to the boot folder type

    
    cd /jlime/boot
    

    There is now 2 zimage files in that folder one named “zimage” and another named “zImage” notice the capital I, we can get rid of the one with the capital I if we want so type this

    
    rm zImage
    

    NOTE: the extra file may be named differently just delete any files not called zimage again take note that the one we keep will be all lower case as long as you have followed my directions.

    Ok kernel is patched now we need modules
    modules
    go back to the folder where the downloaded files are located
    now do an ls and make sure you have the file “hp7xx-modules-2.6.25-stable.tar “
    now we need to extract it but lets make a temporary folder for a minute

    
    mkdir modules
    

    now we extract to the folder

    
    cd modules
    tar -xvf /hp7xx-modules-2.6.25-stable.tar
    cd lib
    cd modules
    cp -R 2.6.25-jlime /jlime/lib/modules/2.6.25-jlime/
    

    sweet modules are all set up the system should now be bootable in the rest of this section we will talk about improvements and how this OS compares to the others
    the final file arrangement
    /ce/ jlinexec.exe, params.txt, zimage
    /jlime/ the linux OS bin, boot, etc, home, lib, media, etc….

    Installing from a Live CD/DVD
    COMING SOON!!!!

    This section of the tutorial explains how to install JLime if you are installing from a Live CD/DVD and do not have Linux installed to a hard drive.

    Running your new OS
    The first thing we need to get past is every time we start the machine we are loaded into Windows CE, this cant be stopped, however when we do load we have to go through a whole setup process each time, this is irritating so to bypass it instead of going through each step just to load Linux we can instead hit the windows key, now choose run, and type in the text area

    
    "\Storage Card"
    

    make sure you use the capitals and the qoutes (“)
    This opens the storage card and we can choose jlinexec.exe, no more setup to go through ๐Ÿ™‚
    If you go through the setup then simply navigate to the storage card by clicking on “My Handheld PC” on the desktop then click on “Storage Card” and start the file jlinexec.exe the program should start give it a minute to go through the startup process login is
    user:root

    to start the GUI type:
    startx

    Problems!!!
    if you are getting this error

    
    Please append a correct root= boot option kernel panic - not syncing vfs unable to mount root fs on unknown block (0,0)
    

    This is due to the fact that not all CF cards can be used with the Jornada this is not because the OS is stupid or because our card has problems, some cards simply won’t work because we are using it as a harddrive and the OS doesn’t want to let us. Infact it goes thru great troubles to make sure our harddrive is actually a harddrive. The developers of JLime have went thru mass troubles to get it to work with the CF cards that we can use. It has been reported that Kingston CF cards do not work well while Sandisk CF cards work well with TYPE I cards and some type II cards.

    Know of another CF Card that works? Tell US
    PC Cards
    Don’t forget the Jornada 720 only supports 16 bit cards. These are harder to find but I found a wireless network card on ebay that works great with my Jornada. I am successfully using a Cisco Aironet 340 Series Wireless card. But any 16 bit card should work, some may also require you install drivers to get it working. I have succesfully used these cards below.
    Cisco Aironet 340 series wireless pcmcia card

    Lantastic pcmcia 10/100 Dual Speed Network PC Card ( sold by CompUSA ) Wired only

    Know of another PC Card that works? Tell US
    Staying updated
    There is a graphical package manager in Accessories in the start menu, this will let you download more programs for use with the jornada.
    If you prefer shell you can use ipkg or even update to apt.
    shutdown issues
    because we are loading of of the CF card through Windows C.E. shutdown doesn’t work, they are working on this issue but havn’t to my knowloedge fixed this issue yet.
    To shutdown you must remove your power cord, your battery, and your backup battery from under the CF card ( it is a watch battery thin and round ) the battery is of type CR 2032. To avoid having to remove the backup battery each time you could do as I do and just leave it out completely, however if you do this Windows CE will keep giving you an error message that the battery is low, this is fine if you are not going to be using Windows CE anyhow.

    OS Improvement and additions
    Well the first thing we should of course do is make a password, without a password connecting to any network makes our system vunerable. To make a password we can use shell and type

    
    passwd
    

    It will ask us to enter our new password twice in a row this makes sure we typed it correctly! The password is now changed, if we ever want to change it in the future it will ask for the old password before having you type a new one, it didnt do this the first time because there was no password set.
    Now we need to change the repository path in the config file so we can use our package manager. The file we need to edit is the /etc/ipkg.conf file, we can use Leafpad text editor in the GUI or we can use vi or similar in shell. I suggest whenever you are modifying a file to make a backup file.
    we need to change all the urls in this file since the repository has changed, every entry with http://repository.jlime.com/mongo/feed/SOMEPATH needs to be changed to http://www.jlime.com/downloads/repository/mongo/feed/SOMEPATH
    So to show an example the first line is what a single entry looked like before and the second line is how it looks after we modify it. There are of course multiple entries in the file each must be changed

    
    src/gz base http://repository.jlime.com/mongo/feed/base
    
    src/gz base http://www.jlime.com/downloads/repository/mongo/feed/base
    
    

    Make sure you leave the directory name on the end of each url such as base, charmap, jornada7xx, lib, libs locale, and the others if you don’t understand this step or just want to do it an easier way then you can download ipkg.conf and replace the one on your system in your /etc folder with the downloaded copy.
    Next we should make sure we have all packages available to us for installing to do this we run the command

    
    ipkg update
    

    If you would like to upgrade all your packages to the latest versions, which is recommended then issue the command

    
    ipkg upgrade
    

    NOTE: this will take a while be prepared to answer any questions it may have during this process and have plenty of time.
    To see what packages are available we can look in the graphical package manager or type

    
    ipkg list
    

    And to install a package use the graphical package manager or type

    
    ipkg install PACKAGENAME
    

    Of course replace PACKAGENAME with the actual name of the package
    If you would prefer using apt such as debian based systems have, install apt with this command

    
    ipkg install apt
    

    Vote on JLime
    Let us know your opinion about JLime you can rate each of the categories below or just see what other visitors think.


    Debian


    COMING SOON!!!


    Conclusion


    Hope this helps you get your jornada up and going. If there are any questions or problems let me know and Ill do my best to help you out.There will be some more OS reviews coming soon!

  • How to detect browser type

    originally published by Acetolyne on Wed, 12/12/2012

    So I needed to detect the browser type so that I could use a different css based on the browser the visitor of the site is using. This allows customized formatting so that different browsers will output the screen correctly. While searching for a way to do this I came across many many articles that were out of date or simply didn’t work! Finally I decided to use one I found over at phpclasses.org However it didn’t work the way it was but with some slight modifications I have now got a working script that

    Detects multiple browser types
    Gets the version number
    displays either the major version or the major/minor version
    Is easily upgraded to display a different css for each

    Both the files are available below to download.For each page just use the following command in your php file

    include_once('checkbrowser.php');
    

    make sure of course that you have uploaded both the files to the same directory as the files you are including it in. If the files exist in a different directory then change the include_once() function to point to the correct file location

    Now lets look at the files

    checkbrowser.php

    whatBrowser());
    ?>
    
    

    None of this needs to be customized unless you change the file name of the file named browser_class_inc.php which is not needed so I recommend you leave it named the same.

    browser_class_inc.php

    useragent = $agent;
    	}
    	
    
    	/**
    	 * Method to test for Opera
    	 * @param void
    	 * @return property $broswer
    	 * @return property version
    	 * @return bool false on failure
    	 */
    	function isOpera()
    	{
    		// test for Opera		
    		if (eregi("opera",$this->useragent))
    		{
    			$val = stristr($this->useragent, "opera");
    			if (eregi("/", $val)){
    				$val = explode("/",$val);
    				$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    			}else{
    				$val = explode(" ",stristr($val,"opera"));
    				$this->browsertype = $val[0];
    				$this->version = $val[1];
    			}
    			return TRUE;
    		}
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to check for FireFox
    	 * @param void
    	 * @return bool false on failure
    	 */ 
    	function isFirefox()
    	{
    		if(eregi("Firefox", $this->useragent))
    		{
    			$this->browsertype = "Firefox"; 
    			$val = stristr($this->useragent, "Firefox");
    			$val = explode("/",$val);
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}
    	function isChrome()
    	{
    		if(eregi("Chrome", $this->useragent))
    		{
    			$this->browsertype = "Chrome"; 
    			$val = stristr($this->useragent, "Chrome");
    			$val = explode("/",$val);
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to check for Konquerer
    	 * @param void
    	 * @return prop $browser
    	 * @return prop $version
    	 * @return bool true on success
    	 */
    	function isKonqueror()
    	{
    		if(eregi("Konqueror",$this->useragent))
    		{
    			$val = explode(" ",stristr($this->useragent,"Konqueror"));
    			$val = explode("/",$val[0]);
    			$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    		
    	}//end func
    	
    	/**
    	 * Method to check for Internet Explorer v1
    	 * @param void
    	 * @return bool true on success
    	 * @return prop $browsertype
    	 * @return prop $version
    	 */
    	function isIEv1()
    	{
    		if(eregi("microsoft internet explorer", $this->useragent))
    		{
    			$this->browsertype = "MSIE"; 
    			$this->version = "1.0";
    			$var = stristr($this->useragent, "/");
    			if (ereg("308|425|426|474|0b1", $var))
    			{
    				$this->version = "1.5";
    			}
    			return TRUE;
    		}
    		else {
    			return FALSE;
    		}
    	}//end function
    	
    	/**
    	 * Method to check for Internet Explorer later than v1
    	 * @param void
    	 * @return bool true on success
    	 * @return prop $browsertype
    	 * @return prop $version
    	 */
    	function isMSIE()
    	{
    		if(eregi("msie", $this->useragent) && !eregi("opera",$this->useragent))
    		{
    			$this->browsertype = "MSIE"; 
    			$val = explode(" ",stristr($this->useragent,"msie"));
    			$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    			
    
    
    		}
    		else {
    			return FALSE;
    		}
    	}//end function
    	
    	/**
    	 * Method to check for Galeon
    	 * @param void
    	 * @return bool true on success
    	 */
    	function isGaleon()
    	{
    		if(eregi("galeon",$this->useragent))
    		{
    			$val = explode(" ",stristr($this->useragent,"galeon"));
    			$val = explode("/",$val[0]);
    			$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}//end func
    	
    	/**
    	 * Now we do the tests for browsers I can't test...
    	 * If someone finds a bug, please report it ASAP to me please!
    	 */
    	
    	/**
    	 * Method to check for WebTV browser
    	 * @param void
    	 * @return bool true on success
    	 * @return prop $browsertype
    	 * @return prop $version
    	 */
    	function isWebTV()
    	{
    		if(eregi("webtv",$this->useragent))
    		{
    			$val = explode("/",stristr($this->useragent,"webtv"));
    			$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}
    	
    
    
    	/**
    	 * Method to test for iCab
    	 * @param void
    	 * @return bool true on success
    	 */
    
    	function isIcab()
    	{
    		if(eregi("icab",$this->useragent))
    		{
    			$val = explode(" ",stristr($this->useragent,"icab"));
    			$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to test for the OmniWeb Browser
    	 * @param void
    	 * @return bool True on success
    	 */
    
    	function isOmniWeb()
    	{
    		if(eregi("omniweb",$this->useragent))
    		{
    			$val = explode("/",stristr($this->useragent,"omniweb"));
    			$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to check for Phoenix Browser
    	 * @param void
    	 * @return bool true on success
    	 */
    
    
    	function isPhoenix()
    	{
    		if(eregi("Phoenix", $this->useragent))
    		{
    			$this->browsertype = "Phoenix"; 
    			$val = explode("/", stristr($this->useragent,"Phoenix/"));
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to check for Firebird
    	 * @param void
    	 * @return bool true on success
    	 */
    
    	function isFirebird()
    	{
    		if(eregi("firebird", $this->useragent))
    		{
    			$this->browsertype = "Firebird"; 
    			$val = stristr($this->useragent, "Firebird");
    			$val = explode("/",$val);
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to check for Mozilla alpha/beta
    	 * @param void
    	 * @return bool true on success
    	 */
    
    	function isMozAlphaBeta()
    	{
    		if(eregi("mozilla",$this->useragent) && 
    		   eregi("rv:[0-9].[0-9][a-b]",$this->useragent) && 
    		   !eregi("netscape",$this->useragent))
    		
    		{
    			$this->browsertype = "Mozilla"; 
    			$val = explode(" ",stristr($this->useragent,"rv:"));
    			eregi("rv:[0-9].[0-9][a-b]",$this->useragent,$val);
    			$majver = explode(".", $val[1]);
    			$this->version = str_replace("rv:","",$majver[0]);
    			return TRUE;
    		}
    		else {
    			return FALSE;
    		}
    	}//end function
    
    	/**
    	 * Method to check for Mozilla Stable versions
    	 * @param void
    	 * @return bool true on success
    	 */
    
    	function isMozStable()
    	{
    		if(eregi("mozilla",$this->useragent) &&
    		   eregi("rv:[0-9]\.[0-9]",$this->useragent) && 
    		   !eregi("netscape",$this->useragent))
    		{
    			$this->browsertype = "Mozilla"; 
    			$val = explode(" ",stristr($this->useragent,"rv:"));
    			eregi("rv:[0-9]\.[0-9]\.[0-9]",$this->useragent,$val);
    			$majver = explode(".", $val[1]);
    			$this->version = str_replace("rv:","",$majver[0]);
    
    		}
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to check for Lynx and Amaya
    	 * @param void
    	 * @return bool true on success
    	 */
    
    	function isLynx()
    	{
    		if(eregi("libwww", $this->useragent))
    		{
    			if (eregi("amaya", $this->useragent))
    			{
    				$val = explode("/",stristr($this->useragent,"amaya"));
    				$this->browsertype = "Amaya"; 
    				$val = explode(" ", $val[1]);
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    			} else {
    				$val = explode("/",$this->useragent);
    				$this->browsertype = "Lynx"; 
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    			}
    			return TRUE;
    		}
    		else {
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * method to check for safari browser
    	 * @param void
    	 * @return bool true on success
    	 */
    
    	function isSafari()
    	{
    		if(eregi("Safari", $this->useragent))
    		{
    			$this->browsertype = "Safari"; 
    			$val = stristr($this->useragent, "Safari");
    			$val = explode("/",$val);
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}	/**
    	 * Various tests for Netscrape
    	 * @param void
    	 * @return bool true on success
    	 */
    	
           function isNetscape()
    	{
    		if(eregi("netscape",$this->useragent))
    		{
    			$val = explode(" ",stristr($this->useragent,"netscape"));
    			$val = explode("/",$val[0]);
    			$this->browsertype = $val[0];
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		elseif(eregi("mozilla",$this->useragent) && 
    				!eregi("rv:[0-9]\.[0-9]\.[0-9]",$this->useragent))
    		{
    			$val = explode(" ",stristr($this->useragent,"mozilla"));
    			$val = explode("/",$val[0]);
    			$this->browsertype = "Netscape"; 
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}//end func
    	
    	/**
    	 * Method to check for AOL connections
    	 * @param void
    	 * @return bool true on Success
    	 */
    
    	function isAOL()
    	{
    		if (eregi("AOL", $this->useragent)){
    			$var = stristr($this->useragent, "AOL");
    			$var = explode(" ", $var);
    			$this->aol = ereg_replace("[^0-9,.,a-z,A-Z]", "", $var[1]);
    			return TRUE;
    		}
    		else { 
    			return FALSE;
    		}
    	}
    	
    	/**
    	 * Method to tie them all up and output something useful
    	 * @param void
    	 * @return array
    	 */
    	function whatBrowser()
    	{
    		
    		$this->isOpera();
    		$this->isFirefox();
    		$this->isKonqueror();
    		$this->isIEv1();
    		$this->isMSIE();
    		$this->isGaleon();
    		$this->isIcab();
    		$this->isOmniWeb();
    		$this->isPhoenix();
    		$this->isFirebird();
    		$this->isLynx();
    		$this->isSafari();
                  $this->isChrome();
    		//$this->isMozAlphaBeta();
    		//$this->isMozStable();
    		//$this->isNetscape();
    		$this->isAOL();
    		return array('browsertype' => $this->browsertype, 
    					 'version' => $this->version,); 
    	}
    }//end class
    
    
    ?>
    
    

    Now lets take a look at how we can modify this to do some different things

    Lets look at a basic function to check for the browser. each function looks like this:

    function isFirefox()
    	{
    		if(eregi("Firefox", $this->useragent))
    		{
    			$this->browsertype = "Firefox"; 
    			$val = stristr($this->useragent, "Firefox");
    			$val = explode("/",$val);
    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    		}
    		else {
    			return FALSE;
    		}
    	}
    
    


    This function checks if it is firefox. It returns only the major version number. To get it to return a fill version number we delete these lines:

    			$majver = explode(".", $val[1]);
                         $this->version = $majver[0];
    

    and put this line in the same place

                         $this->version = $val[1];
    

    This now echos the browser type followed by the full version number

    Ok but how do we get it to go to a different css for each browser type? Actually we need to check the version number also because different versions of the same browser may need different css’s to output correctly so we do change the checkbrowser.php file here is how

    whatBrowser();
    $final = $thisbrowser['browsertype'];
    $final .= " ";
    $final .= $thisbrowser['version'];
    
    echo $final;
    
    //Finally we can tell it what to do with the browser type  and version
    
    if($final == 'MSIE 8'){
    include('IE8fixes.css');
    }
    
    if($final == 'Firefox 3'){
    include('firefox3fixes.css');
    }
    ?>
    

    Now in this code we can check the variable $final and include the correct css file based on the browser and version number returned. The code we add to do this will look like this

    if($final == 'MSIE 8'){
    include('IE8fixes.css');
    }
    
    

    We must add one of these for each browser type followed by the version number if we don’t the page will be parsed without including the css so we only really need to do this if we have css fixes to make so that a page will be correctly formatted by a certain browser. We can change the name of the css file or add a path to it if needed by changing the include() function to match the reality of your needs.

    I hope this tutorial helps people be able to detect different browsers and create more browser-compatible websites
    If you have questions or comments let me know Or if you cant get it working Ill help you out if you leave a comment.

  • Raising user privileges with the AT command

    originally published by Acetolyne on Wed, 12/12/2012

    This project outlines one way that a user may be able to raise their privileges on a windows based system. The ability to use the at command is the security risk here. If a user can use the AT command then they can possibly raise their privledges depending on what privledges they already had.

    Lets first look at how we can tell if the user has privleges to run the AT command If they cannot run the AT command they cannot raise their privileges in this way

    >First log into the user account
    >Now go to Start >> Run
    >When the run window opens type in the following:

    cmd

    >This opens command prompt
    now type in the following:

    at

    >If it gives the error message “permission is denied”
    then the user cannot run the command however if the message is “There are no entries in the list” then the user could use this process to gain elevated privileges. If you don’t understand what privileges are then do some research on it but it basically means they can do more administrative things than they were allowed to before they used this process.

    **If you would like to learn more about the at command then in command prompt type the following

    at /?

    This will tell you more about it’s use

    Now that you know which accounts can and cannot perform this process lets take a look at how its done.
    The AT command is used to schedule tasks on your computer just like task manager however from the command line we have more control than we do in windows GUI so now lets schedule a task.

    >First log into the user account for which you want to perform this action.

    >Go to Start >> Run

    >type:

    cmd

    >This opens the command prompt again

    >Ok now type in the following command

    at 14:03 /interactive “cmd.exe”

    ***Replace 14:01 with the current time plus 1 minute this makes the process run one minute from now or if you want give yourself a couple minutes. Use military time if you dont understand that then google it or something cause that is not the topic here**

    > If the time changed before you hit enter it will not run until tommorow so if you want to be safe run it two minutes after the current time

    >It should give you a message
    “added new job with job ID = (some #)”

    >This tells us it worked now just wait until the time you entered

    >At the time you entered a new command prompt window will open. LEAVE BOTH WINDOWS OPEN

    >In the new window look at the top it should say
    C:\Windows\System32\svchost.exe
    >Now take a look at the other command prompt window which we opened before, it says
    C:\Windows\System32\cmd.exe

    >Now we see a difference but what is the difference
    well the cmd.exe window is a normal command prompt the svchost window is a command prompt also but it is being run as the system not a user account!

    >So what can we do with this? Well we already have raised privileges at this point but unless you are familiar with command prompt ( Which everyone should be in my opinion ) then you can’t do much so to take care of that we do a little trick to close the windows GUI and re-open it go back to your svchost.exe window BUT DON’T CLOSE THE OTHER ONE WE STILL NEED IT

    >type in the following:

    taskkill /f /im explorer.exe

    >What his does is closes explorer.exe which is windows explorer or the GUI for windows

    >Now type:

    start %SystemRoot%\explorer.exe

    >This will re-open explorer

    >Since you are logging into windows as the user “System” and this is probably the first time you will be greeted with the windows tour and possibly some other messages

    >Click on Start and look at the top of the menu where it says your name It now says “System” this confirms that you are logged in as the system it’s self.

    >Now you can do whatever you want from here just as you would normally but you will be able to adjust more settings now due to the fact that you are logged in as System.

    Good deal but how do I get back?

    Well to get back go to your open svchost window

    now type:

    taskkill /f /im explorer.exe

    now go to the CMD.EXE window

    type in, ( yup you guessed it )

    start %SystemRoot%\explorer.exe

    FOR WINDOWS 7

    navigate to the C:\Windows\System32 folder

    right click with your mouse and choose Run CMD as administrator and then type in the following command lines:

    sc create testsvc binpath= “cmd /K start” type= own type= interact

    sc start testsvc

    You will get a popup window from “Interactive Services Detection”. Click View the message. Then you will receive a cmd prompt running by SYSTEM.

  • Resizing Virtual Keyboard Interface v1.36

    originally published by Acetolyne on Wed, 12/12/2012

    Virtual Keyboard Interface 1.36 is a javascript program to allow the addition of a virtual keyboard on your website. There are 5 options for sizes that the keyboard can be displayed. My project needed a virtual keyboard and this program worked all except the size f the keyboard. Mine was meant to be used with touchscreens so I needed the keyboard bigger so it was easier for a user to use it with a stylus or simply there fingers on the touchscreen so this is an outline of how to make the keyboard bigger than the options allow.

    First of course you need to download and install the program the files are available for download below.
    Add the keyboard.js, keyboard.css, and the keyboard.png files to the directory where the website is stored.

    In each form field that you want the keyboard interface to be available add the line class=”keyboardInput”
    like this

    
    <input name="login" type="text" id="login" class="keyboardInput" />
    

    you must add the class=”keyboardInput” option to each field you wish to have the keyboard be able to be used

    Ok now we have it setup lets get to changing the size
    first open the keyboard.css file and look for these lines


    #keyboardInputMaster.keyboardInputSize1 * { font-size:9px; }
    #keyboardInputMaster.keyboardInputSize3 * { font-size:13px; }
    #keyboardInputMaster.keyboardInputSize4 * { font-size:16px; }
    #keyboardInputMaster.keyboardInputSize5 * { font-size:28px; }

    these are the sizes for each setting 1 – 5 which you can change as you can see I have chaged the last one to 28px this gives a bigger size than was previously available.Optionally you can change the size of all of the 5 options

    Now if we go to the keyboard.js file we can adjust the default size it appears on our screen as
    open keyboard.js and look for the following line

    this.VKI_size = 5; // Default keyboard size (1-5)

    this sets the default size which can be 1 – 5

    Done right? No not yet if you now go to the website you will see the keyboard available but if you have it set to say the default size of 5 and have changed the keyboard.css file to make it bigger you may see it is not bigger. If you now click on a different size and then back to 5 it now makes it bigger like it should be. Well what gives? Due to the way the program is structured it doesn’t change the size until you click on the size option we don’t want someone to have to do this every time they are using our keyboard so now we fix it.

    Go back to the keyboard.css file and look for this line

    font:normal 28px Arial,sans-serif;

    once again you can see I changed the line to read 28px this is the default size it brings up when the keyboard is first loaded and will fix our problem of the keyboard loading the incorrect size

    Make sure it corresponds with the other settings you have changed in the files.

    As an added feature we can disable the option that allows the user to change the keyboard size to do this take a look at the keyboard.js file again
    find the line that reads

    this.VKI_sizeAdj = true; // Allow user to adjust keyboard size

    If you want to disable the option change TRUE to read FALSE make sure you leave the semicolon ( ; )

    If you have any trouble or questions let me know leave me a comment, send an email, or use the contact section on this site. Hope you found this article useful

  • Hiding Files in Windows

    originally published by Acetolyne on Wed, 12/12/2012

    Ok so you got files that have sensitive information or maybe something else but the main point is you need to hide it. There are many ways of going about doing this but in this tutorial I outline doing it under a windows operating system by simply using the TYPE command in windows command prompt

    First lets start by getting familiar with the use of the command then we will move onto more advanced commands to help even further

    Lets start by going to your C: drive in my computer

    Now create a new folder called TEST

    go inside this folder and create a new txt file

    rename the file to test.txt

    Now go to the folder C:\WINDOWS\system32

    copy SOL.EXE to the TEST folder we created just a minute ago

    Ok now we have a folder named TEST that should contain two files test.txt and sol.exe

    as you can see the test.txt file should be 0 Kb in size if you didnt type anything in the file.

    Now go to START and RUN and type CMD.EXE

    this opens command prompt

    type in the following:

    cd\

    cd TEST

    type sol.exe>>test.txt|sol.exe

    At this point the file sol.exe will open just close it and continue

    This appends the file sol.exe (Which is solitaire) to the file test.txt

    Now we can delete sol.exe from the TEST folder or even from the whole computer and still be able to run it

    How to run it

    ok now the file is in there but how do I run it?

    to run the hidden program go to START and RUN again

    type in CMD.EXE to open command prompt again

    Now to open the program we can type the following:

    start C:\TEST\test.txt|sol.exe

  • How to make a hidden folder in Windows

    originally published by Acetolyne on Wed, 12/12/2012

    Making a hidden folder in Windows

    This tutorial describes how to make a hidden folder in Windows. This technique should not be used as a security feature if your files are sensitive or contain important information. Always use encryption in those cases. You can however use this technique along with the encryption to make your files even more secure. This technique works well if you use a shared computer and dont wan other users finding your files.

    First lets make a folder on the desktop ( this technique can be used anywhere but for the tutorial we will learn the technique on the desktop to get used to it )

    So make a new folder
    now right click the folder and go to properties then to the Customize tab on the top

    Near the bottom of the open window hit the change icon
    scroll to the right until you find a blank picture click ok then hit apply

    If you have done this correctly you folder will now have no icon picture above the name of the folder

    HALF WAY THERE

    Now right click the folder and click rename this will rename the folder of course

    Windows will not allow you to make a folder have no name.
    To get around this we will use ASCII code ( don’t worry its not as scary as it sounds )

    To use ASCII codes you must

    TURN ON NUMBER LOCKS
    HOLD DOWN RIGHT ALT
    PRESS THE ASCII CODE USING THE NUMBER PAD

    to do this on a laptop you might have to hold down the Fn key and the right ALT key at the same time this depends on the laptops keyboard

    now with number locks on and holding the right alt key press 255 on the number pad

    This creates a blank space as a folder name and is acceptable to windows as a folder name hit enter to accept the new folder name.

    now you have a folder with a blank space as a name and no icon picture. The folder is virtually invisible.

    If you cant find the folder press CTRL + A this selects all files and folders and will highlight the folders name in blue but the name is only a single character so it appears as a little blue block. You can open the folder as usual by double clicking into it to open it now if you want put it in a corner away from the other folders clicking anywhere on the desktop will un-highlight the files/folders and will make it hidden again.

    Once again please don’t use this as your only form of security if your files contain sensitive information but instead use it along with your encryption program.

    Please leave comments, suggestions, questions,and feedback here and I will assist

  • SPARQ Code

    originally published by Acetolyne on Wed, 12/12/2012

    What is SPARQ Code? Well its a newer inventive way of making your cell phone easier to use. You may have heard of some newer cell phones which have the ability to read bar codes at stores and return to you the price of the item along with some other useful information about the product. SPARQ Code works almost like a barcode but looks more like the example below.This method is also used in airports for identifying baggage and probably has many more uses.

    SPARQ code is software that allows you to take a picture of the SPARQ Code with your phone and be able to navigate to a url, dail phone numbers, find addresses, invoke applications presently on the phone, download applications some even for free, add people to your contacts list including all information fields, Set meeting dates and times, send text messages, or even send raw data to your phone.

    Here’s a site that lets you develop your own SPARQ Codes or access SPARQ Codes that allow downloading of applications to your mobile phone

    http://www.sparqcode.com/static/maestro

  • Wrapping text in form text fields

    originally published by Acetolyne on Wed, 12/12/2012

    Ok so you have a form and a large text area on your site but the problem is when typing in the field the text stays on the same line, the first line, and seems to go on forever. This makes it hard to read for a guest and also looks bad! lets take a look at a form field now

    In the above form you can type in it and the word will automatically go to the next line. This is what we wanted so lets see how we did it.

    The code behind this form looks like this:

    <form id=”myform” name=”myform” method=”post” action=”submitform.php”>
    <center>
    <textarea name=’unote’ style=’height:250px; width:80%’ wrap=soft>
    </textarea>
    <input type=”submit” value=”SUMBIT FORM”>
    </center>
    </form>

    <form id=”myform” name=”myform” method=”post” action=””>

    The first section starts the form the action was left blank for now but this is where you put the page you want the form to be submitted to something like submitform.php is typical

    <textarea name=’unote’ style=’height:250px; width:80%’ wrap=soft>
    </textarea>

    The next area is the textarea instead of using type=”text” we use the textarea tag this allows us to do some text wrapping we set the height and width with the style tag the at the end we complete it with the wrap tag here I used wrap=soft

    Soft will let you see the line breaks but doesnt submit a linebreak unless you have hit enter or return

    Hard will submit the linebreaks as they are seen in the form.

    Both ways will show it as wrapped but if soft is used then when displaying the info you may have to set the wrap again for it to display correctly.

    <input type=”submit” value=”SUMBIT FORM”>

    Next we add our submit button and make it say the words “SUBMIT FORM”

    </form>

    Then finally we end the form

    I hope this was easy enough to understand and hope it help someone out there trying to get there forms to wrap correctly or to understand why the submitted data is not wrapped correctly.

  • How to add custom META tags in drupal

    originally published by Acetolyne on Wed, 12/12/2012

    This tutorial shows a simple way to add custom META TAGS to your drupal site. This is useful for SEO (Search Engine Optimization) the tutorial will show one way of doing this although it may not be the only way this is the easiest and most effective way of adding meta tags to each page you want and easily updating the information. This module used to be called the MetaTags Module now in Drupal version 7 it is called the NodeWords module.

    First you must know the version number of your Drupal. This can be found by going to your website and logging on as the Administrator. Next navigate to Administration >> Reports >> Status Report This will display a list at the top it says Drupal followed by the version number that is currently installed.

    For Drupal 6xx users install Node words module
    Download below the release of the Nodewords module. Extract the files and you are left with a folder called Nodewords this folder will contain many files and subfolders. Copy that file over to the server using FTP, SCP, SSH, or any other method you prefer copy the Nodewords folder from your computer to the server in the folder where Drupal is installed navigate to the modules folder now copy the Nodewords

    Now to make it work go to the webpage where drupal is and navigate to Administration >> Site Building >> Modules >>
    Now scroll down to Meta Tags and enable everything under it then save.

    Now we just have to configure the whole thing this is done by going to the Administration area there should now be an area that says Meta Tags and there is tons of options in here to show the options in the edit area for your posts and also set up general meta tags or custom ones for each page and tons of features and settings for SEO.

  • Showing code examples on your website

    originally published by Acetolyne on Wed, 12/12/2012

    This tutorial shows you how to print html or other source code examples on your website, show users example coding, and display programming code to a user.

    The problem is when you write the example code into your HTML or otherwise parsed website it doesn’t display the coding rather it parses it and displays it as if it were part of your website.To fix this I found two ways that work. As a note I came across a reference to the <xmp> tag. This tag is deprecated and doesn’t work with many browsers so should NOT be used.Now for an example we have the following code

    <html>
    <body>
    <h1>
    Here is an example of some HTML code
    </h1>


    <form>
    <input type=”text” name=”form1″>
    </form>


    </body>
    </html>

    This will give us the following output

    Here is an example of some HTML code

    BUT WAIT!! this isn’t what we want we wanted the coding for the form to be displayed instead it parsed the form and displayed an actual form. So how do we get around this?

    METHOD 1

    using the <pre> and <code> tags. Why we use both is for compatibility with browsers we want our code to be compatible with all or atleast most browsers or some users will not be able to view our site. This will cause less visitors to be able to come to our site and this is not good so we will use both. Our new code will look like this:


    <h1>
    Here is an example of some HTML code
    </h1>


    <pre>
    <code>


    <form>
    <input type=”text” name=”form1″>
    </form>


    </code>
    </pre>

    Notice the <pre> and <code> tags are around the coding we want to display and nothing else any coding inside these tags should be shown as text instead of parsed. Now lets take a look at a better way to do it instead.

    METHOD 2

    This method is much better but a bit harder to do but will result in better browser compatibility. Lets start with the original coding we had


    <html>
    <body>
    <h1>
    Here is an example of some HTML code
    </h1>


    <form>
    <input type=”text” name=”form1″>
    </form>


    </body>
    </html>

    We want this coding displayed as text instead:


    <form>
    <input type=”text” name=”form1″>
    </form>

    So what we need to do is replace all the < symbols with

    & lt; (without spaces)

    and all the > symbols with

     & gt; (without spaces)

    But only around the coding we wish to display to the users of our website. Hope this tutorial helps and allows you all to show your source coding to others. I will also be doing a tutorial on a Javascript alternative to these methods so look for it on this site soon.

  • Getting the most out of your fingerprint scanner

    originally published by Acetolyne on Wed, 12/12/2012

    ***********************************************************
    Before installing this program make sure your fingerprint scanner is installed and working correctly. It must allow you to enter windows only using the fingerprint scanner. Additionally make sure you can enter safe mode on your computer with the fingerprint scanner only. This ensures if windows has a problem loading in the future that you can enter safe mode and fix it. This program will still disable the keyboard in safe mode.
    ***********************************************************
    >Ok so you just got a fingerprint scanner or perhaps a laptop with one built in you set it up and now instead of typing your password in you can just put your finger on the fingerprint scanner and it uses your fingerprint as the password

    >The problem is that now someone can either type in the password or they can use the fingerprint scanner

    >Now the fingerprint scanner is a convienence but it doesnt add any security to your system because someone can still type in the password and access the computer

    >This project focuses only on the windows password the goal is to disable the keyboard at the login screen but re-enable it after windows loads so it can be used after you have successfully logged in. This makes the system more secure because someone HAS to use the fingerprint scanner to access the system they can no longer type in your password

    >This will only be true if the person is at your computer the password can still be used remotely to gain access to your computer

    **NOTE this is very dangerous because if your fingerprint scanner breaks or is stolen then you can’t type the password in because of the keyboard being disabled USE THIS TECHNIQUE WITH CAUTION***

    Please read the Readme.txt file
    Leave comments, concerns, questions, bug reports here

  • AceBurner

    originally published by Acetolyne on Wed, 12/12/2012

    Deletes windows genuine advantage tool

    *Only for use with windows XP 32 edition
    use this program at your own risk. If it works on
    other Windows OS’s please let me know*

    *Upgraded versions will have added support*

    I made the first version of AceBurner this doesnt
    have a nice GUI but it is effective.

    >Download AceBurner from the bottom of this page

    >Put the Ace Burner folder in the C:\ directory
    *This is the only folder it will work with Future
    versions will have added support*

    >in the AceBurner folder run the install.exe

    >If any errors came up then you didnt put it in
    the correct location so try again the path is
    C:/Ace Burner

    >Now there is a shortcut on your desktop called
    AceBurner.exe run this anytime you accidently
    download the WGA tool and it will delete the
    program.

    >Instead of running it from your desktop you also
    have the option of restarting your computer this
    program will run every time that windows starts
    and protect you from having the WGA tool
    installed on your computer

    >the WGA tool does not HAVE to be downloaded from
    microsoft and this program does not make it a
    genuine copy, does not bypass the WGA tool all
    itdoes is deletes it from your system so you will
    not have a genuine copy of window from using this
    program but you also wont have that annoying
    popup telling you it’s not a genuine copy of
    windows.

  • WRT:bug_fix router reset button

    originally published by Acetolyne on Wed, 12/12/2012

    This project was created to disable the reset button on your router. The reset button will reset your username/password to the factory defaults this creates a security risk if someone has physical access to your router which in most cases someone has. This project uses a router that is flashed with WRT. WRT allows us to enable/disable the reset button on our router, however when WRT made this feature available they coded it wrong so the feature doesnt work. We will however disable the button through the WRT interface. This will not however disable it completly we will discuss why this is and how to fix it but first lets look at the steps we will be taking:

    >Get a router with WRT on it or put WRT on your router.
    If you dont know how then visit WRT’s website or look for my upcoming tutorials on flashing routers with WRT I will show the process for many routers.

    >Disable the button in WRT

    >Rebuild our bootloader and reflash the router


    CAUTION: This process will disable the reset
    button and if you forget the password you will
    have to re-flash your router to gain access to
    it. DO NOT forget your password!!!!

    >This tutorial assumes you have a router that has
    been flashed with WRT. WRT is a third part
    firmware for your router and gives you as an
    administrator far more options and control.
    >If you have WRT you may have noticed there is a
    spot to enable or disable the reset button
    however upon trying to disable it you may find
    that it does not work!!!! Yeah seams they made a
    coding error well this part is easy to fix using
    the WRT interface.Lets take a look at how to do
    this

    >First open your internet browser IE or firefox
    or whatever else you might use and access your
    routers web interface this is done by typing in

    http://192.168.1.1

    This will be different if you changed your
    routers ip address for networking reasons if you
    know enough to reconfigure the ip you should know
    how to access it

    >now you are at the WRT web interface if you dont
    have WRT installed on the router please install
    it first then come back to this tutorial. Go to
    the Administration tab Then on the SUB-TABS go to
    the Commands tab

    >at this point you are presented with a text area
    where you can put commands and execute them, save
    them to startup, or save them as custom scripts

    >type into the text area:

    killall resetbutton

    >Now hit the Save Startup button

    >Reboot your router once its completly rebooted
    access the web interface again and try it out to
    make sure it worked. Press that bad old reset
    button and nothing should happen you should still
    need to log in with the username/password set
    that you created NOT THE FACTORY DEFAULT

    >Ok I made my script and it disabled the button
    right????
    NO
    >Lets take a look at what routers do when you
    plug them in: First the router goes through a
    boot process just like a computer then it will
    load WRT which is the equivelent of starting
    windows.
    >So when we made that script and told it to
    disable the button that was only for after WRT
    starts during the bootloader process it is still
    enabled. This allows someone to unplug the router
    and hold the reset button while the plug it back
    in. Doing this resets the router to factory
    defaults. We just went throught the work of
    fixing the script for WRT so Im sure we dont want
    the bootloader making our efforts useless SO
    >What do we do? Well the next part is a bit more
    complicated but is the way I found to disable the
    button completly thus eliminating a security risk.
    >We are going to need to rebuild the bootloader
    and reflash the router with the new bootloader