background preloader

Programmer's Notepad

Programmer's Notepad

Writing Buffer Overflow Exploits - a Tutorial for Beginners 1. Memory Note: The way we describe it here, memory for a process is organized on most computers, however it depends on the type of processor architecture. This example is for x86 and roughly applies to Sparc. The principle of exploiting a buffer overflow is to overwrite parts of memory that are not supposed to be overwritten by arbitrary input and making the process execute this code. To see how and where an overflow takes place, let us look at how memory is organized. A page is a part of memory that uses its own relative addressing, meaning the kernel allocates initial memory for the process, which it can then access without having to know where the memory is physically located in RAM. - Code segment, data in this segment are assembler instructions that the processor executes. - Data segment, space for variables and dynamic buffers - Stack segment, which is used to pass data (arguments) to functions and as a space for variables of functions. 2. What happens here? 3. 3a. 3b. 4. 4a. 4b.

99 of the Best Windows Freeware Programs You May Not Know Of Due to the popularity of my previous article on Help Desk Geek entitled 99 ways to make your computer blazingly fast, I’ve decided to write another list post with 99 items, but this time on Windows freeware programs that you may have not heard of. If you search for “best freeware programs” or “top freeware apps”, you’ll get lots of lists, but mostly with programs everyone has already heard of: AVG anti-virus, 7-zip, Firefox, OpenOffice, etc., etc. That’s all nice and fine, but what about all those little gems programs that work great, but don’t get all the headlines? These are written in no particular order! Additionally, some of the programs I mention have free versions that have a few restrictions or are limited in some way. Note: Lastly, it should be noted that I have gone through the entire list and run every executable file through VirusTotal (as of Feb 2018) to ensure that the programs do not have malware or spyware. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

Top 40 Useful Sites To Learn New Skills The web is a powerful resource that can easily help you learn new skills. You just have to know where to look. Sure, you can use Google, Yahoo, or Bing to search for sites where you can learn new skills , but I figured I’d save you some time. Here are the top 40 sites I have personally used over the last few years when I want to learn something new. Hack a Day - Hack a Day serves up fresh hacks (short tutorials) every day from around the web and one in-depth ‘How-To hack’ guide each week.eHow - eHow is an online community dedicated to providing visitors the ability to research, share, and discuss solutions and tips for completing day-to-day tasks and projects.Wired How-To Wiki - Collaborate with Wired editors and help them build their extensive library of projects, hacks, tricks and tips.

Android Developers Should Check Out These 10 Videos Google I/O may be over, but Google has left plenty of educational content from the event on the web for developers to learn from for the rest of eternity. Obviously, many of the sessions at Google I/O were specific to Android, so if you were unable to attend, you can find ten full-length Android sessions below for your viewing pleasure, courtesy of Google’s Developer YouTube channel. First, here’s an hour of Google breaking down what’s new in Android Developer Tools: This one introduces new APIs and capabilities in the Android Open Accessory Development Kit 2.0, and provides demos: This one is about new low-level media APIs in Android: The next one’s all about improving the navigation of apps. An app is useless if people can’t find their way around it. This one’s about the “sensitive side of Android”. Android has a sensitive side. This one is about advanced topics for expert Android developers. This one is about smoothing out performance in Android user interfaces:

Web development and deployment tools: CodeRun Programming Wireless Devices Sample Programs Oracle Technology Network > Java Software Downloads View All Downloads Top Downloads New Downloads What's New Java in the Cloud: Rapidly develop and deploy Java business applications in the cloud. Essential Links Developer Spotlight Java EE—the Most Lightweight Enterprise Framework? Blogs Technologies Contact Us About Oracle Cloud Events Top Actions News Key Topics Oracle Integrated Cloud Applications & Platform Services

10 Best Sites to Learn How to Code Quickly Web development has become a very important topic on the web these days and the internet has become the best source for developers to learn more about code. It is a very easy way and a very popular one and the developers can find important information related to anything on the internet very easily and do not have to face any kind of difficulty to lean new development ways. Web application development has some of its own unique features. Through the medium of the internet website developers can get a lot of information about the already existing applications and can very easily get to know about all the new tools very easily. Therefore the website owners can enhance their knowledge to great extent and can also in addition enhance the functionality of their respective website. Its our pleasure to share best and useful resources for web developers and designers. 1) Codecademy Codecademy is the easiest way to learn to code. 2) PHP Academy 3) Code School 4) Code Google 5) School of Webcraft

Authentic and Eudaimonic 8 Acts Of Authenticity "It's the best way to figure out what it feels like to be in someone else's head—and that's what helps us to distinguish our own identity ." — "Meditative absorption creates moments of happiness not contingent on outcomes or external factors or manipulation of the environment . "Authenticity consists in being aware that you have choices and consciously choosing what you do "People often make better decisions when they don't think about them. "Quiet and time for the self are a big plus. "Community is an outlook toward life in which you define yourself in relation to the world around you, rather than only in connection with yourself. "Whether it's taking an art class, playing basketball, running, or just hanging out with friends, doing something you really enjoy allows you to express who you really are "Feelings of inauthenticity are heightened by a lack of a philosophy that allows failure to be part of life. The New, True, Eudaimonic You

The REAL Multiboot - Trombettworks [A SEQUENTIAL READ IS SUGGESTED BUT HERE IS THE INDEX ANYWAY] Have you ever desired to have multiple OSes installed in your computer? Why multi-booting? Requisites: [updated for version 2.42+]Let's start! Have you ever desired to have multiple OSes installed in your computer? There surprisingly seems to exist only one way in the world to do a flexible multi-boot. Don't stop reading saying "I know this, I can do it with LILO or any other of the 100 other boot managers around!". Why multi-booting? In case you are a software developer or beta tester you will get the greatest benefit from this page because you will be able to test your program in many conditions, under many OS or even the same but differently configured. You will be able to have an UNLIMITED number of OSes on your HD with this method, and each one will be 100% independent from the others. - Do you need to reinstall Win98 because it crashes too much? Let's start! Note1:All these partitions are PRIMARY partitions!!!!

Related: