За какво е EKLZ?
Често ме питат клиенти, за какво е EKLZ в техните KKM.
И на моя отговор, че сега е технически невъзможно да се скрият приходите, записани в EKLZ, чувам, че, казват те, едно време в касите беше въведена фискална памет за същата цел, но те успяха да „заобиколят ”Такава защита. И по аналогия те твърдят, че EKLZ също се настройва лесно.
Целта на тази статия е да покаже един от методите за изтриване на приходите от фискалната памет на старото устройство EKR3102F и да обясни на читателя защо този метод е невъзможен в новия касов апарат EKR3102K, както и всеки друг модел с EKLZ устройство.
Ще ви разкажа за фискалната памет на касата EKR3102F.
Фискалната памет EKR3102F е направена под формата на ROM чип с ултравиолетово (UV) изтриване. Тя беше покрита с ламаринено покритие и запечатана от фабриката. Предполагаше се, че единственият възможен начин за коригиране на данните във фискалната памет е счупването на фабричния печат.
Но за съжаление хардуерният и софтуерен комплекс имаше грешка при изпълнението на защитата на фискалната памет на касата. Тя се състоеше в липсата на проверка на данните във фискалната памет.
Адрес HEX данни HEX
И така нататък, само 16 байта, определени от програмата като фискална памет.
В допълнение към тези данни, паметта на микросхемата е маркирана за записване на фискални отчети.
Тоест на всеки 12 байта се записва 13-ият байт със стойността AA HEX. И между тези AA HEX байтове (да наречем това място - сектор), касиерската програма по време на анулиране записва данните за печалбите за деня.
Тези данни включват:
1. Заглушен номер.
3. Размерът на приходите за периода на извършената анулиране.
4. Контролна сума (12-ти байт в сектора).
Четвъртата точка се оказа „пълна с дупки“. Изводът е, че контролната сума се счита за просто добавяне на тези 11 байта (самата контролна сума е написана в 12-ти байт) между лейбълите - AA HEX. Тук беше скрита възможността за корекция на данните: ако изтриете напълно данните, т.е. напишете 00 между знаците AA HEX, тогава ще се получи и контролната сума - 00 HEX. След това необходимите (коригирани) приходи са записани в следните свободни сектори.
В резултат на това, когато данъчният инспектор отпечатва фискалните данни за необходимия период на работа, програмата достига последния некоригиран отчет с номер, например 201, и преминава към следващия сектор в търсене на отмяна на номер 202 ( което вече беше „обезсилено“). След като провери контролната сума на "обезсиления" сектор, като се увери, че е правилен и равен на 00, HEX "не намери" този празен номер и без да отпечата нищо, отиде в следващия сектор. Продължавайки проверката, програмата „не намери“ останалите „обезсилени“ сектори, докато достигне коригирания сектор. Там тя срещна данни, които продължи да отпечатва.
Тоест, за хакера беше достатъчно да отвори касата, да замени ROM на програмата на касата и да напише нови данни, които да може да въведе предварително в самата програма, или да ги получи от компютъра чрез прекъсванията на контролера при пристигането на данни в регистъра SBUF. Важно е всички тези действия да могат да бъдат извършени, без да се отваря фискалната памет на касата.