Страница 11 из 13 Первая ... 910111213 Последняя
Показано с 201 по 220 из 258

Тема: Помогите с программированием C/C++

  1. #201
    Завсегдатай Аватар для Teoretic
    Регистрация
    03.08.2012
    Адрес
    г. Армавир Краснодарского края
    Возраст
    64
    Сообщений
    883

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от EDDiE Посмотреть сообщение
    есть такие проги где пишете в рамочке (ромб, квадрат) предложение (команда такая-то) от него проводите линию к другому ромбу, где пишете предлоение "выполнить то-то и то-то", можно задать время выполнения.
    А прога сама переводит это все в машинный код.
    Язык Дракон?

  2. #202
    Частый гость Аватар для CAH91
    Регистрация
    14.03.2016
    Возраст
    39
    Сообщений
    249

    По умолчанию Re: Помогите с программированием C/C++

    Alexcryk, а чем вас не устраивает procmon? Если в фильтре указать одну программу он и будет показывать все что она делает, с файлами и в реестре.
    САНЯ, Пролетарии всех стран соединяйтесь!

  3. #203
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,992

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от Openreel Посмотреть сообщение
    Гостовские блок-схемы в виде исходника? Шиза для ленивых студентов, не представляю кому оно еще может понадобиться.
    У нас аналитик на одной выставке заинтересовался системой от Боша, которая умеет в частности нечто подобное. Система массово используется, в основном для разработки автомобильных ЭБУ и подобных систем управления.
    Там можно рисовать графические блоки, соединяя их линиями, можно описывать то же самое текстом на каком-то своём языке, можно писать вставки на С. На выходе генерятся сишные исходники. Как нам говорили их представители, многие разработчики, в основном - старшего поколения предпочитают именно графический редактор.
    Если вдруг интересно - могу найти название.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  4. #204
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    А теперь, хакерский вопрос, какие есть способы анализа того что делает чужая программа, что бы на основании этого сделать свою?
    https://www.litres.ru/kris-kasperski...odnyh-tekstov/

    Цитата Сообщение от alexcryke Посмотреть сообщение
    но можно по-конкретнее, чем в основном пользуются?
    Мозгами

    ---------- Сообщение добавлено 12:45 ---------- Предыдущее сообщение было 12:38 ----------

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Там можно рисовать графические блоки, соединяя их линиями, можно описывать то же самое текстом на каком-то своём языке, можно писать вставки на С. На выходе генерятся сишные исходники.
    Прикидываю, сколько надо мышевозить, чтоб получить 20к строк хорошего сишного кода...
    Мышевозить неплохо для ПЛК, но даже там можно писать на текстовых языках.

    Не, я понимаю, что под рутинные дела нормальные люди пишут кодогенератор, поскольку это тупо быстрей и надежней, а в сопровождении вообще праздник. Но сишный кодогенератор с граф вводом это уже имхо перебор.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  5. #205
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,199

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Там можно рисовать графические блоки, соединяя их линиями, можно описывать то же самое текстом на каком-то своём языке, можно писать вставки на С. На выходе генерятся сишные исходники. Как нам говорили их представители, многие разработчики, в основном - старшего поколения предпочитают именно графический редактор.
    Если вдруг интересно - могу найти название.
    Лаб Вью?
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  6. #206
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,992

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от Openreel Посмотреть сообщение
    Прикидываю, сколько надо мышевозить, чтоб получить 20к строк хорошего сишного кода...
    Там, как я понял, внутри части блоков, которые соединяют стрелочками, уже инкапсулировано Н-ное количество сишных вставок, плюс естественно библиотеки под конкретную аппаратную платформу.
    Цитата Сообщение от Alex Посмотреть сообщение
    Лаб Вью?
    Нет.

    ---------- Сообщение добавлено 14:09 ---------- Предыдущее сообщение было 14:07 ----------

    https://www.etas.com/en/products/ascet-developer.php
    Это дочка Боша, как я понял.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  7. #207
    Завсегдатай Аватар для funny the rat
    Регистрация
    06.01.2005
    Адрес
    Toronto
    Возраст
    58
    Сообщений
    6,170

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от Openreel Посмотреть сообщение
    Прикидываю, сколько надо мышевозить, чтоб получить 20к строк хорошего сишного кода...
    если подобная система спроектирована правильно, то там очень сложно выстрелить себе в ногу, это и есть главная фишка подобных систем, а особого качества кода на выходе от нee никто не ждёт
    В интернете вы можете быть кем угодно. Странно, что многие предпочитают быть идиотами.
    Как жаль, что тупость не причиняет боль ее носителю.

  8. #208
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,992

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от funny the rat Посмотреть сообщение
    особого качества кода на выходе от нee никто не ждёт
    Качества кода в смысле сопровождаемости там вообще не нужно, т. к. если вынуть шашку и начать править сгенерированный сишный код, то провернуть его назад в исходник (который на их высокоуровневом языке) и диаграммы - невозможно.
    Качество в смысле надёжности - это как раз о выстреливании себе в ногу, ага.
    Качество в смысле эффективности там не на высоте, как минимум, из-за избыточных проверок в угоду надёжности. Но при хорошем сишном компиляторе - наверное, всё будет не очень страшно
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  9. #209
    внутре нейронка Аватар для Ka4aN
    Регистрация
    25.05.2011
    Адрес
    Рязань
    Возраст
    38
    Сообщений
    2,869

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    Например?
    Еще такая порнуха есть http://www.getchip.net/posts/sreda-p...rithm-builder/
    Это Асм для всяких Тинек, в графической обертке и без миллиона рябящих в глазах jmp

    ---------- Сообщение добавлено 18:50 ---------- Предыдущее сообщение было 18:41 ----------

    ЗЫ: кому там Асма насыпать? Вот, правда для 8битной тиньки, зато закомменчено по самые помидоры, иначе сам не понимал уже через две строчки, что двумя строками назад было мною написано
    Первый и пока последний блин. В одно место его

    Скрытый текст

    Код:
    ====================================================================
    ; Main.asm file generated by New Project wizard
    ;
    ; Created:   Вт янв 23 2018
    ; Processor: ATtiny13
    ; Compiler:  AVRASM (Proteus)
    ;====================================================================
    
    ;====================================================================
    ; DEFINITIONS
    .def	Temp1=R16
    .def	ACWstatus=R17	;состояние полуволны в сети +-
    .def	ACWcounter=R18	;счетчик для проверки состояния, нужен для малой задержки от точки перехода  		(NOTE!)
    .equ	_ACWC=0x03	;длина счетчика (зависит от частоты процессора)
    .def	AC3Counter=R19	;счетчик полуволн
    .equ	_AC3C=0x03	;0x03 - три полуволны (м.б. 5,7, и т.д. нечетное число, если вентилятор потянет)	(NOTE!)
    .def	OSOCounter=R20	;счетчик для импульса в оптосемистор
    .equ	_OSO=0x02	;длина импульса (зависит от частоты процессора)
    .def	OSOn=R21	;признак включения ноги оптосемистора
    .def	PortBstatus=R22	;регистр данных со входа
    .def	HiVeloc=R23	;Вкл высокую скорость
    .def	LoVeloc=R24	;Вкл низкую скорость
    .def	BtnCounter=R25	;счетчик длительности нажатия кнопки (10мс на ед.)
    .equ	_BSC=0x05	;длина счетчика короткого нажатия кнопки (10мс на ед.)
    .equ	_BLC=0x80	;длина счетчика длинного нажатия кнопки (10мс на ед.)
    .equ	_TCh=0x10	;длина счетчика временного включения Zh (10мс*256*3 = 7,68сек на ед.)
    .equ	_TCl=0xff	;младший байт, нужен для мигания светодиодом и его правильного включения-выключения   	(NOTE!)
    
    
    ;====================================================================
    
    ;====================================================================
    ; VARIABLES
    ;====================================================================
    
    ;====================================================================
    ; RESET and INTERRUPT VECTORS
    ;====================================================================
          ; Reset Vector
          rjmp  Init
    
    ;====================================================================
    ; CODE SEGMENT
    ;====================================================================
    
    Init: 
          ; Write your code here      
    ;  назначение портов: nnrOLL~B
    ldi    PortBstatus, 0b00011100	; грузим признак выхода
    out    DDRB, PortBstatus	; в регистр управления 
    ldi    PortBstatus, 0b11110001	; грузим признак "активности"
    out    PortB, PortBstatus	; в регистр  входа           
    clr    ACWstatus		
    ldi    ACWcounter, _ACWC
    ldi    AC3Counter, _AC3C
    ldi    OSOCounter, _OSO
    clr    OSOn
    clr    HiVeloc
    clr    LoVeloc
    	    
    Main:	    
       in     PortBstatus, PinB	;читаем входы 
       bst    PortBstatus, 1	;запоминаем состояние ДАТЧИКА ПЕРЕХОДА НУЛЯ	
       clr    Temp1			;чистим Temp1
       bld    Temp1, 0		;запись бита в Temp1
       cp     ACWstatus, Temp1	;сравниваем новое состояние с бывшим
          brne   IfNotEq   		;ЕСЛИ не равны
          ldi    ACWcounter, _ACWC	;если ничего не поменялось, или помеха, то сброс счетчика
       rjmp NextMain		;поехали дальше
    
    IfNotEq: 				;=====================ВЫПОЛНЯЕТСЯ несколько раз В РАЙОНЕ ПЕРЕХОДА ЧЕРЕЗ НОЛЬ СЕТЕВОГО НАПРЯЖЕНИЯ===============================
    	 dec    ACWCounter		;если поменялось, убавляем счетчик
    	 breq	SetPins		;если счетчик перехода досчитал, то поехали работать (переход через ноль состоялся)
    	    rjmp   NextMain		;а если нет, то идем в самый низ
    	    
    ;=======================================================ВЫПОЛНЯЕТСЯ ОДИН РАЗ В ПОЛПЕРИОДА СЕТЕВОГО НАПРЯЖЕНИЯ=======================================================
    SetPins:				;==================УСТАНАВЛИВАЕМ НОГИ ОПТОПАРЫ И СВЕТОДИОДОВ===================
    	    mov    ACWstatus, Temp1		;меняем статус полуволны
    	    cbr    PortBstatus, 0b00000010	;сбрасываем бит по входу датчика перехода - чтоб не привязать "подтягивающий" резистор  	(NOTE!)
    	    sbr    PortBstatus, 0b00000001	;устанавливаем бит по входу кнопки - чтоб не отключить "подтягивающий" резистор         	(NOTE!)
    	    bst    Zl, 4			;чекаем 4-й бит младшего разряда для мигания красным СД
    	    bld    PortBstatus, 2		;записываем
    	    bst    LoVeloc, 0			;чекаем регистр медленной скорости для включения зеленого СД
    	    bld    PortBstatus, 3		;записываем
    	    bst    OSOn, 0			;чекаем надо ли включить оптосимистор
    	    bld    PortBstatus, 4		;записываем
    	    ldi    Temp1, 0b00010000
    	    eor    PortBstatus, Temp1		;инвертируем 4 бит, потому что у нас на ноге включение - это 0
    	    out    PortB, PortBstatus		;ВКЛЮЧАЕМ НОГИ КОНТРОЛЛЕРА
    	    cpi    OSOn, 0x00			;проверяем надо ли включить оптосимистор
    	    breq   HiVelCheck			;если не надо, то идем сразу дергать ногами, а если надо, то:
    	       ldi    OSOn, 0x00		;сбрасываем признак импульса
    	       ldi    OSOCounter, _OSO		;устанавливаем счетчик включения импульса
    		  
    HiVelCheck:	       			;=============ПРОВЕРКА ВКЛЮЧЕНИЯ БЫСТРОЙ СКОРОСТИ==============
    	    or     OSOn, HiVeloc		;ЭТА СТРОЧКА ЗАМЕНЯЕТ ТРИ СТРОКИ НИЖЕ
    	    
    ;	    cpi    HiVeloc, 0x00		;ПРОВЕРЯЕМ ВКЛ быстрой скорости
    ;	    breq   BtnCheck			;если не надо, то проходим мимо
    ;	       ldi OSOn, 0x01			;а ЕСЛИ НАДО, то установить признак включения оптопары
    
    	    	       
    BtnCheck:	;==================================ПРОВЕРКА НАЖАТИЯ КНОПКИ===================================
    	    in     PortBstatus, PinB		;читаем входы
    	    bst    PortBstatus, 0		;состояние кнопки
    	    clr    Temp1
    	    bld    Temp1, 0			;записываем в Temp1
    	    cpi    Temp1, 0x00			;===ПРОВЕРКА НАЖАТИЯ КНОПКИ (Temp1=0)============
    	    brne   IfBtnOff			;если не нажата, то пропустим дальнейшие действия
    	       inc    BtnCounter		;если нажата увеличиваем счетчик
    	       cpi    BtnCounter, _BLC		;==============ПРОВЕРКА НА ДЛИННОЕ НАЖАТИЕ=============
    	       breq   BtnIsLong
    	       cpi    BtnCounter, _BLC+2	;====проверка на перебор счетчика====
    	       brne   ThirdSWCheck
    		  dec    BtnCounter		;вертаем обратно
    	       rjmp   ThirdSWCheck    		;ИДЕМ ЧЕКАТЬ ТРЕТЬЮ ПОЛУВОЛНУ
    	       
    BtnIsLong:	;=================================ОБРАБОТКА ДЛИННОГО НАЖАТИЯ=================================
    	       ldi    Temp1, 0x01
    	       eor    LoVeloc, Temp1		;реверс состояния нулевого бита
    	       breq   ThirdSWCheck		;если установился 0, то прочь
    	       cpi    HiVeloc, 0x00
    	       brne   ThirdSWCheck		;если уже крутится, то прочь	       
    		  ldi    HiVeloc, 0x01		;Устанавливаем быструю скорость
    		  ldi    Zh, 0x01		;и устанавливаем временный счетчик на чуть-чуть >.<
    		  ldi    Zl, 0x80	       	;для того чтобы вентилятор на низкой скорости гарантированно раскрутился  	(NOTE!)
    	       rjmp   ThirdSWCheck
    	       
    IfBtnOff:	;=================================ОБРАБОТКА ОТПУЩЕНОЙ КНОПКИ=================================
    	       cpi    BtnCounter, _BSC		;проверка на короткое нажатие
    	       brlo   BtnIsOff      		;если недосчитали счетчик короткого то нах
    	       cpi    BtnCounter, _BLC		;проверка на длинное нажатие
    	       brsh   BtnIsOff			;если песчитали то тоже нах
    	       
    BtnIsShort:	;=================================ОБРАБОТКА КОРОТКОГО НАЖАТИЯ================================
    	       cpi    Zh, 0x00			;Чекаем счетчик временного ВКЛ
    	       breq   ContCheck			;идем проверять как там с постоянным ВКЛ
    		  ldi    Zh, 0x00		;иначе делаем постоянно ВКЛ
    		  ldi    Zl, _TCl
    	       rjmp   BtnIsOff  
    		  
    ContCheck:		;==============ПРОВЕРЯЕМ ПОСТОЯННОЕ ВКЛЮЧЕНИЕ==============
    	       cpi    HiVeloc, 0x00		;Чекаем счетчик постоянного ВКЛ
    	       breq   TimeOn			;если было ВЫКЛ, то пошли ВКЛ временно,
    		  clr    HiVeloc		;а если было ВКЛ, то ВЫКЛ
    		  clr    Zl
    	       rjmp   BtnIsOff
    		     
    TimeOn:			;==============ОРГАНИЗУЕМ ВРЕМЕННОЕ ВКЛЮЧЕНИЕ==============
    		  ldi    HiVeloc, 0x01		;Устанавливаем быструю скорость
    		  ldi    Zh, _TCh		;и устанавливаем счетчик
    		  ldi    Zl, _TCl
    	       
    BtnIsOff:	       ;===============КНОПКУ ОТПУСТИЛО ОКОНЧАТЕЛЬНО===============
    	       clr    BtnCounter
    
    	       
    ThirdSWCheck:	;=================================СЧИТАЕМ ПОЛУВОЛНЫ, ЖДЕМ ТРЕТЬЮ=============================
    	    dec   AC3Counter			;убавляем счетчик трех полуволн
    	    breq   ThirdSWNOW			;если полуволна третья, то идем работать
    	    rjmp NextMain			;поехали в главный цикл дальше
    	    
    	    ;vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ВЫПОЛНЯЕТСЯ РАЗ В ТРИ ПОЛУПЕРИОДА СЕТЕВОГО НАПРЯЖЕНИЯ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    ThirdSWNOW: 						    
    	    ldi    AC3Counter, _AC3C		;запускаем счетчик полуволн заново,
    	    or     OSOn, LoVeloc	;ЭТА СТРОЧКА ЗАМЕНЯЕТ ТРИ СТРОКИ НИЖЕ
    	    
    ;	    cpi    LoVeloc, 0x00		;проверить включение низкой скорости
    ;	    breq   NextMain
    ;	       ldi OSOn, 0x01			;установить признак включения оптопары
    
    				;=============ДЕКРЕМНТ СЧЕТЧИКА ВРЕМННОГО ВКЛЮЧЕНИЯ============
    	    cpi    Zh, 0x00			;проверим счетчик на ноль
    	    breq   NextMain			;если ноль, то пропустим вычитание
    	       sbiw   Zh:Zl, 1			;вычитаем	
    	       cpi    Zh, 0x00			;опять проверяем на ноль 
    	       brne   NextMain			;если не ноль уходим
    		  clr    HiVeloc		;если ноль сбрасываем ХиВелос
    		  clr    Zl			;и младший байт счетчика, чтоб не светить диодом
    			     
    	    ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^(КОНЕЦ)^ВЫПОЛНЯЕТСЯ РАЗ В ТРИ ПОЛУПЕРИОДА СЕТЕВОГО НАПРЯЖЕНИЯ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    	       
    	       
    ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^(КОНЕЦ)^ВЫПОЛНЯЕТСЯ ОДИН РАЗ В ПОЛПЕРИОДА СЕТЕВОГО НАПРЯЖЕНИЯ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    NextMain:	    ;======================ПРОДОЛЖЕНИЕ ОСНОВНОГО ЦИКЛА==================================
       cpi    OSOCounter, 0x00	;=======проверяем счетчик оптопары===========
          breq   EndMain		;пропускаем если ноль
          dec    OSOCounter		;уменьшаем если не ноль
    	 brne   EndMain		;пропускаем если не досчитали до нуля
    	 sbr    PortBstatus, 0b00010001		;Здесь установка ноги оптосимистора в АДЫН !!!!!!!!!!!!!!!!!!!!!!!!!
    	 cbr	PortBstatus, 0b00000010	
    	 out    PortB, PortBstatus			
    	 
    EndMain:
    	 rjmp  Main
          
          
    ;====================================================================
    [свернуть]
    Денис

  10. #210
    Завсегдатай
    Автор темы
    Аватар для alexcryke
    Регистрация
    28.12.2012
    Адрес
    Москва
    Сообщений
    4,089

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от CAH91 Посмотреть сообщение
    Alexcryk, а чем вас не устраивает procmon?
    устраивает, я просто подумал что есть что-то еще более глобальное (оно наверное есть просто не знаю что это еще) см. ниже.
    Цитата Сообщение от Openreel Посмотреть сообщение
    Мозгами
    +1

    ну это само собой, я имел ввиду инструменты позволяющие сделать точный клон закрытой (проприетарной) программы в исходнике.
    а суть вот в чем. пару месяцев назад наткнулся на интересный любительский проект Xash3D, как я понял из описания, человек, каким-то образом сделал собственную копию движка игры (с исходниками), якобы просто изучая поведение исполнительного файла и библиотек движка проприетарной игрушки (valve Half-Life).
    Поиграв в этот проект - я заметил одну странную вещь: все "баги" присутствующие в оригинале оказались и в копии. То есть человек, получается сделал клон даже не зная алгоритмов работы первоисточника?
    Ну в том смысле это не просто анализ внешней работы программы и самостоятельная разработка алгоритмов (мозгом!) выполняющая аналогичный результат, а какая машинная декомпиляция?

    Зачем я это написал? Я вот заметил интересный факт. Линуксовый проект Open Office, лет д-цать уже как разрабатывается, а корректно работать с документами Ворда (.doc и .docx) так и не могут сделать (по крайней мере раньше). А вот какая-то китайская фирма с ходу выпустила продукт который сходу практически на 100% умеет работать со всеми форматами MS Office, это который нынче WPS Office, который раньше был KingSoft.
    Это мистика, совпадение или крутая декомпиляция?

  11. #211
    Завсегдатай Аватар для maxssau
    Регистрация
    15.08.2015
    Адрес
    Самара
    Возраст
    39
    Сообщений
    2,608

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    Поиграв в этот проект - я заметил одну странную вещь: все "баги" присутствующие в оригинале оказались и в копии. То есть человек, получается сделал клон даже не зная алгоритмов работы первоисточника?
    как вариант "выдернул" исполнительную часть движка, той же IDA Pro, но на это способны только программисты с черным поясом

    ---------- Сообщение добавлено 23:05 ---------- Предыдущее сообщение было 23:04 ----------

    Цитата Сообщение от alexcryke Посмотреть сообщение
    крутая декомпиляция
    не просто крутая декомпиляция, одиночке такое не осилить
    _________________
    Евгений

  12. #212
    Завсегдатай
    Автор темы
    Аватар для alexcryke
    Регистрация
    28.12.2012
    Адрес
    Москва
    Сообщений
    4,089

    По умолчанию Re: Помогите с программированием C/C++

    Тут вопрос новичковый возник: Объясните, пожалуйста, доходчиво, что такое в компьютерном понимании означает термин "Отладка" (Debug)?
    Может я просто не правильно толкую вложенный смысл, потому что по-русски как бы отладка синоним слову наладка, то есть проверка или настройка...
    а тут вроде выходит что отладка как-то связана с понятием сборка (билд). или как мне понимать еще название книги Касперского "Отладка без исходников"?

    ---------- Сообщение добавлено 23:20 ---------- Предыдущее сообщение было 23:18 ----------

    maxssau, спасибо за пояснение про IDA Pro, как я понял, то мой вопрос видимо идет к вопросу о так называемом "дизассеблировании" кода закрытой программы что и является вариантом анализа работы, а не просто анализ внешних проявлений работы программы, я правильно понял?

  13. #213
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    или как мне понимать еще название книги Касперского "Отладка без исходников"?
    Для этого надо прочитать эту книгу. И только потом думать про сравнительно сложные задачи - типа выдирания движка игрухи. Для понимания процессов как такое делать надо иметь хотя-бы начальный опыт и знания.



    Цитата Сообщение от alexcryke Посмотреть сообщение
    Линуксовый проект Open Office, лет д-цать уже как разрабатывается, а корректно работать с документами Ворда (.doc и .docx) так и не могут сделать (по крайней мере раньше). А вот какая-то китайская фирма с ходу выпустила продукт
    Ответ на этот вопрос надо искать в юридической области, она крутизну опенсорса ограничивает. Бо называться оно будет не разработали, а скомуниздили и есно результат с судебными исками. Оно линуксоидам надо? Оно им вообще надо - делать серьезную совместимость с MS?

    Цитата Сообщение от alexcryke Посмотреть сообщение
    якобы просто изучая поведение исполнительного файла
    Если написать как есть, то ему тоже могут иск влепить, а оно ему надо?
    Хочешь узнать про настоящий анализ - иди работать учеником вирусного аналитика. Только это не фан, бо хочешь или не хочешь - а серьезно анализируй тоннами в сутки, при этом твой противник приложит максимум усилий, чтобы помешать.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  14. #214
    Завсегдатай
    Автор темы
    Аватар для alexcryke
    Регистрация
    28.12.2012
    Адрес
    Москва
    Сообщений
    4,089

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от Openreel Посмотреть сообщение
    Для этого надо прочитать эту книгу. И только потом думать про сравнительно сложные задачи - типа выдирания движка игрухи. Для понимания процессов как такое делать надо иметь хотя-бы начальный опыт и знания.
    Золотые слова! Спасибо!

    Цитата Сообщение от Openreel Посмотреть сообщение
    Для этого надо прочитать эту книгу.
    Извини, знаешь, как то за пару часов я не успел приобрести (качнуть пиратку) и от корки до корки изучить.
    (ну в плане я просто задал вопрос на опережение )

    Цитата Сообщение от Openreel Посмотреть сообщение
    Для понимания процессов как такое делать надо иметь хотя-бы начальный опыт и знания.
    Совершенно верно. я за этим и завел данную ветку.
    что бы иметь начальный опыт нужно иметь начальные ориентиры в этой деятельности, а не имея их, вся информация воспринимается как фрагментарные куски нипойми чего
    Я ж в самых начальных постах просил показать где искать основы... ну так называемую "точку сборки" от которой хоть бы было бы понятно в каких направлениях двигать и что с чем связано а с чем нет.
    ИМХО, если это не понятно мне, то последующее вообще.

    Цитата Сообщение от Openreel Посмотреть сообщение
    Ответ на этот вопрос надо искать в юридической области
    Спасибо! я так и предполагал что видимо в этом и заключается ключевой момент.

  15. #215
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    Извини, знаешь, как то за пару часов я не успел приобрести (качнуть пиратку) и от корки до корки изучить.
    Достаточно даже пары десятков страниц, для понимания чумовой провокации в названии.
    Покупать смысла нет, Крис не был фанатом копирайта, да и думаю с неба улыбнется, если от его книг читатель поумнеет. Этот автор стоит того, чтобы прочитать все, что он написал. Нынче уже наверняка есть(однозначно должно быть) место, где все его труды собраны.


    Цитата Сообщение от alexcryke Посмотреть сообщение
    что бы иметь начальный опыт нужно иметь начальные ориентиры в этой деятельности, а не имея их, вся информация воспринимается как фрагментарные куски нипойми чего
    Тут как в боксе, не только теория, но и практика обязательна и в количестве, иначе битая морда и даже непонятно как. Простого и быстрого пути нет, читать, думать, кодить, цикл повторить многократно.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

  16. #216
    Завсегдатай Аватар для maxssau
    Регистрация
    15.08.2015
    Адрес
    Самара
    Возраст
    39
    Сообщений
    2,608

    По умолчанию Re: Помогите с программированием C/C++

    кстати, совсем забыл, некоторые из игровых движков вообще бесплатные, по моему Unreal Engine бесплатный. поэтому и

    Цитата Сообщение от alexcryke Посмотреть сообщение
    пару месяцев назад наткнулся на интересный любительский проект Xash3D, как я понял из описания, человек, каким-то образом сделал собственную копию движка игры (с исходниками), якобы просто изучая поведение исполнительного файла и библиотек движка проприетарной игрушки (valve Half-Life).
    халва кстати на движке первого Quake сделана, если поискать, может где и есть исходные коды. баги в этих играх одни и те же, чего стоит прохождение half life за 20 минут, благодаря этим "багам"

    ---------- Сообщение добавлено 08:59 ---------- Предыдущее сообщение было 08:40 ----------

    GoldSRC движок у халвы называется

    ---------- Сообщение добавлено 11:34 ---------- Предыдущее сообщение было 08:59 ----------

    что то мне самому интересно стало, вобщем немного погуглив нашел исходники GoldSRC, так что декомпилировать и вставлять хуки не придется

    https://github.com/ValveSoftware/halflife
    _________________
    Евгений

  17. #217
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,992

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    что такое в компьютерном понимании означает термин "Отладка" (Debug)
    Отлаживать программу - значит избавлять программу от лажи (с)
    Обычно подразумевается пошаговое выполнение с возможностью просматривать состояние переменных и т. п. Чтобы можно было такое делать - обычно нужна специальная отладочная сборка (build) программы.
    Если такой сборки нет - остаётся только возможность отлаживать не видя исходника, а только дизассемблированный код. А отлаживать, видя строки исходного кода - гораздо проще.
    Последний раз редактировалось Meta|_; 23.04.2019 в 11:47.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  18. #218
    Завсегдатай
    Автор темы
    Аватар для alexcryke
    Регистрация
    28.12.2012
    Адрес
    Москва
    Сообщений
    4,089

    По умолчанию Re: Помогите с программированием C/C++

    Всем снова привет! Прочел вот "букварь" по C#, когда читал то думал, что все понятно, а когда прочел и попробовал сделать что-то сам то сел в полную "лужу" .
    в общем, цели у меня поменялись, я не хочу быть программистом супер-пупер, а хочу быть просто недо-программистом.
    в общем, мои цели сузились до просто написания окон которые бы выполняли тупо какие-либо виндовые скрипты...
    но и с этим у меня теперь полная непонятка.
    В "букваре" дан хороший совет - использовать пример программы как шаблон для написания чего-то своего...
    но чего? крестиков-ноликов? разработки алгоритма афуительного видеокодека? мне это в общем, не первое ни второе не надо.
    про написание драйверов - я конечно погорячился.
    но как писать обычные окошки не требующие сложных алгоритмов?, я так и не вкурил.
    в визуал студио там множество менюшек со всякими опциями их просто до фига. но как спрашивается просто сделать кнопку которая бы при нажатии выполняла бы какую-нибудь просто виндовую команду типа щоутдаун???? - я так и не разобрался... даже хотя бы просто привязать к кнопке команду "закрыть окно"???????????.
    совет "почитай справку" это конечно правильно, но выглядит как: "сходи в Ленинку и перечитай там всё, если хочешь узнать как прибить гвоздь" - звучит, мягко говоря, как издевка....

    ---------- Сообщение добавлено 03.05.2019 в 00:08 ---------- Предыдущее сообщение было 02.05.2019 в 23:54 ----------

    подскажите, может быть есть какие-либо статьи о том как быстро делать проги в визуал студио имея только общие представления о классах, объектах, действиях, и пр. ??? не втыкая там о том как мне ужать код в 1кБ и запустить его на 486 проце без тормозов... ну то есть безо всяких там тонкостей для "черного пояса"... я даже больше уверен в том, что такое есть, но просто я не знаю или не правильно спрашиваю (как испорченный телефон) об этом.

    ---------- Сообщение добавлено 00:34 ---------- Предыдущее сообщение было 00:08 ----------

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

  19. #219
    Завсегдатай Аватар для funny the rat
    Регистрация
    06.01.2005
    Адрес
    Toronto
    Возраст
    58
    Сообщений
    6,170

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    но как спрашивается просто сделать кнопку которая бы при нажатии выполняла бы какую-нибудь просто виндовую команд
    Oткрываем студию выбираем тип проекта windows forms app --> указываем папку и имя кликаем ОК, Студия сгенерит форму. Кликаем View -> Toolbox - > Common controls -> Button добавляем кнопку на форму. Ригхт цлик на кнопке -> Properties -> даём осознанное имя (я предпочитаю с префиксами типа btn или cmd). Дабл кликаем на кнопке студия сгенерит обработчик нажатия и перекинет в фаил кода
    пишем там к примеру
    System.Diagnostics.Process.Start(@"C:\Windows\notepad.exe");
    или
    System.Diagnostics.Process.Start("C:\\Windows\\notepad.exe");

    Клацаем F5 .... profit
    В интернете вы можете быть кем угодно. Странно, что многие предпочитают быть идиотами.
    Как жаль, что тупость не причиняет боль ее носителю.

  20. #220
    Завсегдатай Аватар для Openreel
    Регистрация
    02.09.2006
    Адрес
    Санкт-Петербург
    Возраст
    49
    Сообщений
    3,157

    По умолчанию Re: Помогите с программированием C/C++

    Цитата Сообщение от alexcryke Посмотреть сообщение
    В "букваре" дан хороший совет - использовать пример программы как шаблон для написания чего-то своего...
    но чего? крестиков-ноликов? разработки алгоритма афуительного видеокодека? мне это в общем, не первое ни второе не надо.
    про написание драйверов - я конечно погорячился.
    но как писать обычные окошки не требующие сложных алгоритмов?, я так и не вкурил.
    В "обычных окошках", даже если писать на голом вин32 апи, нет никаких сложных алгоритмов. Вагон кода - есть, но он туп как валенок. Выше давал ссылки на книжки 90ых, где вся теория оконных приложений.
    Учиться программировать алгоритмы на окошках - имхо пустая трата времени. Лучше написать несколько программок на командной строке.
    Простой калькулятор выражений со скобочками. Калькулятор в обратной польской нотации. Задачки чуть сложней - берем и измеряем сотню старых транзисторов .Надо автоматический разгруппировать их в кварты и пары. Добавить понятия грейда и их стоимость. Найти алгоритм разбиения в группы, дающий максимальную прибыль(к примеру две пары высокого грейда или кварта более низкого грейда - найти кто выгодней). Изменить условие задачи, на разбивку из миллиона транзисторов, понять что при этом усложнилось.

    Взять файл сверловки, добавить свойства станка и рассчитать время сверления и длину пути траектории перемещения инструмента. Проверить на оптимальность длины пути - если не оптимален, то выдать новый файл с оптимальным. Добавить енулевую вероятность сбоя координаты кривого любительского станочка и написать разбивку алгоритма сверления на не только на минимизацию пути, но и на минимизацию ошибки - отверстия принадлежащие одному компоненту сверлить атомарно, но при этом минимизировать длину пути. Добавить разную стоимость и скорость координат Х и У, задачу повторить.
    Приложение с окошками - да хоть простой калькулятор для начала. Потом слепить базу данных компонентов, где лежат какие детальки и поиск по оным. Добавить отчеты - например сколько денег было потрачено на закупку резисторов в 2013году. Добавить понятие проектов и применимости компонентов оных - тогда можно расширить базу данных до макета складского учета.
    Если все это сложно - можно примитивы какие лепить, например расчет номинала резистора по цвету полосок, кликая в полоски в окошке.
    Я в свое время писал много разной нужной мне фигни, поскольку написать самому быстрей, чем искать готовое. Вывод на принтер "миллиметровки" в дюймовой сетке, так чтобы эта сетка действительно была дюймовой, а не как получилось. Много лет платы разводил карандашом на бумаге, поэтому актуально было. Или к примеру нужно набрать некую большую емкость с неким ESR и габаритами и срочно. Забиваем в исходник габариты, стоимость, параметры пачки кондеров с ближайшей лавки и находим оптимальные решения. Или другая задача - нужно на работе тестировать некий интерфейс, была синтезирована топология сложной резисторной цепи. Потом была написана прога с расчетом, в нее добавлен ряд по е24, и за ряд последовательных приближений было сведено
    к более простой топологии с ровно одним переключением(реле стоит сильно дороже резисторов, да и время тестирования уменьшается), но с уложением в допуск. Однажды быстро накатал кинематический симулятор - в текстовом виде задается кинематическая цепь из маховиков, пассиков, осей и скорость вращения одной из оси, на выходе отчет со скоростями всех осей и их частотами первых трех гармоник. Для теоретического анализа спектров детонации разных мафонов и сравнения с ушами...

    Можно мульен осмысленных задач придумать, но если писать проги делающие неведомую хрень, аля учебник - то и правда ничего не ясно, поскольку нет цели. У профи други задачи, там надо много теории и понимания зачем и как и почему, потому для профи учебники толстые и скучные.
    WBR, Michael.
    Цель расчетов - понимание, а не числа (с) Хемминг.

Страница 11 из 13 Первая ... 910111213 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •