From 451b5dd3998ac8dfec722a9486d7f7236af8f2dd Mon Sep 17 00:00:00 2001 From: forth32 Date: Thu, 29 Sep 2016 17:53:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B0=20=D0=B0=D0=B2?= =?UTF-8?q?=D1=82=D0=BE=D0=BC=D0=B0=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=B0=D1=82=D1=87=D0=B8=D1=82=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=B7=D1=87=D0=B8=D0=BA=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B5,=20=D1=83?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D1=8F=D1=8F=20=D0=B8=D0=B7=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=B3=D0=BE=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D0=B4=D1=83=D1=80?= =?UTF-8?q?=D1=83=20flash=5Feraseall=20=D0=9F=D0=BE=D0=B4=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D1=8D=D1=82=D0=BE=D1=82=20=D0=BF=D0=B0?= =?UTF-8?q?=D1=82=D1=87=20=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=20=D1=81=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BC=D0=BE=D1=89=D1=8C=D1=8E=20=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=20-c,=20=D0=BF=D1=80=D0=B8=20=D1=8D=D1=82=D0=BE=D0=BC=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D1=87=D0=B8=D0=BA=20=D0=B3?= =?UTF-8?q?=D1=80=D1=83=D0=B7=D0=B8=D1=82=D1=81=D1=8F=20=D0=BA=D0=B0=D0=BA?= =?UTF-8?q?=20=D0=B5=D1=81=D1=82=D1=8C,=20=D0=B8,=20=D0=B5=D1=81=D0=BB?= =?UTF-8?q?=D0=B8=20=D0=BE=D0=BD=20=D0=BD=D0=B5=D0=BF=D0=B0=D1=82=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9,=20=D1=81=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=20=D0=BD=D0=B0=D1=84=D0=B8=D0=B3=20=D0=B2?= =?UTF-8?q?=D1=81=D1=8E=20=D1=84=D0=BB=D0=B5=D1=88=D0=BA=D1=83.=20=D0=A2?= =?UTF-8?q?=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B2=20=D1=80=D0=B5=D0=BF?= =?UTF-8?q?=D0=BE=D0=B7=D0=B8=D1=82=D0=BE=D1=80=D0=B8=D0=B9=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=B6=D0=BD=D0=BE=20=D0=BA=D0=BB=D0=B0=D1=81=D1=82=D1=8C=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=BF=D0=B0=D1=82=D1=87=D0=B5=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D1=87=D0=B8=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D1=87=D0=B8=D0=BF=D1=81=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20r2=20=D0=B8=20r11.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- balong-usbdload.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/balong-usbdload.c b/balong-usbdload.c index 873c2d7..47b8fc7 100644 --- a/balong-usbdload.c +++ b/balong-usbdload.c @@ -214,7 +214,7 @@ void main(int argc, char* argv[]) { unsigned int i,res,opt,datasize,pktcount,adr; int bl; // текущий блок unsigned char c; -int fbflag=0, tflag=0, mflag=0, bflag=0; +int fbflag=0, tflag=0, mflag=0, bflag=0, cflag=0; int koff; // смещение до ANDROID-заголовка char ptfile[100]; @@ -253,7 +253,7 @@ bzero(fileflag,sizeof(fileflag)); memset(fileflag, 0, sizeof(fileflag)); #endif -while ((opt = getopt(argc, argv, "hp:ft:ms:b")) != -1) { +while ((opt = getopt(argc, argv, "hp:ft:ms:bc")) != -1) { switch (opt) { case 'h': @@ -270,6 +270,7 @@ printf("\n Утилита предназначена для аварийной U -t - взять таблицу разделов из указанного файла\n\ -m - показать таблицу разделов загрузчика и завершить работу\n\ -s n - установить файловый флаг для раздела n (ключ можно указать несколько раз)\n\ +-c - не производить автоматический патч стирания разделов\n\ \n",argv[0]); return; @@ -281,6 +282,10 @@ printf("\n Утилита предназначена для аварийной U fbflag=1; break; + case 'c': + cflag=1; + break; + case 'b': fbflag=1; bflag=1; @@ -414,7 +419,7 @@ for(bl=0;bl<2;bl++) { return; } - // Патч erase-процедуры + // Патч erase-процедуры на предмет игнорировани бедблоков if (bflag) { res=perasebad(blk[bl].pbuf, blk[bl].size); if (res == 0) { @@ -422,6 +427,12 @@ for(bl=0;bl<2;bl++) { return; } } + // Удаление процедуры flash_eraseall + if (!cflag) { + res=pv7r2(blk[bl].pbuf, blk[bl].size)+pv7r11(blk[bl].pbuf, blk[bl].size); + if (res != 0) printf("\n* Удалена процедура flash_eraseal по смещению %08x",res); + } + }