Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Листинг прошивки чипа 508RP

На принтере Canon mg2540s имеется чип 508RP на котором хитрый тайваньский производитель искусственно ограничивает объём печатаемых листов в 2000 страниц. После чего принтер уходит в блок.
Помогите разобрать листинг программы прошивки этого чипа, чтобы найти где именно в программе стоит это ограничение:

void __convention("regparm") sub_1(char* arg1)
{
*(arg1 * 2) -= 0x7e;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
}

void __convention("regparm") sub_4f(char* arg1, char* arg2, int32_t* arg3, int32_t arg4 @ ebp) __noreturn
{
int32_t var_4 = *arg3;
*arg3[1] |= *(&var_4 + (arg4 << 1));
*0x6262ec = arg1;
*arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg1 += arg1;
*arg2 += arg2;
arg2[0xac6c2ce2] += 0x6c;
breakpoint();
}

Дополнен

Программа прошивки заключена в обычный bin файл

По дате
По рейтингу
Аватар пользователя
Новичок
6мес

ищи в прошивке сравнения с 0x7D0 (2000 в hex), это скорее всего лимит. либо ищи функции, которые вызывают блокировку принтера. если не уверен, используй IDA Pro или Ghidra, чтобы проанализировать весь код. либо найди спеца по реверсу, чтобы не сломать чип. удачи.

Аватар пользователя
Гений
6мес

В самой прошивке НЕТ никаких ограничений! Эти струйники работают ГОДАМИ. Есть ограничения на количество краскооттисков на одну заправку картриджа и хранится эта информация в ПЗУ самого картриджа, каждого цвета.