Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Рекомендуемые сообщения

При просмотре в мониторе портов загрузкуи скачивание файлов на телефон Qualcomm платформы заметил что команды похожи на те что Вадикс описал в теме про квалкомы.. но вот разобрать контрольную сумму не могу...

известно что это какая то модификация CCITT-16.

 

например

7F 1C 00 42 00 00 16 00 02 00 00 00 2F 53 65 63

75 72 69 74 79 2F 73 79 73 69 6E 66 6F 00 61 31

7E

 

как я понял 7F и 7E это стартовые и стоповые байты... 61 31 - это вроде CRC

 

 

 

примеры логов прикреплены в аттаче..

sample.rar

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

Ссылка на комментарий
Поделиться на другие сайты

всем спасибо.. сам уже разобрался...

Корейцы как обычно много намудрили... особенно с полиномом...

Вот код для вычисления CRC :evil:

 

function checksum(cmd: string): Word;
var n: Integer;
eax_C,ecx_c,edx_c:word;


const crc_table: array[0..255] of Word = (
$0000, $0580, $0F80, $0A00, $1B80, $1E00, $1400, $1180,
$3380, $3600, $3C00, $3980, $2800, $2D80, $2780, $2200,
$6380, $6600, $6C00, $6980, $7800, $7D80, $7780, $7200,
$5000, $5580, $5F80, $5A00, $4B80, $4E00, $4400, $4180,
$C380, $C600, $CC00, $C980, $D800, $DD80, $D780, $D200,
$F000, $F580, $FF80, $FA00, $EB80, $EE00, $E400, $E180,
$A000, $A580, $AF80, $AA00, $BB80, $BE00, $B400, $B180,
$9380, $9600, $9C00, $9980, $8800, $8D80, $8780, $8200,
$8381, $8601, $8C01, $8981, $9801, $9D81, $9781, $9201,
$B001, $B581, $BF81, $BA01, $AB81, $AE01, $A401, $A181,
$E001, $E581, $EF81, $EA01, $FB81, $FE01, $F401, $F181,
$D381, $D601, $DC01, $D981, $C801, $CD81, $C781, $C201,
$4001, $4581, $4F81, $4A01, $5B81, $5E01, $5401, $5181,
$7381, $7601, $7C01, $7981, $6801, $6D81, $6781, $6201,
$2381, $2601, $2C01, $2981, $3801, $3D81, $3781, $3201,
$1001, $1581, $1F81, $1A01, $0B81, $0E01, $0401, $0181,
$0383, $0603, $0C03, $0983, $1803, $1D83, $1783, $1203,
$3003, $3583, $3F83, $3A03, $2B83, $2E03, $2403, $2183,
$6003, $6583, $6F83, $6A03, $7B83, $7E03, $7403, $7183,
$5383, $5603, $5C03, $5983, $4803, $4D83, $4783, $4203,
$C003, $C583, $CF83, $CA03, $DB83, $DE03, $D403, $D183,
$F383, $F603, $FC03, $F983, $E803, $ED83, $E783, $E203,
$A383, $A603, $AC03, $A983, $B803, $BD83, $B783, $B203,
$9003, $9583, $9F83, $9A03, $8B83, $8E03, $8403, $8183,
$8002, $8582, $8F82, $8A02, $9B82, $9E02, $9402, $9182,
$B382, $B602, $BC02, $B982, $A802, $AD82, $A782, $A202,
$E382, $E602, $EC02, $E982, $F802, $FD82, $F782, $F202,
$D002, $D582, $DF82, $DA02, $CB82, $CE02, $C402, $C182,
$4382, $4602, $4C02, $4982, $5802, $5D82, $5782, $5202,
$7002, $7582, $7F82, $7A02, $6B82, $6E02, $6402, $6182,
$2002, $2582, $2F82, $2A02, $3B82, $3E02, $3402, $3182,
$1382, $1602, $1C02, $1982, $0802, $0D82, $0782, $0202);

begin
 cmd:=copy(cmd,5,length(cmd)-4);
 eax_c := $FFFF;

 for n := 1 to length(cmd) do
 begin
  ecx_c:=eax_c;
  edx_c:=0;
  edx_c:=(Ord(cmd[n]));
  ecx_c:=ecx_c and $FFFF;
  ecx_c:=ecx_c shr 8;
  ecx_c:=ecx_c xor edx_c;
  edx_c:=0;
  edx_c:=eax_c shl 8;
  eax_c:=lo(crc_table[ecx_c] )*256 +hi(crc_table[ecx_c]);
  eax_c:= eax_c xor edx_c;
 end;
result:=eax_c;
end;

 

Как видно в строке первые 4 байта отбрасываются, и CRC считается для всех остальных...

 

P.S. сорри за название переменных..просто по быстрому переносил с асма :evil:

  • Like 10

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...