Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933

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

09.03.2016, 21:00. Показов 1325. Ответов 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
Вот тут вся суть:
Как это все запустить чтобы было как в примере и почему именно такие смещения?
Миниатюры
Компилировать и объяснить код, получающий двоичный дамп программы  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2016, 21:00
Ответы с готовыми решениями:

Объяснить код программы
Объясните пожалуйста, каждую строку,что где означает void main() { int **a,i,j,k,m,n,b; cout&lt;&lt; &quot;Vvedite...

Как двоичный код влияет на скорость работы программы?
Если Python не создаёт машинный двоичный код некоторые программы на языке Python могут работать медленнее своих аналогов, написанных на...

Структура (объяснить код программы)
Здравствуйте. Есть код структуры, можете пожалуйста немного объяснить код программы. #pragma once struct paint { char company;...

13
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
09.03.2016, 23:37
Цитата Сообщение от Senarist Посмотреть сообщение
Как это все запустить чтобы было как в примере
Компилируешь первый код в, например, Code.exe. Компилируешь второй код в, например, Build.exe. Помещаешь их в одну папку, запускаешь командную строку, заходишь в эту папку, и пишешь: Build.exe Code.exe. Получаешь результат.
Во втором коде ошибка в 14 строке:
Цитата Сообщение от Senarist Посмотреть сообщение
C++
1
if (argc>1 && !(f=fopen(&argv[1][0],"rb")))
Нужно:
C++
1
if (argc>1 && (f=fopen(&argv[1][0],"rb")))
Миниатюры
Компилировать и объяснить код, получающий двоичный дамп программы  
1
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
10.03.2016, 12:07  [ТС]
nd2 большое тебе спасибо!

Добавлено через 2 часа 4 минуты
nd2
Попробовал сделать как Вы описали
Скомпилировал в дев оба файла. Затем оба этих экзэшника запустил через командную строку cd C:\new
C:\new>second.exe first.exe
и получил вот это:
Кликните здесь для просмотра всего текста
001d2d02:_ZNSt7num_getIwSt19istreambuf_i teratorIwSt11char_traitsIwEEE2idE
001d2d0f:GetTickCount
001d2d30:_ZTVSt17moneypunct_bynameIcLb1E E
001d2d4c:_ZGVNSt11__timepunctIcE2idE
001d2d5a:__bss_start__
001d2d69:VirtualProtect
001d2d95:_ZTVSt14basic_ofstreamIwSt11cha r_traitsIwEE
001d2dac:mingw_initltsdyn_force
001d2df2:.refptr._ZTVSt7num_getIcSt19ist reambuf_iteratorIcSt11char_traitsIcEEE
001d2e14:_ZTVSt18__moneypunct_cacheIcLb0 EE
001d2e34:.refptr.__dyn_tls_init_callback
001d2e4a:_ZTINSt6locale5facetE
001d2e62:__minor_image_version__
001d2e75:_ZTVSt8numpunctIwE
001d2eaa:.refptr._ZTVSt15basic_streambuf IcSt11char_traitsIcEE
001d2edf:.refptr._ZTVSt15basic_streambuf IwSt11char_traitsIwEE
001d2f03:.refptr._ZTVSt16__numpunct_cach eIwE
001d2f15:mingw_initcharmax
001d2f2d:_ZTVSt12ctype_bynameIcE
001d2f40:__imp_GetLastError
001d2f5d:_ZNSt10moneypunctIcLb1EE2idE
001d2f88:_ZTVSt13basic_filebufIcSt11char _traitsIcEE
001d2fa1:UnhandledExceptionFilter
001d2fba:_ZNSt8ios_base8showbaseE
001d2fcb:__imp_localeconv
001d2fe2:_ZNSt6locale8monetaryE
001d2ffc:_ZTVSt10moneypunctIwLb1EE
001d300c:___crt_xp_end__
001d302a:_ZNSt6locale2id11_S_refcountE
001d303f:__imp_VirtualProtect
001d305d:_ZNSt6locale5facet9_S_c_nameE
001d30a2:_ZTCSt13basic_fstreamIwSt11char _traitsIwEE16_St13basic_ostreamIwS1_E
001d30bf:_ZTVSt17__timepunct_cacheIwE
001d30e5:_ZTSSt9basic_iosIcSt11char_trai tsIcEE
001d30f4:___tls_start__
001d311c:.refptr._ZNSt20bad_array_new_le ngthD1Ev
001d315c:_ZTSSt9money_putIcSt19ostreambu f_iteratorIcSt11char_traitsIcEEE
001d3188:_ZTSSt14basic_ifstreamIcSt11cha r_traitsIcEE
001d31c2:_ZTVN9__gnu_cxx18stdio_sync_fil ebufIwSt11char_traitsIwEEE
001d31ee:_ZTISt14basic_ifstreamIwSt11cha r_traitsIwEE
001d322c:_ZTISt7num_getIcSt19istreambuf_ iteratorIcSt11char_traitsIcEEE
001d3258:_ZTTSt14basic_ifstreamIwSt11cha r_traitsIwEE
001d3277:.refptr.mingw_initltsdyn_force
001d32bd:.refptr._ZTVSt7num_putIcSt19ost reambuf_iteratorIcSt11char_traitsIcEEE
001d32e7:.refptr._ZTVSt18__moneypunct_ca cheIwLb0EE
001d3309:.refptr._ZNSt14overflow_errorD1 Ev
001d3323:_ZNSt8ios_base9boolalphaE
001d3361:_ZTSSt7num_getIcSt19istreambuf_ iteratorIcSt11char_traitsIcEEE
001d3379:_ZTSSt12ctype_bynameIwE
001d3386:__imp__ftime
001d3394:__imp_strncmp
001d33db:_ZTSSt15time_get_bynameIwSt19is treambuf_iteratorIwSt11char_traitsIwEEE
001d33f7:.refptr._ZNSt9bad_allocD1Ev
001d3411:_ZTISt10moneypunctIwLb0EE
001d3428:_ZTISt14error_category
001d3468:_ZTSSt9money_getIwSt19istreambu f_iteratorIwSt11char_traitsIwEEE
001d347c:_ZNSt8ios_base3decE
001d348e:__imp_TlsSetValue
001d34b9:_ZNSt17__timepunct_cacheIwE12_S _timezonesE
001d34f7:_ZTISt7num_putIwSt19ostreambuf_ iteratorIwSt11char_traitsIwEEE
001d3505:__mingw_pinit
001d3522:_MINGW_INSTALL_DEBUG_MATHERR
001d354c:.refptr.__RUNTIME_PSEUDO_RELOC_ LIST_END__
001d3557:_tls_index
001d357c:.refptr._ZNSt17bad_function_cal lD1Ev
001d3596:__mingw_winmain_lpCmdLine
001d35a1:__imp_getc
001d35bb:_ZTISt17bad_function_call
001d35dc:_ZTSSt21__ctype_abstract_baseIc E
001d35fb:_ZNSt10moneypunctIcLb1EE4intlE
001d361a:_ZNSt10moneypunctIwLb0EE4intlE
001d3645:_ZTSSt13basic_istreamIwSt11char _traitsIwEE
001d365b:_ZNSt6locale7_S_onceE
001d3679:.refptr._ZNSt8messagesIcE2idE
001d3692:.refptr._ZTVSt9bad_alloc
001d36a0:__imp_memmove
001d36b4:_ZNSt8ios_base3hexE
001d36cb:.refptr.__tinytens_D2A
001d36ec:_ZTISt21__ctype_abstract_baseIw E
001d36fa:__IAT_start__
001d3712:_ZTVSt12ctype_bynameIwE
001d371e:__imp_fputc
001d375e:_ZTSSt9money_getIcSt19istreambu f_iteratorIcSt11char_traitsIcEEE
001d376e:___crt_xc_end__
001d377c:__CTOR_LIST__
001d378d:__setusermatherr
001d37ae:_ZTSSt17moneypunct_bynameIwLb0E E
001d37ba:TlsSetValue
001d37e5:__shmem_winpthreads_ptr__pthrea d_tls_shmem
001d37f6:__imp___iob_func
001d3805:__data_start__
001d3815:__imp_FindAtomA
001d382b:_ZNSt8ios_base5fixedE
001d3845:_ZNSt8ios_base9basefieldE
001d385d:_ZNSt6locale9_S_globalE
001d3890:.refptr._ZTVSt13basic_filebufIw St11char_traitsIwEE
001d389a:_initterm
001d38a7:__imp_fwrite
001d38e7:_ZTISt9money_putIwSt19ostreambu f_iteratorIwSt11char_traitsIwEEE
001d390a:_ZN14__gnu_internal12buf_cin_sy ncE
001d3951:_ZTVSt15time_get_bynameIwSt19is treambuf_iteratorIwSt11char_traitsIwEEE
001d3998:_ZTVSt15time_put_bynameIcSt19os treambuf_iteratorIcSt11char_traitsIcEEE
001d39b5:_ZTSSt17__timepunct_cacheIcE
001d39c4:__imp_vfprintf
001d3a09:_ZTCSt14basic_iostreamIwSt11cha r_traitsIwEE0_St13basic_istreamIwS1_E
001d3a19:_ZTVSt5ctypeIwE
001d3a2b:__imp_RtlUnwindEx
001d3a49:_ZN14__gnu_internal8buf_wcinE
001d3a56:__data_end__
001d3a85:__shmem_winpthreads_ptr_mxattr_ recursive_shmem
001d3a9c:WaitForMultipleObjects
001d3ab6:_ZTVSt14collate_bynameIwE
001d3ae3:_ZTSSt15basic_streambufIcSt11ch ar_traitsIcEE
001d3af9:_ZTSSt13runtime_error
001d3b12:_ZTSSt16bad_array_length
001d3b36:.refptr._ZTVSt16__numpunct_cach eIcE
001d3b45:___CTOR_LIST__
001d3b58:__imp_ResumeThread
001d3b9d:_ZGVNSt9money_putIwSt19ostreamb uf_iteratorIwSt11char_traitsIwEEE2idE
001d3bca:.refptr._ZN14__gnu_internal14bu f_wcerr_syncE
001d3bd9:__imp_SetEvent
001d3c08:__shmem_winpthreads_ptr__pthrea d_key_sch_shmem
001d3c2e:_ZTINSt13__future_base12_Result _baseE
001d3c59:_ZTTSt13basic_fstreamIcSt11char _traitsIcEE
001d3c75:_ZTSSt16__numpunct_cacheIcE
001d3c89:_ZNSt8ios_base3endE
001d3cb4:_ZTISt13basic_fstreamIcSt11char _traitsIcEE
001d3cf5:_ZNSt7num_getIcSt19istreambuf_i teratorIcSt11char_traitsIcEEE2idE
001d3d22:_ZTISt15basic_streambufIcSt11ch ar_traitsIcEE
001d3d3a:_ZTSSt15underflow_error
001d3d51:mingw_initltssuo_force
001d3d66:__minor_os_version__
001d3d8c:_ZNSt17moneypunct_bynameIcLb0EE 4intlE
001d3da3:__imp_TerminateProcess
001d3dce:.refptr._ZN14__gnu_internal12bu f_cin_syncE
001d3ddb:__imp__write
001d3deb:__imp___initenv
001d3df8:___chkstk_ms
001d3e1b:.refptr._ZNSt15underflow_errorD 1Ev
001d3e37:_ZTISt14codecvt_bynameIwciE
001d3e62:_ZTISt13basic_istreamIwSt11char _traitsIwEE
001d3e79:_ZTISt11__timepunctIwE
001d3ea1:_ZTSN10__cxxabiv119__foreign_ex ceptionE
001d3ee4:_ZNSt9money_getIwSt19istreambuf _iteratorIwSt11char_traitsIwEEE2idE
001d3f2a:.refptr._ZTVSt7num_getIwSt19ist reambuf_iteratorIwSt11char_traitsIwEEE
001d3f46:_ZNSt5ctypeIcE10table_sizeE
001d3f85:_ZTVSt8time_getIwSt19istreambuf _iteratorIwSt11char_traitsIwEEE
001d3f94:__imp__fstat64
001d3fd3:_ZTSSt8time_putIwSt19ostreambuf _iteratorIwSt11char_traitsIwEEE
001d3fe4:_ZTSSt9time_base
001d400c:__shmem_winpthreads_ptr_pthr_la st_shmem
001d4029:_ZTVSt17__timepunct_cacheIcE
001d4040:__shmem_ptr_eh_globals
001d4058:.refptr._ZTVSt8bad_cast
001d4083:_ZTSN9__gnu_cxx24__concurrence_ lock_errorE
001d40a2:.refptr._ZNSt7codecvtIwciE2idE
001d40b8:_ZNSt6locale7numericE
001d40c3:_ZSt5wcout
001d40dd:_ZNSt10ctype_base6xdigitE
001d40f4:_ZTSSt14overflow_error
001d410e:_ZTSSt14collate_bynameIwE
001d4122:_ZNSt8ios_base3octE
001d4166:_ZGVNSt8time_putIcSt19ostreambu f_iteratorIcSt11char_traitsIcEEE2idE
001d4192:_ZTISt14basic_ofstreamIcSt11cha r_traitsIcEE
001d41be:_ZTTSt14basic_ofstreamIcSt11cha r_traitsIcEE
001d41e4:_ZTVNSt13__future_base12_Result _baseE
001d4206:.refptr._ZTVSt10moneypunctIwLb0 EE
001d4214:__imp_realloc
001d422b:_ZTVSt14error_category
001d425e:.refptr._ZTVSt13basic_istreamIw St11char_traitsIwEE
001d426e:_ZTVSt5ctypeIcE
001d428e:.refptr.mingw_initltsdrot_force
001d42a0:RtlCaptureContext
001d42d0:_ZTSN9__gnu_cxx29__concurrence_ broadcast_errorE
001d42e7:__imp_GetModuleHandleW
001d42fa:GetCurrentThreadId
001d4325:__shmem_winpthreads_ptr_mutex_g lobal_shmem
001d4339:_ZTSSt11logic_error
001d4355:_ZTVSt14codecvt_bynameIcciE
001d4370:_ZTVSt15messages_bynameIcE
001d439b:_ZTVSt13basic_ostreamIwSt11char _traitsIwEE
001d43a7:__bss_end__
001d43cc:__shmem_winpthreads_ptr_idList_ shmem
001d43e0:_ZTSSt11regex_error
001d4427:.refptr._ZTVSt8time_putIcSt19os treambuf_iteratorIcSt11char_traitsIcEEE
001d443f:.refptr._ZTVSt5ctypeIcE
001d4460:_ZTVSt21__ctype_abstract_baseIw E
001d447f:_ZNSt10moneypunctIcLb0EE4intlE
001d44b4:.refptr._ZN9__gnu_cxx27__verbos e_terminate_handlerEv
001d44c9:_ZNSt7collateIwE2idE
001d44df:_ZNSt6locale7collateE
001d44ed:__imp_fsetpos
001d44fc:__imp_towupper
001d453a:_ZTSSt7num_getIwSt19istreambuf_ iteratorIwSt11char_traitsIwEEE
001d455c:_ZNSt8ios_base4Init11_S_refcoun tE
001d456cuplicateHandle
001d459f:_ZNSbIwSt11char_traitsIwESaIwEE 4_Rep11_S_terminalE
001d45e2:_ZNSt9money_putIwSt19ostreambuf _iteratorIwSt11char_traitsIwEEE2idE
001d460d:_ZTVSt13basic_istreamIwSt11char _traitsIwEE
001d463f:__shmem_winpthreads_ptr__pthrea d_cancelling_shmem
001d465e:.refptr._ZNSt11logic_errorD1Ev
001d4673:LeaveCriticalSection
001d4688:__imp_GetProcAddress
001d46a4:_ZTSSt14codecvt_bynameIwciE
001d46bf:_ZTISt15numpunct_bynameIwE
001d46cb:__ImageBase
001d46ea:.refptr._ZNSt11range_errorD1Ev
001d470f:.refptr._ZTVSt20bad_array_new_l ength
001d4756:.refptr._ZTVSt8time_getIcSt19is treambuf_iteratorIcSt11char_traitsIcEEE
001d476e:_ZNSt8ios_base7goodbitE
001d479c:.refptr._ZTVSt9basic_iosIcSt11c har_traitsIcEE
001d47d6:_ZTVN9__gnu_cxx18stdio_sync_fil ebufIcSt11char_traitsIcEEE
001d47e9:__file_alignment__
001d47fc:_ZNSt8ios_base2inE
001d483e:.refptr._ZTVN9__gnu_cxx18stdio_ sync_filebufIwSt11char_traitsIwEEE
001d4873:_ZTIN9__gnu_cxx13stdio_filebufI cSt11char_traitsIcEEE
001d4899:_ZTISt9basic_iosIwSt11char_trai tsIwEE
001d48b0:_ZTVSt11__timepunctIwE
001d48ca:_ZTISt10moneypunctIcLb1EE
001d48d7:__imp_strcmp
001d48f0:_ZNSs4_Rep11_S_terminalE
001d48fd:CreateMutexA
001d4912:_ZTISt12out_of_range
001d4938:.refptr._ZN14__gnu_internal8buf _wcinE
001d4962:.refptr._ZTVSt18__moneypunct_ca cheIwLb1EE
001d49ad:.refptr._ZNSt9money_getIwSt19is treambuf_iteratorIwSt11char_traitsIwEEE2
idE
001d49f0:_ZGVNSt7num_putIwSt19ostreambuf _iteratorIwSt11char_traitsIwEEE2idE
001d4a38:.refptr._ZTVSt9money_getIwSt19i streambuf_iteratorIwSt11char_traitsIwEEE

001d4a50:_ZTVSt15underflow_error
001d4a97:_ZTSSt15time_put_bynameIcSt19os treambuf_iteratorIcSt11char_traitsIcEEE
001d4ab1:_ZTVSt10moneypunctIwLb0EE
001d4abc:_ZSt5wcerr
001d4ae7:__shmem_winpthreads_ptr_idListN extId_shmem
001d4b13:_ZTISt14basic_ifstreamIcSt11cha r_traitsIcEE
001d4b31:.refptr._ZTVSt13bad_exception
001d4b48:_ZTVSt11__timepunctIcE
001d4b7b:.refptr._ZNSt8ios_base4Init20_S _synced_with_stdioE
001d4b85:FindAtomA
001d4bca:_ZGVNSt9money_putIcSt19ostreamb uf_iteratorIcSt11char_traitsIcEEE2idE
001d4bdd:__imp_GetAtomNameA
001d4bfa:_ZTSSt17__timepunct_cacheIwE
001d4c0e:_ZNSt8ios_base3appE
001d4c1e:_ZTSSt8bad_cast
001d4c3a:__lib64_libkernel32_a_iname
001d4c54:_ZNSt11__timepunctIcE2idE
001d4c6e:_ZTSSt10moneypunctIcLb1EE
001d4c7b:__imp_signal
001d4c93:__dyn_tls_init_callback
001d4cad:_ZTSSt14collate_bynameIcE
001d4cd4:__shmem_winpthreads_ptr_once_ob j_shmem
001d4d1d:.refptr._ZNSt7num_getIwSt19istr eambuf_iteratorIwSt11char_traitsIwEEE2id
E
001d4d34:__imp_IsDBCSLeadByteEx
001d4d4c:GetSystemTimeAsFileTime
001d4d6b:__imp_UnhandledExceptionFilter
001d4d89:.refptr._ZNSt8messagesIwE2idE
001d4daa:_ZTVSt21__ctype_abstract_baseIc E
001d4dc2:_ZNSt8ios_base7showposE
001d4ddb:__size_of_stack_commit__
001d4df6:.refptr.__imp___mb_cur_max
001d4e02:RtlUnwindEx
001d4e19:_ZTISt11__timepunctIcE
001d4e38:_ZGVNSt10moneypunctIwLb1EE2idE
001d4e50:__dll_characteristics__
001d4e69:_ZNSt10ctype_base5cntrlE
001d4e87:.refptr.__native_startup_lock
001d4e95:__imp__setjmp
001d4eb2:.refptr._ZTVSt12future_error
001d4ee7:_ZTSN9__gnu_cxx13stdio_filebufI wSt11char_traitsIwEEE
001d4f08:_ZTISt17moneypunct_bynameIwLb1E E
001d4f15:__imp_memset
001d4f2d:_ZTSSt12ctype_bynameIcE
001d4f55:__shmem_winpthreads_ptr_idListM ax_shmem
001d4f66:__imp_ResetEvent
001d4f7d:_ZNSt6locale8messagesE
001d4f97:_ZTSNSt8ios_base7failureE
001d4fb0:_ZNSt10ctype_base5punctE
001d4fd5:_ZTSSt23__codecvt_abstract_base IwciE
001d4ff1:_ZNSt8ios_base10floatfieldE
001d5004:_ZTISt8numpunctIcE
001d501b:_ZNSt8ios_base6skipwsE
001d5040:_ZTVSt23__codecvt_abstract_base IwciE
001d504c:__onexitend
001d507b:__shmem_winpthreads_ptr__pthrea d_key_max_shmem
001d509f:.refptr._ZNSt16invalid_argument D1Ev
001d50ba:_ZTSSt15messages_bynameIwE
001d50d2:_ZTISt15underflow_error
001d50e8:_ZTSNSt6locale5facetE
001d5102:_ZTSSt10moneypunctIwLb1EE
001d511a:_ZGVNSt8messagesIwE2idE
001d5127:VirtualQuery
001d5141:_ZTISt14collate_bynameIwE
001d515d:_ZTVSt16__numpunct_cacheIcE
001d516c:__imp_strerror
001d5177:localeconv
001d519b:.refptr._ZNSt16bad_array_length D1Ev

C:\new>

Причем до этого выше еще много чего проходит но я не могу это просматривать. Если только принтскринить. Что я не так делаю?
Из этого спойлера знакомо только GetTickCount
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
10.03.2016, 18:00
Цитата Сообщение от Senarist Посмотреть сообщение
Что я не так делаю?
Всё так. А что ты хотел увидеть?
Цитата Сообщение от Senarist Посмотреть сообщение
Причем до этого выше еще много чего проходит но я не могу это просматривать. Если только принтскринить.
Увеличь размер буфера экрана консоли, чтобы всё влезло.

Добавлено через 15 минут
Можно добавить фильтр. Написать 19 строку так:
C++
1
if (count>(MIN_STR_SIZE-2) && strstr(&buff[0], "password"))
Выведет только строки, в которых есть слово "password".
1
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
10.03.2016, 21:51  [ТС]
nd2 да все отлично.
А можешь объяснить откуда это все берется то что я в спойлере скидывал сообщением ранее.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
10.03.2016, 22:08
Из first.exe. Выводит оттуда последовательность (от 5 до 1639) байт (как строку), если все байты в последовательности имеют значения кодов символов от ' ' до z.
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
11.03.2016, 14:10  [ТС]
nd2 я понимаю что из first)) second это фильтр который ищет что то похожее на строки в first но откуда берется что то типа:
[^X
GetTickCount
и еще много всего что в спойлере или на скрине в первом сообщении

Добавлено через 1 минуту
Видимо я не понимаю саму процедуру поиска этих строк
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
11.03.2016, 14:20
Цитата Сообщение от Senarist Посмотреть сообщение
откуда берется что то типа:
[^X
Цитата Сообщение от Senarist Посмотреть сообщение
Видимо я не понимаю саму процедуру поиска этих строк
Видимо. Я же кратко описал процедуру:
Цитата Сообщение от nd2 Посмотреть сообщение
Выводит оттуда последовательность (от 5 до 1639) байт (как строку), если все байты в последовательности имеют значения кодов символов от ' ' до z.
Смотрим на это:
[^X
Последовательность символов из диапазона "от ' ' до z", в видимом количестве равном трём (должно быть не менее пяти, но, возможно, есть два пробела в конце, которые не видны).
GetTickCount
Тут тоже самое, только видимых символов 12. Что непонятно?
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
11.03.2016, 14:28
Цитата Сообщение от Senarist Посмотреть сообщение
я понимаю что из first
Открой этот first каким-нибудь hex-редактором и посмотри как выглядит его содержимое, может тогда понятней станет.
Миниатюры
Компилировать и объяснить код, получающий двоичный дамп программы   Компилировать и объяснить код, получающий двоичный дамп программы  
1
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
11.03.2016, 14:33  [ТС]
То что надо. Спасибо! Возможно чуть позже появится вопрос по самой реализации, но попробую сначала сам.
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
14.03.2016, 21:32  [ТС]
nd2 У меня такой вопрос почему именно
C
1
2
#define MAX_STR_SIZE 0x666  // Maximum string length
#define MIN_STR_SIZE 0x5    // Minimum string length
5 и 1638 ?
Разве нельзя просто посмотреть размер файла. Там меньше раза в 4.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
14.03.2016, 21:36
Цитата Сообщение от Senarist Посмотреть сообщение
Разве нельзя просто посмотреть размер файла.
При чём здесь размер файла? Это максимальная и минимальная длина последовательности, которая будет выводиться.
Цитата Сообщение от nd2 Посмотреть сообщение
Выводит оттуда последовательность (от 5 до 1639) байт (как строку), если все байты в последовательности имеют значения кодов символов от ' ' до z.
Можно любые значения длины задать.
0
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 933
14.03.2016, 21:42  [ТС]
т.е если длина строки меньше 3 то она не выводится из условия этого:
C++
1
if (count > (MIN_STR_SIZE - 2)
и вывод строк заканчивается если достигает MAX_STR_SIZE ?
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
14.03.2016, 21:53
Я тебе уже всё сказал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.03.2016, 21:53
Помогаю со студенческими работами здесь

Не могу объяснить код программы
Помогите пожалуйста var xx,j,i,k:integer; begin xx:=0; for i:=1 to 2 do for j:=1 to i+1 do for k:=1 to j+1 do xx:=xx+1; ...

Дружественные функции(Объяснить код программы)
Вот программа: #include &lt;iostream&gt; using namespace std; class myclass { int n,d; public: myclass(int i, int j){n=i;...

Двумерный массив объектов (объяснить код программы)
Вот прога: #include &lt;iostream&gt; using namespace std; class samp { int a; public: samp(int n) {a=n;} int get_a() {return...

Наибольший элемент матрицы в левом углу - объяснить код программы
Здравствуйте. У меня есть программа, но я не могу понять как она работает. Пожалуйста, объясните ее и, если можете, упростите... ...

Двоичный дамп short и char выводится как int
Доброго дня! Пытаюсь выводить двоичный дамп переменных char, short и int вот таким образом: #include &lt;iostream&gt; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru