Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - lucid

Pages: 1 [2] 3 4 ... 12
Hacking and Security / IPtables practice firewall
« on: June 28, 2014, 11:43:26 pm »
I'm looking to set up an iptables firewall. The purpose of this particular firewall is for testing. I'm not using this to secure my network. It's extremely frustrating to try to google for "firewalls for penetration practice" or something like that, because all you find it "impenetrable firewalls"

So I'm looking for ideas on a good realistic firewall ruleset that I can practice bypassing. Suggestions?

Hacking and Security / Want to learn more about SCADA
« on: June 21, 2014, 07:08:34 am »
Some of you may know about SCADA technology, or at least what SCADA is. Some of you may have no clue what I'm talking about because it's still somewhat newish in the security industry. Anyway, I've had a strong interest in learning more about this topic for quite some time. There seems to be very little quality information on the web about learning how SCADA systems work, SCADA hacking, and so forth. Anytime I search for it all I find is stuff about Stuxnet.

Does anyone share this interest with me? Does anyone here already know about SCADA systems? Or some avenue of learning about them? Aside from Stuxnet, most of what I find is sites where you can sign up for classes on SCADA systems for the low low price of 4000 usd.

Scripting languages / [Bash]For loop isn't looping
« on: June 18, 2014, 08:01:10 am »
I am a complete novice with bash(much to my dismay), and I got bored and tried writing some trivial script. It's not really working the way I want it to and I can't really figure out why.

Code: Bash
  1. #!/bin/sh
  3. OUT=($(cat domains.txt))
  5. for HOSTNAME in $OUT
  6. do
  7. echo "Getting name servers for [$HOSTNAME]"
  8.   nslookup -type=ns $HOSTAME
  9. done
The file it's working with:
Code: [Select]
However it only posts the results for I'm missing something simple but don't see it.

EDIT: Nvm, fixed it by storing lines into an array first.

Code: Bash
  1. #!/bin/sh
  3. array=()
  5. getArray() {
  6.   i=0
  7.     while read line
  8.     do
  9.         array[i]=$line
  10.         i=$(($i + 1))
  11.     done < $1
  12. }
  14. getArray "domains.txt"
  16. for HOSTNAME in "${array[@]}"
  17. do
  18. echo "Getting name servers for [$HOSTNAME]"
  19.   nslookup -type=ns $HOSTAME
  20. done
Though I admit to getting help from StackOverflow. I don't 100% understand how the array works.

Scripting languages / [Ruby]IP logging webserver
« on: June 13, 2014, 10:19:39 pm »
Hopefully this doesn't seem like shit posting. This is something I put together this morning, and I'm looking for some more ideas on what to do with this. Fr those of you who can't make sense of simple code, what this does is listen on whatever port you tell it to and then logs all IP addresses that connect to it in a file. When the client connects it prints the client's IP address to the client. It's like a What'sMyIP server. Just fire this server up and enter the IP and port into your URL on the client. Here's the code:
Code: Ruby
  1. #!/usr/bin/env ruby
  4. require 'socket' # We need this shit
  7. # Build the socket
  8. server =[0])
  11. # Begin for exception handling
  12. begin
  14.     loop do # Keep server alive
  15. do |c| # Threaded for simultaneus connections
  17.             # Prints requests to server for debugging
  18.             request = c.gets
  19.             STDERR.puts request
  21.             # The whole point of this script
  22.             res = "Your IP address is: #{c.peeraddr[2]}\n"
  24.             # Build a proper HTTP response
  25.             # Be sure to include required whitespacing
  26.             c.print "HTTP/1.1 200 OK\r\n" +
  27.                         "Content-Type: text/plain\r\n" +
  28.                         "Content-Length: #{res.bytesize}\r\n" +
  29.                         "Connection: close\r\n"
  31.             c.print "\r\n"
  32.             c.print res # Print the actual response
  34.             # Logs connecting clients IP addresses to a file
  35.             # Saves the exact time of connection
  36.             # Appends logs
  37.   "iplog.txt", "a") do |log|
  38.                 log.puts "Connection from #{c.peeraddr[2]} logged at: #{}"
  39.             end
  41.             # Close that shit
  42.             c.close
  44.         end
  45.     end
  47. # Gets rid of ugly error messages with Ctrl-C
  48. rescue Interrupt
  49.     puts " Connection terminated"
  51. end
