Skip to content

Commit

Permalink
advertisement
Browse files Browse the repository at this point in the history
  • Loading branch information
yurichev committed Apr 7, 2018
1 parent 420a948 commit 9ebb583
Show file tree
Hide file tree
Showing 384 changed files with 493 additions and 474 deletions.
1 change: 0 additions & 1 deletion AUTHORS

This file was deleted.

2 changes: 1 addition & 1 deletion Java_and_NET/java/main.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Java}
\mysection{Java}
\myindex{Java}

% sections:
Expand Down
2 changes: 1 addition & 1 deletion OS/TLS/main_DE.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{lokaler Thread-Speicher}
\mysection{lokaler Thread-Speicher}
\label{TLS}
\myindex{TLS}

Expand Down
2 changes: 1 addition & 1 deletion OS/TLS/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Thread Local Storage}
\mysection{Thread Local Storage}
\label{TLS}
\myindex{TLS}

Expand Down
2 changes: 1 addition & 1 deletion OS/TLS/main_FR.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Thread Local Storage}
\mysection{Thread Local Storage}
\label{TLS}
\myindex{TLS}

Expand Down
2 changes: 1 addition & 1 deletion OS/TLS/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Thread Local Storage}
\mysection{Thread Local Storage}
\label{TLS}
\myindex{TLS}

Expand Down
2 changes: 1 addition & 1 deletion OS/calling_conventions/main_DE.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Methoden zur Argumentenübergabe (Aufrufkonventionen)}
\mysection{Methoden zur Argumentenübergabe (Aufrufkonventionen)}
\label{sec:callingconventions}

\subsection{cdecl}
Expand Down
2 changes: 1 addition & 1 deletion OS/calling_conventions/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Arguments passing methods (calling conventions)}
\mysection{Arguments passing methods (calling conventions)}
\label{sec:callingconventions}

\subsection{cdecl}
Expand Down
2 changes: 1 addition & 1 deletion OS/calling_conventions/main_FR.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Méthodes de transmission d'arguments (calling conventions)}
\mysection{Méthodes de transmission d'arguments (calling conventions)}
\label{sec:callingconventions}

\subsection{cdecl}
Expand Down
2 changes: 1 addition & 1 deletion OS/calling_conventions/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Способы передачи аргументов при вызове функций}
\mysection{Способы передачи аргументов при вызове функций}
\label{sec:callingconventions}

\subsection{cdecl}
Expand Down
4 changes: 2 additions & 2 deletions OS/main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ \chapter{\RU{Специфичное для ОС}\EN{OS-specific}%
\DE{\input{OS/syscalls_DE}}
\FR{\input{OS/syscalls_FR}}

\section{Linux}
\mysection{Linux}
\EN{\input{OS/PIC_EN}}
\RU{\input{OS/PIC_RU}}
\DE{\input{OS/PIC_DE}}
Expand All @@ -24,7 +24,7 @@ \section{Linux}
\DE{\input{OS/LD_PRELOAD/main_DE}}
\FR{\input{OS/LD_PRELOAD/main_FR}}

\section{Windows NT}
\mysection{Windows NT}
\EN{\input{OS/win32_CRT/main_EN}}
\RU{\input{OS/win32_CRT/main_RU}}
\DE{\input{OS/win32_CRT/main_DE}}
Expand Down
2 changes: 1 addition & 1 deletion OS/syscalls_DE.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Systemaufrufe}
\mysection{Systemaufrufe}

\label{syscalls}
\myindex{syscall}
Expand Down
2 changes: 1 addition & 1 deletion OS/syscalls_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{System calls (syscall-s)}
\mysection{System calls (syscall-s)}

\label{syscalls}
\myindex{syscall}
Expand Down
2 changes: 1 addition & 1 deletion OS/syscalls_FR.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Appels systèmes (syscall-s)}
\mysection{Appels systèmes (syscall-s)}

\label{syscalls}
\myindex{syscall}
Expand Down
2 changes: 1 addition & 1 deletion OS/syscalls_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Системные вызовы (syscall-ы)}
\mysection{Системные вызовы (syscall-ы)}

\label{syscalls}
\myindex{syscall}
Expand Down
75 changes: 45 additions & 30 deletions 1st_page_EN.tex → ad_EN.tex
Original file line number Diff line number Diff line change
@@ -1,46 +1,61 @@
% To translators: don't bother to translate this... english-only version.
%\vspace*{\fill}

(Advertisement: reverse engineering services.)
% https://tex.stackexchange.com/questions/106418/set-background-color-of-a-box-with-predefined-width

\begin{itemize}
\item Decrypting a database, getting into files of unknown type

\item Rewriting some kind of old EXE or DLL file back to C/C++
\fboxsep20pt
\colorbox{LIGHT-GRAY}
%\colorbox{gray}
{
\begin{minipage}{0.9\linewidth}
%\begin{minipage}

\item Dongles
\begin{center}
{\Large Advertisement: reverse engineering services.}
\end{center}

Occasionally I do \href{https://en.wikipedia.org/wiki/Software_protection_dongle}{software copy-protection dongle} replacements or dongle emulators.
~\\~\\

%\iffalse
\begin{itemize}
\item Decrypting a database, getting into files of unknown type\\
\\
\item Rewriting some kind of old EXE or DLL file back to C/C++\\
\\
\item Dongles\\
\\
Occasionally I do \href{https://en.wikipedia.org/wiki/Software_protection_dongle}{software copy-protection dongle} replacements or dongle emulators.\\
\\
In general, it is somewhat unlawful to break software protection, so I can do this only if these conditions are met:
the software company who developed the software product does not exist anymore to my best knowledge;
the software product is older than 10 years;
you have a dongle to read information from it. In other words, I can only help to those who still uses some very old software, completely satisfied with it, but afraid of dongle electrical breakage and there are no company who can still sell the dongle replacement.

These includes ancient MS-DOS and UNIX software. Software for exotic computer architectures (like MIPS, DEC Alpha, PowerPC) accepted as well.

Examples of my work you may find in this book.

\item Code audit

you have a dongle to read information from it. In other words, I can only help to those who still uses some very old software, completely satisfied with it, but afraid of dongle electrical breakage and there are no company who can still sell the dongle replacement.\\
\\
These includes ancient MS-DOS and UNIX software. Software for exotic computer architectures (like MIPS, DEC Alpha, PowerPC) accepted as well.\\
\\
Examples of my work you may find in this book.\\
\\
\item Code audit\\
\\
I could also try (binary) code audit.
I can try to find vulnerabilities in your software, before others will do it.
This is like penetration testing.
I can try to work with binary code without source code.

You must also be a legal owner of the software product.

E-Mail: \EMAIL %, Skype: dennis.yurichev, Telegram: @yurichev.

\item Published books

I can try to work with binary code without source code.\\
\\
You must also be a legal owner of the software product.\\
\\
E-Mail: \EMAIL \\
\\
\item Published books\\
\\
This book has been translated and published to
\href{https://beginners.re/#chinese}{Chinese},
\href{https://beginners.re/#acorn}{Korean},
\href{https://beginners.re/#farsi}{Farsi}.
You can buy it.
Chinese,
Korean,
Farsi.
You can buy it: \url{https://beginners.re/}.

\end{itemize}
%\fi

\end{minipage}}


%\vspace*{\fill}
%\vfill
2 changes: 1 addition & 1 deletion advanced/030_dbl_neg/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Double negation}
\mysection{Double negation}

A popular way\footnote{This way is also controversial, because it leads to hard-to-read code} to convert non-zero value into 1 (or boolean \IT{true}) and zero value into 0 (or boolean \IT{false}) is \IT{!!statement}:

Expand Down
2 changes: 1 addition & 1 deletion advanced/030_dbl_neg/main_FR.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Double négation}
\mysection{Double négation}

Une façon répandue\footnote{C'est sujet à controverse, car ça conduit à du code difficile
à lire} de convertir des valeurs différentes de zéro en 1 (ou le booléen \IT{true})
Expand Down
2 changes: 1 addition & 1 deletion advanced/030_dbl_neg/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Двойное отрицание}
\mysection{Двойное отрицание}

Популярный способ\footnote{Хотя и спорный, потому что приводит к трудночитаемому коду} сконвертировать ненулевое значение
в 1 (или булево \IT{true}) и 0 в 0 (или булево \IT{false}) это \IT{!!statement}:
Expand Down
2 changes: 1 addition & 1 deletion advanced/050_strstr/main_DE.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{strstr()-Beispiel}
\mysection{strstr()-Beispiel}
\label{strstr_example}
\myindex{\CStandardLibrary!strstr()}

Expand Down
2 changes: 1 addition & 1 deletion advanced/050_strstr/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{strstr() example}
\mysection{strstr() example}
\label{strstr_example}
\myindex{\CStandardLibrary!strstr()}

Expand Down
2 changes: 1 addition & 1 deletion advanced/050_strstr/main_FR.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Exemple strstr()}
\mysection{Exemple strstr()}
\label{strstr_example}
\myindex{\CStandardLibrary!strstr()}

Expand Down
2 changes: 1 addition & 1 deletion advanced/050_strstr/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Пример strstr()}
\mysection{Пример strstr()}
\label{strstr_example}
\myindex{\CStandardLibrary!strstr()}

Expand Down
2 changes: 1 addition & 1 deletion advanced/100_fahrenheit/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Temperature converting}
\mysection{Temperature converting}

