Skip to content

Instantly share code, notes, and snippets.

@whoeverest
Last active March 8, 2021 19:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save whoeverest/175c79bfd8820c615c2e6c8f7fd8626a to your computer and use it in GitHub Desktop.
Save whoeverest/175c79bfd8820c615c2e6c8f7fd8626a to your computer and use it in GitHub Desktop.
Фискални сметки, QR код / DataMatrix

Што содржи QR кодот на македонските фискални сметки?

Скенираш сметка, УЈП после Х време ти враќа дел од данокот. Како функционира? Пробав да откријам.

Првата претпоставка ми беше дека во самиот QR код се содржат информации за сметката, колку пари е, можеби кои производи ги содржи и тн.

Пробав да изгуглам QR код кој има ваков облик, квадрат со 4 региони, ама не најдов. Испадна дека не е QR код, туку DataMatrix тип на 2д баркод. https://en.wikipedia.org/wiki/Data_Matrix

На интернет секако има декодери, па успеав да декодирам една сметка.

AC415100756AC415100756AC00172008[...остатокот е нечитлив]

Тука следеше разочарувањето. :) Првиот дел од пораката, односно првите 32 бајти се ASCII код, неенкриптиран, кој содржи три броја во форматот ACxxxxxxxx -- првите два ги има на самата сметка, третиот го нема испринтан и не знам што е.

Разочарувањето е дека остатокот од податоците се или gibberish или енкриптирани.

Прашањето беше, дали УЈП апликацијата ја декодира локално пораката? Пробав без интернет и не сакаше да скенира сметки, што ми укажува дека payload-от се праќа на сервер и од таму се добива одговор за успешно/неуспешно внесена сметка. Има логика, поради опасност од double entry ова е правилниот дизајн.

Сакав да го објавам ова, за ако некој налета случајно а го интересира, да продолжи со истражување.

UPDATE: линк од gdamjan со спецификација од УЈП, "УПАТСТВО за протокол за комуникација и размена на податоци помеѓу фискален апарат и крипто модул": http://www.ujp.gov.mk/files/attachment/0000/0576/UJP-IT-U.2-02-1.pdf

@whoeverest
Copy link
Author

whoeverest commented Mar 8, 2021

фото од сметката:

photo5922526659146266099

мануелно го поправав баркодот дека принтерот има бели линии оставено:

granappiva

@whoeverest
Copy link
Author

целиот код:

AC415100756AC415100756AC00172008\u00DA\u00FB\b\u0000\u0000\u0000\u0000\u0000\u0007\u00E07\u00A5\u0099\n\u00EC\u00DD\u00F4\u0005\u00AA\u009F\u0010d\u00B4\u0098-\u00E6j\u0010\u00D4\u00D2\n\u0088N_\u0089S4Z\u00BDV\u00CDW\u00D8e\u00B3\u00F0\u00B7n\u0001\u00F4L\u00B2\u00C1\u00C8]~$J\u000E\u003C%\u00B1Zp\u0026\u00B7\u0017\u00C2H\u0027E]jZ\u0095\u00A8\u00EF\u0096\u0097j\u008C\u00B35\u00C6\u003E\u00CE\u0026\u0005p\u00ED\u00A5\u001E\u0086D\u00BA\u00A8)R\u00DF\u00F2\u002B\u001D\u00B5b\n

@lubeskih
Copy link

lubeskih commented Mar 8, 2021

еве .apk ако има јунак што сака да декомпајлира: https://public.lh.mk/random/mk.accent.vatret_30_apps.evozi.com.apk

Ова https://github.com/JesusFreke/smali треба да помогне.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment