Форум программистов, компьютерный форум CyberForum.ru

Компилировать и объяснить код, получающий двоичный дамп программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Иероглифы вместо русских букв http://www.cyberforum.ru/cpp-beginners/thread1680977.html
Здравствуйте, есть программа которая читает с блокнота строку и копирует ее в буфер обмена. Проблема в том, что стоит русская раскладка клавиатуры то все нормально, но если включить анг раскладку сразу в буфер копируются иероглифы а не строка, как это можно исправить ? Добавлено через 45 минут аппп
C++ Вычислить выражение рекурсивно и итеративно Помогите записать пример. Решить задачу на фото двумя способами - с применением рекурсии и без неё. y(n)=\sqrt{1+\sqrt{2+...+\sqrt{n}}} http://www.cyberforum.ru/cpp-beginners/thread1680971.html
C++ что не так Void func
Строковые литералы типа const char Строковые литералы теперь имеют тип const char и размещаются в области памяти, предназначенной только для чтения. Изменение этой памяти теперь будет вызывать нарушение прав доступа. Код, скомпилированный в предыдущих версиях с использованием параметра /GF, также будет вызывать нарушение прав доступа. Код из следующего примера успешно компилируется и...
Посоветуйте хорошую книгу по c++ с задачами C++
Посоветуйте хорошую книгу по c++ с задачами, и подскажите какие темы нужно знать junior'у чтобы устроиться на работу, смотрел вакансии в Москве но требования там просто нереальные, может посмотреть на другой яп? Хотел бы заниматься разработкой декстоп приложений.
C++ Вывести на экран строки длиной больше 5 и меньше 20 символов из контейнера multiset<string> http://www.cyberforum.ru/cpp-beginners/thread1680953.html
Здравствуйте, у меня такой вопрос, например существует контейнер multiset<string>, как можно вывести на экран строки длиной больше 5 и меньше 20?
C++ Ищу бесплатную библиотеку для захвата видео с экрана Здравствуйте, подскажите пожалуйста, есть ли бесплатная библиотека для захвата видео с экрана ? подробнее

Показать сообщение отдельно
Senarist
38 / 38 / 12
Регистрация: 14.03.2014
Сообщений: 579

Компилировать и объяснить код, получающий двоичный дамп программы - C++

09.03.2016, 21:00. Просмотров 313. Ответов 13
Метки (Все метки)

Нашёл в книжке таких 2 примера:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cstring>
#include <iostream>
 
#define legal_psw   "my.good.password"
 
int main()
{
    char user_psw[666];
 
    std::cout << "crackme 00h\nenter passwd:"; std::cin >> user_psw;
    if (strcmp(legal_psw, user_psw))
        std::cout << "wrong password\n";
    else
        std::cout << "password ok\nhello, legal user!\n";
 
    return 0;
}


Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
 
int main(int argc, char **argv)
{
    #define MAX_STR_SIZE 0x666  // Maximum string length
    #define MIN_STR_SIZE 0x5    // Minimum string length
 
    int ch;
    int count=0;
    int p=0;
    FILE *f;    
    char buff[MAX_STR_SIZE];
 
    if (argc>1 && !(f=fopen(&argv[1][0],"rb")))
    while ((ch=getc(f))!=EOF)
    {
        if (ch<' ' || ch>'z')
        {
            if (count>(MIN_STR_SIZE-2)) 
                if (count>p)
                {
                 printf(&buff[0]);              
                }
                else
                {
                 printf("%08x:%s\n",ftell(f),&buff[0]);             
                }
            p=0; count=0;
        }
            else
        {
            buff[p++]=ch; buff[p]=0;count++;
            if (p==(MAX_STR_SIZE-1))
            {
                printf("%08x:%s\n",ftell(f),&buff[0]);      
                p=0;
            }
          }     
        }
 
}

1ый с расширением .cpp, 2ой с расширением .c
Вот тут вся суть:
Как это все запустить чтобы было как в примере и почему именно такие смещения?
Миниатюры
Компилировать и объяснить код, получающий двоичный дамп программы  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru