LINUX.ORG.RU

в разделе job поспрашивай - там точно есть

MKuznetsov ★★★★★
()

на коленке свой напЕйШиТЕ

anonymous
()

посмотрите radare.org

XVilka ★★★★★
()

$ cat hex_firm.c

#include <stdio.h>
#include <stdint.h>

#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))

uint8_t firmware[] = {12,23,34,45,56,10,22,34,42,23,33,34,78,90,233,112,
                    12,23,34,45,56,10,22,34,42,23,33,34,78,90,233,112,
                    34,45,56,10,22,34,42,23,33,34,78,90,99,233,112,255};

int hex_dump(void * data, uint32_t size, uint32_t width) {
    uint32_t start_addr = 0;
    uint32_t cur_pos;
    uint32_t data_pos = 0;

    if (size == 0 || width == 0) {
        return 1;
    }
    while(data_pos < size) {
        printf("0x%08X: ", start_addr + data_pos);
        cur_pos = 0;
        while(cur_pos < width) {
            printf(" 0x%02x ", *((uint8_t *)data + data_pos));
            data_pos += 1;
            cur_pos += 1;
            if (data_pos == size) {
                break;
            }
        }
        printf("\n");
    }
    return 0;
}

int main() {
    hex_dump(&firmware, ARRAY_SIZE(firmware), 16);
    return 0;
}

$ ./hex_firm 
0x00000000:  0x0c  0x17  0x22  0x2d  0x38  0x0a  0x16  0x22  0x2a  0x17  0x21  0x22  0x4e  0x5a  0xe9  0x70 
0x00000010:  0x0c  0x17  0x22  0x2d  0x38  0x0a  0x16  0x22  0x2a  0x17  0x21  0x22  0x4e  0x5a  0xe9  0x70 
0x00000020:  0x22  0x2d  0x38  0x0a  0x16  0x22  0x2a  0x17  0x21  0x22  0x4e  0x5a  0x63  0xe9  0x70  0xff 

[\code]
dimon555 ★★★★★
()
Ответ на: комментарий от Manhunt

Ну, надо чтобы всеми цветами радуги играло на ansi терминале, потому, что надо максимально гламурно показать как кавайные пакетики по SPI ходят. А не фуфло всякое.

slapin ★★★★★
() автор топика
Ответ на: комментарий от slapin

У меня для тебя две новости.

Сначала плохая: штатный линуксячий hexdump специальной поддержки цветов не умеет (в отличие от ls, grep и прочих)

Теперь хорошая: printf отлично печатает ANSI escape sequences, красть хоть до очумения.

Manhunt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.