


Листинг прошивки чипа 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 файл
ищи в прошивке сравнения с 0x7D0 (2000 в hex), это скорее всего лимит. либо ищи функции, которые вызывают блокировку принтера. если не уверен, используй IDA Pro или Ghidra, чтобы проанализировать весь код. либо найди спеца по реверсу, чтобы не сломать чип. удачи.
В самой прошивке НЕТ никаких ограничений! Эти струйники работают ГОДАМИ. Есть ограничения на количество краскооттисков на одну заправку картриджа и хранится эта информация в ПЗУ самого картриджа, каждого цвета.