background preloader

C/C++

Facebook Twitter

Habrahabr. Поговорим о компьютерных вирусах? Нет, не о том, что вчера поймал ваш антивирус. Не о том, что вы скачали под видом инсталлятора очередного Photoshop. Не о rootkit-e, который стоит на вашем сервере, маскируясь под системный процесс. Не о поисковых барах, downloader-ах и другой малвари. Не о коде, который делает плохие вещи от вашего имени и хочет ваши деньги. Нет, всё это коммерция, никакой романтики… Мы поговорим о компьютерных вирусах, как о коде, который способен порождать собственные копии, изменяясь от поколения к поколению. В общем, для статьи вполне достаточно лирики, перейдем к делу.

Мы будем говорить о вирусах, живущих в исполняемых файлах форматов PE и ELF, то есть о вирусах, тело которых представляет собой исполняемый код для платформы x86. Основными частями кода вируса являются infector и payload. Начнём со свойств кода вируса. Или так: push 0x68732f2f ; “hs push 0x6e69622f ; “nib/” mov ebx, esp ; в ESP теперь адрес строки «/bin/sh» mov al, 11int 0x80 Куда положить вирус? Game Programming Patterns. Baby's First Garbage Collector – journal.stuffwithstuff.com. December 08, 2013 — c, code, language When I get stressed out and have too much to do, I have this paradoxical reaction where I escape from that by coming up with another thing to do. Usually it’s a tiny self-contained program that I can write and finish.

The other morning, I was freaking myself out about the book I’m working on and the stuff I have to do at work and a talk I’m preparing for Strange Loop, and all of the sudden, I thought, “I should write a garbage collector.” Garbage collection is considered one of the more shark-infested waters of programming, but in this post, I’ll give you a nice kiddie pool to paddle around in. Reduce, reuse, recycle The basic idea behind garbage collection is that the language (for the most part) appears to have access to infinite memory. Of course, machines don’t have infinite memory. “Garbage” in this context means memory it previously allocated that is no longer being used. The second rule is the recursive one. Marking and sweeping That’s it. Simple. Expanded Main Page - OSDev Wiki. Что такое скрипты и с чем их едят — Lua & C++

Добрый день, Хабрахабр! Решил написать этот топик на тему скриптов Что нужно знать? С++ на приличном уровне (в уроке будут шаблоны — template)Lua, очень легкий скриптовый язык. Советую этот урок. Почему писать диалоги игры в .cpp файле было большой ошибкой Если вы разрабатывали большие проекты (к примеру, масштабные игры), замечали, что с каждой новой сотней строк кода компиляция идет медленней? В игре создается больше оружия, больше диалогов, больше меню, больше etc.

Но есть способ, на голову выше — использование скриптов. Решение проблемы «Окей, для таких дел хватает обычного файла с описанием характеристиков игрока. Об одном таком скриптовом языке Lua пойдет речь. Как это работает? Прежде чем начать, важно понимать, как работает скриптовый язык. Мы в С++-программе делаем какие-либо функции, «регистрируем» их под каким-нибудь именем в скрипте и вызываем в скрипте.

UPD: Внимание! Template<class t> T MethodName(); На template<class T> T MethodName(); Я готов! Int main(){ return 0; } class Script { Что такое скрипты и с чем их едят — Lua & C++