User Tools

Site Tools


recommended_reading

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

recommended_reading [2013/08/13 12:13] (current)
Line 1: Line 1:
 +>>//"​If you want to learn assembly you need to be motivated enough to do it//
 +>>//​on your own. If you want to get good enough at reversing to work on//
 +>>//​malware you will need to know assembly. That's all there is to it. Buy//
 +>>//a book and get started!//
 +>>//​[[...]]//​
 +>>//​you won't learn assembly by coming to NSL once a month. You'll learn it //
 +>>//​the Linux way (tm): by beating your face against a wall until it makes sense.//
 +>>//​[[...]]//​
 +>>//​Go wild! All the assembly references posted here are helpful. Read as//
 +>>//​much as you can before the next meeting : )"​**//​- datagram**
 +
 +===== Articles =====
 +>>​**Title - Writing DOS utilities with DEBUG, part 1**
 +
 +>>​Author - Prosise, Jeff<​nowiki>​Insert non-formatted text here</​nowiki>​
 +>>PC Magazine
 +>>Sep 28, 1993
 +
 +>>​Abstract -    Tips for using the DEBUG feature of DOS to create small assembly language programs ​
 +>>are offered. ​ Programs can be written with an understanding of as few as a dozen assembly ​
 +>>​language commands.
 +
 +>>​**Title - Writing DOS utilities with DEBUG, Part 2
 +
 +>>​Author - Prosise, Jeff
 +>>PC Magazine
 +>>Oct 12, 1993
 +
 +>>​Abstract -    Three DOS programming services available through interrupt 21h are explained in a 
 +>>​discussion about programming small assembly language DOS utilities. ​ Functions 2Ah, 2Ch and 30h 
 +>>​return the date, time and DOS version, respectively.
 +
 +>>​**Title - Writing DOS utilities with DEBUG, part 3
 +
 +>>​Author - Prosise, Jeff
 +>>PC Magazine
 +>>Oct 26, 1993
 +
 +>>​Abstract -    Programming services available in the PC BIOS are discussed, focusing on the 
 +>>​functions in the BIOS, the logical "​and"​ and "​or"​ instructions,​ indirect addressing and loops.
 +
 +>>​**Title - Writing DOS utilities with DEBUG, Part 4
 +
 +>>​Author - Prosise, Jeff
 +>>PC Magazine**
 +>>Nov 9, 1993
 +
 +>>​Abstract -    Tips for incorporating logic into assembly programs written using DOS' DEBUG 
 +>>​miniassembler are offered. ​ Command line parameters can be recognized using the methods described.
 +
 +<!-- These were difficult to source. ​ The various magazine databases(Gale,​ Proquest, EBSCO, Lexis/​Nexis) only carry full-text for PC Magazine as far back as 1999. PCMag.com sells a .Net archive viewer program under their PC Magazine utilties subscription for $19.99 or just under $8 for a one time download. ​ Someone uploaded an ISO for PC Magazine CD from 1995 that included a 1 year archive(mid 1994-mid 1995). ​ The archive also lacked any images. ​ Fortunately,​ we got these off a crashed HD.
 +
 +Most likely Ziff-Davis will come down hard(DMCA takedown notice, at least) so don't advertise ​
 +-->
 +**Download(PDFs for each article, password is //"​nullspace"//​):​**
 +>><​nowiki>​rapidshare link - https:<​nowiki>//</​nowiki>​rapidshare.com/​files/​3167923781/​WDUWD_1-4.zip </​nowiki>​
 +>><​nowiki>​verzend.be link - http:<​nowiki>//</​nowiki>​www.verzend.be/​zk4xtkolf53x/​WDUWD_1-4.zip.html </​nowiki>​
 +>><​nowiki>​Crocko link - http:<​nowiki>//</​nowiki>​www.crocko.com/​ECF5E935475B4C7896D36B75BEEE5930/​WDUWD_1-4.zip </​nowiki>​
 +
 +
 +>>​**Implementing a Tilt-Compensated eCompass using Accelerometer and Magnetometer Sensors**
 +
 +>>​Author - Talat Ozyagcilar<​nowiki>​ </​nowiki>​
 +>>​Freescale Semiconductor ​
 +>>​Application Note Document Number: AN4248, Rev. 3, 01/2012
 +
 +>>​Abstract -  An extremely useful introduction to integrating magnetometer and 
 +>>​accelerometer data in order to build a digital compass. Detailed ​
 +>>​descriptions of how the math works, with most functions implemented in C#
 +>>Can be downloaded at 
 +>>​http:<​nowiki>//</​nowiki>​cache.freescale.com/​files/​sensors/​doc/​app_note/​AN4248.pdf
 +
 +===== Books =====
 +
 +>>​**Professional Assembly Language**
 +>>>​http:<​nowiki>//</​nowiki>​www.amazon.com/​Professional-Assembly-Language-Programmer/​dp/​0764579010
 +
 +>>>"​Examples use C as a high-level language, Linux as the development environment,​ and GNU 
 +>>>​tools for assembling, compiling, linking, and debugging "
 +
 +>>>​**Comments**
 +
 +>>>​**NMI-**//"​There was another one from Wrox a number of years(DOS extender era) before this one//  ​
 +>>>//​that I liked. Can't remember the title off hand.//
 +
 +>>>//​The first review mentions AT&T syntax only. So maybe not the best unless you're sticking with //
 +>>>​**gas'​ on Linux. ​ Still it's positive on the basics."//​
 +
 +>>>​**livinded-**//"​The fact that it's at&t and only focuses on linux isn't a huge issue and depending //
 +>>>//​on what you're interested in may not even be an issue. I'm personally a fan of at&t syntax and have //
 +>>>//​little to no interest in windows, but I will say that it's not horrible difficult to shift back and //
 +>>>//​forth between intel and at&t, at least for reading assembly.//
 +
 +>>>​**datagram-**//"​I don't have too many books on assembly, but I would recommend//
 +>>>//​Professional Assembly Language (AT&T syntax) and the Intel IA-32//
 +>>>//​documentation (http:<​nowiki>//</​nowiki>​www.intel.com/​products/​processor/​manuals/​). It//
 +>>>//​doesn'​t really matter which type of assembly you learn, but I'd//
 +>>>//​recommend sticking with x86 and Intel or AT&T to make things easy (and//
 +>>>//​applicable to the meeting). I personally like AT&T as a learning tool//
 +>>>//​because it is easy to distinguish between registers, literal values,//
 +>>>//​and memory locations (this was one of the stumbling blocks at the//
 +>>>//​meeting,​ too). Aside from that there'​s no real difference in the same//
 +>>>//​way that there'​s no huge difference between little endian and big//
 +>>>//​endian. I've grown accustomed to AT&T just because most of the Linux//
 +>>>//​tools use that by default.//
 +
 +
 +>>​**Assembly Language Step-by-Step:​ Programming with DOS and Linux**
 +>>>​http:<​nowiki>//</​nowiki>​www.amazon.com/​Assembly-Language-Step---step-Programming/​dp/​0471375233/​
 +
 +>>>​**Comments**
 +
 +>>>​**NMI-**//"​The Duntemann book. Uses NASM(Netwide Assembler). I've heard good things about this one,//
 +>>>//​but never really looked at it. //
 +
 +
 +>>​**Introduction to 80x86 Assembly Language and Computer Architecture**
 +>>>​http:<​nowiki>//</​nowiki>​www.amazon.com/​Introduction-Assembly-Language-Computer-Architecture/​dp/​0763772232/​
 +
 +>>>​**Comments**
 +
 +>>>​**NMI-**//"​The price is insane(~$75),​ but used it's tolerable(~$11). ​ The first review says "When you //
 +>>>//​finish the book, you may understand assembly, but you won't know what to do with it (or what you can //
 +>>>//​do with it). Nor is it thorough enough to be used as a reference material for work. It omits quite a //
 +>>>//​few processor instructions that I feel are important to know for reference."//​
 +
 +>>>//​The other two are much more positive."//​
 +
 +
 +>>​**Dr. Paul Carter'​s PC Assembly Tutorial**
 +>>>​See below 'Web sites' for link
 +
 +>>>​**From the author:** //"I grew frustrated at teaching 16-bit real mode programming and//
 +>>>//​decided to change to 32-bit protected mode. However, I soon ran into a//
 +>>>//​problem. I could not find a textbook that covered 32-bit protected//
 +>>>//​mode assembly programming! So, I decided to write my own.  I also did//
 +>>>//​not want students to have to go out and buy expensive software for the//
 +>>>//​course. I decided to base the course on the free NASM (Netwide//
 +>>>//​Assembler) and the free GNU gcc compiler (however, any 32-bit C//
 +>>>//​compiler would work). Another advantage of these choices was that//
 +>>>//​students could use Windows, Linux or FreeBSD to develop on. (In fact,//
 +>>>//​I use Linux for my main development platform.)//​
 +
 +
 +=====  PCB Design ​ =====
 +http:<​nowiki>//</​nowiki>​www.compliance-club.com/​pdf/​DesignTechniquesPart1.pdf
 +
 +http:<​nowiki>//</​nowiki>​www.compliance-club.com/​pdf/​DesignTechniquesPart2.pdf
 +
 +http:<​nowiki>//</​nowiki>​www.compliance-club.com/​pdf/​DesignTechniquesPart3.pdf
 +
 +http:<​nowiki>//</​nowiki>​www.compliance-club.com/​pdf/​DesignTechniquesPart4.pdf
 +
 +http:<​nowiki>//</​nowiki>​www.compliance-club.com/​pdf/​DesignTechniquesPart5.pdf
 +
 +http:<​nowiki>//</​nowiki>​www.compliance-club.com/​pdf/​DesignTechniquesPart6.pdf
 +
 +===== Web Sites =====
 +
 +>>​http:<​nowiki>//</​nowiki>​www.sandpile.org/​
 +>>//​sandpile.org - The world'​s leading source for pure technical x86 processor information.//​
 +
 +>>>​**Comments'​
 +
 +>>>​**CharlieX-**//"​[[It]] covers just about everything on the PC asm/​hardware side."//​
 +
 +>>​http:<​nowiki>//</​nowiki>​grayscale-research.org/​new/​asmdb.php
 +>>//​Ruiner had a hellish 3 days and mapped out every possible valid instruction call, enjoy/​download the fruits of his labor//
 +
 +>>​http:<​nowiki>//</​nowiki>​www.azillionmonkeys.com/​qed/​tech.shtml
 +>>//​Paul Hsieh'​s Tech Page//
 +
 +>>>​**Comments**
 +
 +>>>​**CharlieX-**//"​Paul hsieh has a few old but good articles, with lots of links."//​
 +
 +>>​http:<​nowiki>//</​nowiki>​www.drpaulcarter.com/​pcasm/​
 +>>//​Dr. Paul Carter'​s PC Assembly Tutorial//
 +
 +>>>​**Comments**
 +
 +>>>​**skout-**//"​I like his writing style, it was easy to follow, also it is free to //
 +>>>//​download. ​ A full ASM course, read this and then hit up the intel docs and your//
 +>>>//​well on your way."//​
 +
 +>>>​**livinded-**//"​Having read the book, there were a few issues I had with it and //
 +>>>//​the author. First of all there is an abstraction library that wraps a bunch of //
 +>>>//​functionality up into it which is used throughout the book. While you'll learn assembly //
 +>>>//​a lot of the work is done for you in this sense and really takes away from diving in and //
 +>>>//​learning it well. Secondly, while attempting to discuss a couple of possible errors I //
 +>>>//​found in the book, the author never responded."//​
 +
 +===== Analog Stuff =====
 +>>​[[http://​www.ti.com/​lit/​an/​sloa093/​sloa093.pdf|Filter design in 30 seconds]] - From the TI website
  
recommended_reading.txt ยท Last modified: 2013/08/13 12:13 (external edit)