The only trouble I am having is that the exception for SocketError doesn't actually go into effect. It posts the actual Ruby error instead of the output I specified. Not a huge deal really, but I've done it plenty of times before successfully. I'm looking for ways to further this code.

EDIT: Almost forgot. Here's the client code if you want to try it via command-line. I just stole this from a Rubydoc website because it wasn't my focus and it's extremely simple code.
Code: Ruby
  1. #!/usr/bin/env ruby
  4. require 'socket'
  7. req = "GET / HTTP/1.0\r\n\r\n"
  8. s = ARGV[0], ARGV[1]
  9. s.print(req)
  10. res =
  11. headers, body = res.split("\r\n\r\n", 2)
  12. print body
Note: The server only works on port 1023 and above.

Hacking and Security / SSH Keys problem?
« on: June 10, 2014, 04:30:18 am »
I've been working on this stupid thing for the better part of a day. I can't seem to connect to my server if I use key authentication only. The error I'm getting is simply:
Code: [Select]
Permission denied (publickey).

Now, here's the details. I'm using a user on my client made specifically for SSH. This user's name is shell. The user on the server is also named shell. Hopefully that doesn't confuse you. Here's the server's sshd_config:
Code: [Select]
# $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

AllowUsers shell
Port 12222
#AddressFamily any
#ListenAddress ::

# The default requires explicit activation of protocol 1
#Protocol 2

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024

# Ciphers and keying
#RekeyLimit default none

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile ~/.ssh/authorized_keys

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
PermitEmptyPasswords no

# Change to no to disable s/key passwords
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no # pam does that
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
UsePrivilegeSeparation sandbox # Default for new installations.
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /run/
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
Banner /etc/issue

# override default of no subsystems
Subsystem sftp /usr/lib/ssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server

And the client's ssh_config:
Code: [Select]
# $OpenBSD: ssh_config,v 1.27 2013/05/16 02:00:34 dtucker Exp $

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

# Host *
User shell
#   ForwardAgent no
#   ForwardX11 no
#   RhostsRSAAuthentication no
   PubKeyAuthentication yes
   RSAAuthentication yes
#   PasswordAuthentication no
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p
#   RekeyLimit 1G 1h

Now, I've copied the client's public key to the authorized_keys file on the server using ssh-copy-id. I've also tried using scp. Makes no difference. I have both the pub and private key on the client stored in the ssh user's(shell) .ssh directory. I've tried changing the permissions of the server's authorized_keys file to everything from 644 up to 777. Makes no difference. I've also tried explicitly defining the path to the client's private key when I connect using:
Code: [Select]
ssh -i /home/shell/.ssh/id_rsa -p 12222 shell@ipaddress
Still, I get the same error. Here's some more details:

ssh -v -p 12222 shell@ipaddress
Code: [Select]
OpenSSH_6.3, OpenSSL 1.0.1g 7 Apr 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to [] port 13409.
debug1: Connection established.
debug1: identity file /home/shell/.ssh/id_rsa type 1
debug1: identity file /home/shell/.ssh/id_rsa-cert type -1
debug1: identity file /home/shell/.ssh/id_rsa type 1
debug1: identity file /home/shell/.ssh/id_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr none
debug1: kex: client->server aes128-ctr none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 75:5e:41:a6:fa:f5:ac:8f:ab:23:ea:aa:ca:71:4a:65
debug1: Host '[]:13409' is known and matches the ECDSA host key.
debug1: Found key in /home/shell/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_ACCEPT received
                 \\\-_..-,  \\\\\'
                  \\`-|_"    \\\\'                   
                   \\\ ,    ///|\\                   
                   _||\  _.'//////                   
                .-'///'"" |//////__                 
               /  //'.`--..////'.' ".               
     .-=-.    /_...--._""--//""._    .               
    +     \   J  ;.    "-..---..  J   \             
   /       \  |  lo)    . .     ".F    \             
  /         \ F  `.    .   .    (o:_.-=='           
 /           \F  J;"--"    :.    .'  |             
f        ;    \ J|:::  .:; ::;--"|   |         
        /      \FF::  ::::. ::;/ |   |         
      ,J.       Y:'  :::::'   /  |   |         
     /  F        .   ''_    ./   |.-""-.....---"""-.
   ,'   J.        .        .:    /,;:\\\:.          Y
  /      Into       .       ;_..-(/ |:\\\\"'         J
 /       J         .  ..  ;'       `' `'`'  .'      '
/        :/)      .: .%' The              _/       /
         `:_--,   ' ,.";'             _.='/       / 
          `:_"_'-, ///Tunnel     _..-""  /       /   
         .-'`---''-""-.___..---"""      J       /   
      .-'              ,',' |           F      /     
      ;---------------','   |          j'     /     
      |---------------|    ,'          F     /       
      |               |  ,'           j'    /       
      |_______________|,'             F____/           

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/shell/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: /home/shell/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
As you can see, that sexy lady is my banner. Try not to beat it too hard. I honestly don't see what went wrong based on the verbosity. Oh, and one more thing. I generated the key pair like so:
Code: [Select]
ssh-keygen -t rsa -b 4096 -C "$(whoami)@$(hostname)-$(date -I)"

I generated it using the ssh user. That's about all of the information I can muster. Hopefully I'm just being stupid.

EDIT: I also just tried clearing the authorized_keys file and starting over with a new public key. This time, I used ecdsa and didn't specify any size. Once again copied to the authorized_keys file on the server and double checked. Still getting the same exact problem. I also removed all lines specifying a particular user in any of the configs. Yes, I restarted the server after making changes. No dice.

This is supposed to be easy. I've done this plenty of times in the past without any trouble.

General discussion / Unmotivated
« on: May 16, 2014, 09:01:58 pm »
I think it's been about two weeks now, maybe even more. I am so unmotivated to do anything. I've barely touched a computer at all the past couple weeks. Even thinking about coding or hacking anything at all sounds completely tedious and uninteresting, and I can't figure out how to pull myself out of it. As soon as I pick up a computer to try and read something or code something or anything like that I just feel bored and depressed.

This blows. I don't want to be bored by hacking, but I am.

General discussion / Security + Certified
« on: May 14, 2014, 10:41:53 pm »
I am the above statement now. Woohoo n' shit. It was 74 questions long and the first five were the hardest ones. Had me freaked out there for a minute. After that was a breeze. Got 850 out of a possible 900, and the passing score was 750. I think that's good but I guess I don't really know.

Anyway, now I'm the best hacker in the world because a piece of paper says so. Bow to me.

Found it on the Webs / Makes me rethink choosing security as a career
« on: April 29, 2014, 01:22:24 am »
Just as the title states. I've often pondered the idea that getting a career as a security professional would make me eventually hate hacking. What about you?

Operating System / Oh my fucking god this is stupid(TRK)
« on: April 26, 2014, 05:10:34 am »
Someone please just...... tell me how to fucking install it on USB. I'm sorry, I just can't get it to work. The fucking documentation on their website is fucking wrong and doesn't fucking work for me. They tell you to do:
Code: [Select]
mount -o loop trinityrescuekitisofilename.iso /mnt
And then they tell you to start copying shit. Well guess what, it fucking mounts read only so go fuck yourself TRK website. Has anyone done this the simple way with like dd or something. I tried that once but no dice.

I'm too tired for this right now it shouldn't be this annoying to install a fucking iso on a fucking usb fuck fuck.

General discussion / It has come!
« on: April 09, 2014, 09:42:21 am »
It, in this case, is a Lenovo T420s. It's sleeker then I imagined, and so far it seems oh so perfect. Well I'll just post teh specs:

model name      : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
MemTotal:          8 gb
HardDrive:         300 gb
Wifi:             Intel Centrino Advanced-N 6205
Pretty much all chipsets: Intel

It only cost around $400, and on the website it said it only had 4gb of RAM. I was very pleasantly surprised to find that it has double that! This thing was $200 less then my Asus which many of you have been hearing so much about, and it has double the RAM and a faster processor. Not to mention the fact that it's a Lenovo, so it's solid. I think my favorite part about it is that the network chipsets are all Intel. No fucking Realtek or Broadcom. Honestly didn't think that was possible. I checked online before placing the order, it's been confirmed that this laptop is quite linux compatible as per this link:

Sure that's just Ubuntu but it is obviously linux compatible. One thing I did observe however, is that when I fire up a live Kali usb on it(Ihaven't installed a real *nix on it yet) it frequently disconnects from the internet and then reconnects within a few seconds. I am not entirely worried about it however. I've experienced problems like this before with NetworkManager as well as wicd. So I expect that when I install Linux on it and just use netctl or wpa_supplicant to connect that it'll do just fine. I hope so at least...

It came installed with Windows 7 professional, but I intend to wipe that completely in favor of linux. No dual-boot since I already have another laptop with a dual-boot. I'm thinking Slackware since I also already have an Arch box.

EDIT: Eh, unfortunately it seems that there has been a fair few who experience the same disconnect problem with the same wifi card. Bummer, however I'm still not all that worried. Seems just about everyone is running some Debian flavor, and almost all of these people are using Wicd or NetworkManager. I hate both these utilities and don't intend on using them. I'm hoping the issue won't be there when I install Slackware and use netctl. If it does persist, there's sure to be a patch out there I can use. I won't let a little wifi trouble get in the way. This laptop is too badass.

Hardware / Which motha fuckin laptop motha fucka?
« on: March 31, 2014, 01:48:03 am »
Which one should I get:


The bottom one(HP) has better specs then the top one(Lenovo) to a non-negligible degree, but the only thing is that I hear really good things about Lenovo's hardware, and I'm so fucking sick to death of hardware issues that it would be worth it, even if the HP's CPU is faster and the hard drive is bigger. I don't know about HP really, but at least it's not a Dell right?

I don't know why websites never include the NIC chipset in the specs. I would REALLY like to know that info before buying a laptop. Seems everything in the world runs fucking Broadcom.

EDIT: Just realized every single review on the Lenovo said that the battery that came with it was either wrong, or non-existent. Fuck that noise. I don't know what the fuck they are doing over there at Newegg but they need to get their shit together. Every time I've ever ordered anything from Newegg, the order always get's sent back at least once before I get it. Sometimes twice due to stupid phone number issues. Like that matters so damn much. Plus I've heard lot's of stories pertaining to Newegg's inability to send the correct equipment, or parts of the whole package are missing.

I mean seriously, everyone else can do it just fine Newegg, what the fuck are you doing. Shit, maybe I should scrap both these and go to tigerdirect or something.

General discussion / I can haz job?
« on: March 28, 2014, 10:30:50 pm »
Many of you here have jobs working as sys admins, network admins, security analysts/researchers, etc. I am completely eluded by the process which one must go through in order to get a job in this field. Obviously I don't just walk in and grab a little application like at Burger King :P.

Of course I'm sure most of you are going to tell me that you got lucky and stumbled upon some random dude at a strip club who you then somehow started a conversation about hacking with, and he found out that you can "pwn shit real hard!" so he gave you a job.

But for those of us who aren't super lucky, I want to know how you get a job in the network/security field..... with a high emphasis on security.

Hardware / I can't do it anymore
« on: March 26, 2014, 02:31:58 am »
Ok. So as some of you know I've gone through three broken screens on this fucking Asus shit in under four years. The first time was dead pixels and it happened only a month or so after I bought the laptop. The second time was a year after I replaced the first laptop under warranty because of the broken screen. It was again, dead pixels, so I bought a new screen and replaced it myself. Then, only four months later(a few days ago) the screen started acting weird. It was flasshing black and sometimes would just stay black and I could see anything on the screen. Eventually it just comes back on it's own or I mashed the keyboard out of desperation. Eventually it went black and never came back on. So, I just got my third new screen yesterday after the second one lasted only four months. I replaced it yesterday.

Today, it started flashing again, just like the other one. I've had it for ONE FUCKING DAY and it's already going to shit. I'm sure it's only a matter of a few days before this screen breaks in the same fashion as the other one. What a waste of $55. I'm extremely sad and angry.

I don't get it. What the fuck is the problem? I doubt it has to do with my video card because I was able to plug it in to an external monitor(hdmi) just fine after the previous screen went black. Am I really just that unlucky and I bought 3 fucking duds? I've checked the connection to the screen and to the motherboard. They are both solid. I'm also pretty sure that I got the right screen. I mean, how hard could it fucking be? There's only a few criteria:

Does it fit?
Absolutely. Otherwise I wouldn't of even gotten it in in the first place.

Is 1366768, and I bought a WXGA 1366768 screen..

Duh. It has a 40 pin connector, and if I had bought the wrong one I'm sure it wouldn't have fit at all.

So what the fuck is going on. The laptop is all I have and I take good care of it. I've only had it a little under four years. So it's not like it's and old piece of shit or something. It's an Asus K53e. If I'm not buying the wrong screen, then what the fuck is the issue here? I'm getting sick to death of fucking screen issues.

Hardware / Other Reasons for Broken Lenovo Fan
« on: March 18, 2014, 01:22:26 am »
So I bought a fan for my old ass Lenovo IBM Thinkpad because the old one wasn't spinning which is obviously bad. I opened it up originally and found that when I turn it on, the fan spins for a few seconds and then slows to a halt.

Got my new fan in today, it fits perfectly. So I plug it in and start up the laptop. Sure enough, it did the same thing :(

First of all, I want to cry myself to sleep. Money is very difficult for me to come by, so it's wonderful news that I just wasted some. Second, does anyone know what the problem WOULD BE then? I didn't just buy a new fan, it came with the heatsink and everything. So unless I am literally the most unlucky mother fucker in the world(starting to seem highly possible), then why would the fan not spin, if it didn't have anything to do with the fan or heatsink?

eBooks / Assembly Language Step by Step 3rd Edition
« on: March 16, 2014, 04:49:55 am »
The long-awaited third edition of this bestselling introduction to assembly language has been completely rewritten to focus on 32-bit protected-mode Linux and the free NASM assembler. Assembly is the fundamental language bridging human ideas and the pure silicon hearts of computers, and popular author Jeff Dunteman retains his distinctive lighthearted style as he presents a step-by-step approach to this difficult technical discipline.

He starts at the very beginning, explaining the basic ideas of programmable computing, the binary and hexadecimal number systems, the Intel x86 computer architecture, and the process of software development under Linux. From that foundation he systematically treats the x86 instruction set, memory addressing, procedures, macros, and interface to the C-language code libraries upon which Linux itself is built.

    Serves as an ideal introduction to x86 computing concepts, as demonstrated by the only language directly understood by the CPU itself
    Uses an approachable, conversational style that assumes no prior experience in programming of any kind
    Presents x86 architecture and assembly concepts through a cumulative tutorial approach that is ideal for self-paced instruction
    Focuses entirely on free, open-source software, including Ubuntu Linux, the NASM assembler, the Kate editor, and the Gdb/Insight debugger
    Includes an x86 instruction set reference for the most common machine instructions, specifically tailored for use by programming beginners
    Woven into the presentation are plenty of assembly code examples, plus practical tips on software design, coding, testing, and debugging, all using free, open-source software that may be downloaded without charge from the Internet.
I searched fairly thoroughly and didn't find this on the forum already so I hope this isn't a dupe.

This is simply the best book on assembly I can say that I've read. This book gives a solid four chapters (at least) explaining exactly how a computer works from the cold hard metal and silicon to the soft ones and zeros. Really gave me a clear picture of all it all worked and fit together. Plus it's not a dull book like most others I've read. I highly recommend this book if you want a thorough and easy to understand book on assembly and computers. Also, thanks to TurboBorland for recommending this to me.

EZ upload:

and added to the index.

Pages: 1 [2] 3 4 ... 12

Intern0t SoldierX SecurityOverride programisiai
Want to be here? Contact Ande, Factionwars or Kulverstukas on the forum or at IRC.