Another very popular example in
programming books for beginners is a small program that converts Fahrenheit temperature to Celsius or back.
Expand Down
2 changes: 1 addition & 1 deletion advanced/100_fahrenheit/main_FR.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Conversion de température}
\mysection{Conversion de température}

Un autre exemple très populaire dans
les livres de programmation est un petit programme qui convertit une température de Fahrenheit vers Celsius ou inversement.
Expand Down
2 changes: 1 addition & 1 deletion advanced/100_fahrenheit/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Конвертирование температуры}
\mysection{Конвертирование температуры}

Еще один крайне популярный пример из книг по программированию для начинающих, это простейшая программа
для конвертирования температуры по Фаренгейту в температуру по Цельсию.
Expand Down
2 changes: 1 addition & 1 deletion advanced/102_fib/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Fibonacci numbers}
\mysection{Fibonacci numbers}

Another widespread example used in programming textbooks is a recursive function
that generates the Fibonacci numbers\footnote{\url{http://go.yurichev.com/17332}}.
Expand Down
2 changes: 1 addition & 1 deletion advanced/102_fib/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Числа Фибоначчи}
\mysection{Числа Фибоначчи}

Еще один часто используемый пример в учебниках по программированию это рекурсивная функция,
генерирующая числа Фибоначчи
Expand Down
2 changes: 1 addition & 1 deletion advanced/110_CRC32/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{CRC32 calculation example}
\mysection{CRC32 calculation example}
\myindex{CRC32}
\label{sec:CRC32}

Expand Down
2 changes: 1 addition & 1 deletion advanced/110_CRC32/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Пример вычисления CRC32}
\mysection{Пример вычисления CRC32}
\myindex{CRC32}
\label{sec:CRC32}

Expand Down
2 changes: 1 addition & 1 deletion advanced/111_netmask/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Network address calculation example}
\mysection{Network address calculation example}

As we know, a TCP/IP address (IPv4) consists of four numbers in the $0 \ldots 255$ range, i.e., four bytes.

Expand Down
2 changes: 1 addition & 1 deletion advanced/111_netmask/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Пример вычисления адреса сети}
\mysection{Пример вычисления адреса сети}

Как мы знаем, TCP/IP-адрес (IPv4) состоит из четырех чисел в пределах $0 \ldots 255$, т.е. 4 байта.

Expand Down
2 changes: 1 addition & 1 deletion advanced/115_loop_iterators/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Loops: several iterators}
\mysection{Loops: several iterators}
\label{loop_iterators}

In most cases loops have only one iterator, but there could be several in the resulting code.
Expand Down
2 changes: 1 addition & 1 deletion advanced/115_loop_iterators/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Циклы: несколько итераторов}
\mysection{Циклы: несколько итераторов}
\label{loop_iterators}

