Language order?

This topic contains 9 replies, has 7 voices, and was last updated by  MTGreen 9 months, 1 week ago.

  • Author
    Posts
  • #8779
     SephStorm 
    Participant

    I’m looking at the GREM, but I will need to learn programming, from what I understand I will need to learn ASM, C, C++, Python, and Perl to be effective. What order should I learn these in, and what do you guys feel are some really good resources for going from zero to hero?

  • #54078
     veritas_libertas 
    Participant

    Yowzers. That is quite a pile of languages there. I’ve been told over-and-over that C/C++ are the Latin of programming languages. I’m curious to here if others believe that is the language to start with. If it is, I’ve doing it wrong πŸ˜› I think this is a great question when it comes to learning programming languages.

  • #54079
     KrisTeason 
    Participant

    If you are new to programming, I would start with Python -> C -> ASM. Perl may not be necessary here. You should take a look at some of the courses Vivek has at Pentester Academy. There’s still promotional pricing available for a limited time. He has some ASM Material on there that is solid. In addition to Pentester Academy, Cybrary is a Library containing free IT Training Content. They’re going to be releasing a Malware Analysis/Reverse Engineering Course within a couple weeks – a month. This will be good preparation material for the FOR610 Class.

  • #54080
     SephStorm 
    Participant

    Wow, thanks Kris, i’ll check those out. I keep forgetting that infiniteskills.com has a into to programming course that just covers the basics.

  • #54081
     hayabusa 
    Participant

    @kristeason wrote:

    If you are new to programming, I would start with Python -> C -> ASM. Perl may not be necessary here. You should take a look at some of the courses Vivek has at Pentester Academy. There’s still promotional pricing available for a limited time. He has some ASM Material on there that is solid. In addition to Pentester Academy, Cybrary is a Library containing free IT Training Content. They’re going to be releasing a Malware Analysis/Reverse Engineering Course within a couple weeks – a month. This will be good preparation material for the FOR610 Class.

    ^^ +1 What he said. Python will give you a good running start, and IMHO is easier to ‘begin’ with. C and ASM will require more focus and energy in study, and having some logic background, etc, prior, will likely help you a bit.

  • #54082
     l0ph0nis 
    Participant

    I recommend starting with “Programming from the Ground up” which is an excellent read: http://savannah.nongnu.org/projects/pgubook/

  • #54083
     BillV 
    Participant

    I can’t recall off the top of my head the order but this book has some excellent suggestions. Before you even get to Chapter 1, the author says you should have X, Y, and Z skillsets. In that introduction, he provides probably about 20 different books that you should essentially read before moving on to the first chapter lol

    http://www.amazon.com/Practical-Reverse-Engineering-Reversing-Obfuscation/dp/1118787315/

    …unfortunately, the introduction is not part of the preview. When I get home I can update this thread with his recommendations if you’d like. I know it starts with C and then I think moves on to the Intel x86 Assembly guide but can’t recall for sure.

  • #54084
     BillV 
    Participant

    …also, I can’t find the Amazon store link for EH-Net (anyone know if it still exists?). Otherwise I’d update the link. But if you decide to purchase, try and hunt that down and purchase through that.

  • #54085
     Don Donzal 
    Keymaster

    Thanks for asking. The EH-Net Amazon Store is here:

    http://astore.amazon.com/theethhacne0c-20

    If you buy your books or any other item of any kind through our Amazon link, it definitely helps support our efforts.

    Much appreciated,
    Don

  • #54086
     BillV 
    Participant

    Okay, so here’s the short/summarized version:

    “We suggest first learning C due to its simplicity, effectiveness, and ubiquity.” They reference the following books:
    The C Programming Language (Brian Kernighan and Dennis Ritchie – Prentice Hall, 1998)
    C: A Reference Manual (Samuel Harbison – Prentice Hall 2002
    Expert C Programming: Deep C Secrets (Peter van der Linden – Prentice Hall 1994
    Compilers: Principles, Techniques, and Tools (Alfred Aho, Ravi Sethi, and Jeffrey Ullman – Prentice Hall 1994)
    Linkers and Loaders (John Levine – Morgan Kaufmann 1999)
    Advanced Compiler Design and Implementation (Steven Muchnick – Morgan Kaufmann 1997)

    Then “once you have a good understanding of how programs are generally written, executed and debugged”:
    Intel 64 and IA-32 Architectures Software Developer’s Manual Vol 1: Basic Architecture (Intel, special attn to Chapters 2-7)
    Cortex-A Series Programmer’s Guide *
    ARM Architecture Reference Manual ARMv7-A and ARMv7-R Edition *
    * if you’re interested in ARM
    Structured Computer Organization (Andrew Tanenbaum – Prentice Hall 1998)
    Microsoft PE and COFF Specification

    “Next, you should explore the operating system”:
    Modern Operating Systems (Andrew Tanenbaum – Prentice Hall 2005)
    Windows NT Device Driver Development (Peter Viscarola and Anthony Mason – New Riders Press 1998)
    What Makes It Page? The Windows 7 (x64) Virtual Memory Manager (Enrico Martignetti – CreateSpace 2012)
    Windows System Programming (Johnson Hart – Addison-Wesley 2010)
    Windows via C/C++ (Jeffrey Richter and Christophe Nasarre – Microsoft Press 2007)

    Inside Windows Debugging: A Practical Guide to Debugging and Tracing Strategies in Windows (Tarik Soulami – Microsoft Press 2012)
    Advanced Windows Debugging (Mario Heardt and Daniel Pravat – Addison-Wesley 2007)

    Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection (Christian Collberg and Jasvir Nagra – Addison-Wesley 2009)

    …and that’s all in the Introduction of the book I linked to, of recommended reading prior to moving on to Chapter 1 πŸ™‚

You must be logged in to reply to this topic.

Copyright Β©2019 Caendra, Inc.

Contact Us

Thoughts, suggestions, issues? Send us an email, and we'll get back to you.

Sending

Sign in with Caendra

Forgot password?Sign up

Forgot your details?