Часто, у цикла только один итератор, но в итоговом коде их может быть несколько.
Expand Down
2 changes: 1 addition & 1 deletion advanced/117_duff_device/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Duff's device}
\mysection{Duff's device}
\myindex{Duff's device}
\myindex{Unrolled loop}

Expand Down
2 changes: 1 addition & 1 deletion advanced/117_duff_device/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Duff's device}
\mysection{Duff's device}
\myindex{Duff's device}

Duff's device
Expand Down
2 changes: 1 addition & 1 deletion advanced/120_division_by_mult/main.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{\DivisionByMultSectionName}
\mysection{\DivisionByMultSectionName}
\label{sec:divisionbymult}

\RU{Простая функция:}\EN{A very simple function:}
Expand Down
2 changes: 1 addition & 1 deletion advanced/125_atoi/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{String to number conversion (atoi())}
\mysection{String to number conversion (atoi())}

\myindex{\CStandardLibrary!atoi()}

Expand Down
2 changes: 1 addition & 1 deletion advanced/125_atoi/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Конверсия строки в число (atoi())}
\mysection{Конверсия строки в число (atoi())}

\myindex{\CStandardLibrary!atoi()}
Попробуем реализовать стандарту функцию Си atoi().
Expand Down
2 changes: 1 addition & 1 deletion advanced/127_inline_function/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Inline functions}
\mysection{Inline functions}
\myindex{Inline code}
\label{inline_code}

Expand Down
2 changes: 1 addition & 1 deletion advanced/127_inline_function/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Inline-функции}
\mysection{Inline-функции}
\myindex{Inline code}
\label{inline_code}

Expand Down
2 changes: 1 addition & 1 deletion advanced/130_C99_restrict/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{C99 restrict}
\mysection{C99 restrict}
\myindex{\CLanguageElements!C99!restrict}
\myindex{Fortran}

Expand Down
2 changes: 1 addition & 1 deletion advanced/130_C99_restrict/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{C99 restrict}
\mysection{C99 restrict}
\myindex{\CLanguageElements!C99!restrict}
\myindex{Фортран}

Expand Down
2 changes: 1 addition & 1 deletion advanced/135_abs_branchless/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Branchless \IT{abs()} function}
\mysection{Branchless \IT{abs()} function}
\label{chap:branchless_abs}

Let's revisit an example we considered earlier \myref{sec:abs} and ask ourselves, is it possible
Expand Down
2 changes: 1 addition & 1 deletion advanced/135_abs_branchless/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Функция \IT{abs()} без переходов}
\mysection{Функция \IT{abs()} без переходов}
\label{chap:branchless_abs}

Снова вернемся к уже рассмотренному ранее примеру \myref{sec:abs} и спросим себя, возможно ли
Expand Down
2 changes: 1 addition & 1 deletion advanced/170_variadic_functions/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Variadic functions}
\mysection{Variadic functions}

Functions like \printf and \scanf can have a variable number of arguments.
How are these arguments accessed?
Expand Down
2 changes: 1 addition & 1 deletion advanced/170_variadic_functions/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Функции с переменным количеством аргументов}
\mysection{Функции с переменным количеством аргументов}

Функции вроде \printf и \scanf могут иметь переменное количество аргументов (\IT{variadic}).

Expand Down
2 changes: 1 addition & 1 deletion advanced/200_string_trim/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Strings trimming}
\mysection{Strings trimming}
\newcommand{\CRLF}{\ac{CR}/\ac{LF}}

A very common string processing task is to remove some characters at the start and/or at the end.
Expand Down
2 changes: 1 addition & 1 deletion advanced/200_string_trim/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Обрезка строк}
\mysection{Обрезка строк}
\newcommand{\CRLF}{\ac{CR}/\ac{LF}}

Весьма востребованная операция со строками --- это удаление некоторых символов в начале и/или конце
Expand Down
2 changes: 1 addition & 1 deletion advanced/250_toupper/main_EN.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{toupper() function}
\mysection{toupper() function}
\myindex{\CStandardLibrary!toupper()}

Another very popular function transforms a symbol from lower case to upper case, if needed:
Expand Down
2 changes: 1 addition & 1 deletion advanced/250_toupper/main_RU.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\section{Функция toupper()}
\mysection{Функция toupper()}
\myindex{\CStandardLibrary!toupper()}

Еще одна очень востребованная функция конвертирует символ из строчного в заглавный, если нужно:
Expand Down
Loading

0 comments on commit 9ebb583

Please sign in to comment.