Archive

Archive for the ‘geek stuff’ Category

Še en windows bankomat

September 27th, 2011 No comments

image

...in še več strahu pri vsakem vtikanju kartice :/

Categories: geek stuff Tags: , ,

Reklame in procentni račun

July 10th, 2011 2 comments

Danes sem opazil nekaj reklam za telefone določenega slovenskega mobilnega operaterja:

Razumem da so ljudje, ki pripravljajo reklame, hodili na fakulteto, za katero mnogi pravijo da ni fakulteta, in razumem da jim matematika ni ravno vrlina... vendar vseeno... procenti (odstotki) so snov sedmega ali osmega razreda osnovne šole.

En procent oz. odstotek je (kot ime pove) ena stotina. Torej 10%=10/100.

Vzemimo prvi telefon (LG P500), ki so ga pocenili z 90€ na 40€. 1% od 90-ih € je 1/100*90€ = 0.9€. Če pogledamo koliko stotin stane v novo ceno (torej koliko 0.9€ spravimo v 40€... seveda pri tem mislimo na deljenje), je to približno 44. Torej je nova cena približno 44% stare, kar seveda pomeni, da smo stari ceni odvzeli 56%.  Telefon je torej 56% cenejši.

Sedaj poglejmo največji zapis na reklami: "DO 70% NIŽJE CENE TELEFONOV!". Besedica "DO" pomeni mejo intervala. "Do 70%" pomeni torej od 01 DO 70% (z vsem vmes), ali pa drug interval, manj logičen v reklamnem oglasu, ki bi pomenil od neskončno navzdol do 70% (oziroma ker gre za procente od 100% navzdol do 70%).   Seveda ne more pomeniti obojega. In če pogledamo prejšnji primer, kjer je cena znižana za 56%, verjetno pomeni znižanje med 0% in 70%.

Podobno velja za telefon "Nokia X2", katerega cena je nižja za 50%2.

Tretji telefon ("Blackberry Curve 8528") je znižan z 50€ na 10€. Če ponovimo vajo, je zatorej 1% (od stare cene, torej od 50€) točno 0.5€ in nova cena je točno 20 odstotkov stare, torej so ceno znižali za kar 80%. In 80% je več kot 70%.

Če pogledamo zadnja dva telefona, ki sta znižana z 10€ na 1€ (torej 1% od 10€ je 0.1€, v novo ceno 1% spravimo 10 krat po 0.1€, nova cena je torej 10% stare, kar pomeni da smo jo znižali za 90%).  Tudi 90% je več kot 70%.

Največje znižanje je torej za 90% (ostala so manj), zatorej so vaša znižanja DO 90%, in ne do 70%3

Se opravičujem za izpad, vendar vseeno upam da bo komu to pomagalo razumeti kako se računajo odstotki, in kaj pomeni besedica "DO".

  1. zanemarimo negativna števila
  2. izračun prepuščam bralcu
  3. Kar me najbolj čudi je to da 90% tudi s stališča reklama, izgleda bolj mamljivo kot 'le' 70%
Categories: geek stuff, rant Tags: , ,

Bankomati in WINNT ... spet :)

June 23rd, 2011 2 comments

Ravnokar sem se vračal iz centra domov in, kot ponavadi, čim sem zapustil avtobus začne deževati, in nekaj sekund zatem močno zagrmi, ugasne se ulična razsvetljava (semaforji so začuda delali dalje).  Hitro sem stekel pod nadstrešek, da dam prevleko z dežnika in ga odprem... pa opazim da je lokalni bankomat ravno na začetku boota, in 'prešteva' ram (nažalost nisem uspel slikati, če se prav spomnim ga je bilo 512MiB :/)

Takoj za tem se prikaže boot menu, kjer se izbira med "Windows NT Workstation Version 4.0" , in isto z VGA ločljivostjo.

In takoj zatem še splash screen...

ki seveda potrjuje da gre res za Windows NT :)

Ko se windowsi do konca zaženejo se pokaže še Wincor Nixdorf -  Simt Cardinfo splash, za katerim pa klasičen NLBjev reklamni prikaz (nisem niti slikal), kot na vseh drugih bankomatih.

Sedaj pa...glede na to da vsake nekaj dni berem o kakem novem vdoru v nek "varen" sistem1,... ima kdo kako idejo kako je s supportom? Imajo banke kak poseben support za Windows NT še toliko časa po izteku uradnega supporta? Ali pa se zanašajo na 'zaprtost' njihovih omrežij in izolacijo od interneta? Ali pa naj ratam še bolj paranoičen, in ne vtikam kartice več v noben bankomat sploh? :)

 

 

ps: bakomat se je resetiral sam (verjetno zaradi izpada elektrike). V njegovo delovanje nisem posegal, vse kar sem naredil je, da sem slikal.

  1. citibank, psn, rsa,...
Categories: geek stuff, rant Tags: , , , , ,

Bus Pirate test

March 20th, 2011 No comments

Neko noč (neprespan) sem naročil novo igračko, ki nosi ime Bus Pirate, in predstavla povezljivost med računalnikom (USB) in kar precej drugimi protokoli (1-Wire, UART, I2C, SPI, JTAG, raw 2-wire, raw 3-wire, HD44780 LCDs, MIDI)

Ploščica, z kablom škatlico in poštnino, stane cca 30eur pri seeedstudiu.

Za prvi test sem uporabil RFID bralec (125kHz, link), ki podatke pošilja prek UART-a. Povezal sem RX in TX pine, ter napajanje (+5V) 1

Bus Pirate se (po povezavi z USB kablom) računalniku pokaže kot serijski vmesnik, v mojem primeru na /dev/ttyUSB0. Po odprtju porta (screen /dev/ttyUSB0 115200), in nekah pritiskih na tipko Enter, vidimo ukazno vrstico:

HiZ>

ki nam omogoča upravljanje z napravo. Ukazni način, čeprav morda malo neudoben, naredi napravo precej enostavno za uporabo. Če pritisnemo '?' in tipko enter, dobimo pomoč:

General                                 Protocol interaction
---------------------------------------------------------------------------
?       This help                       (0)     List current macros
=X/|X   Converts X/reverse X            (x)     Macro x
~       Selftest                        [       Start
#       Reset                           ]       Stop
$       Jump to bootloader              {       Start with read
&/%     Delay 1 us/ms                   }       Stop
a/A/@   AUXPIN (low/HI/READ)            "abc"   Send string
b       Set baudrate                    123
c/C     AUX assignment (aux/CS)         0x123
d/D     Measure ADC (once/CONT.)        0b110   Send value
f       Measure frequency               r       Read
g/S     Generate PWM/Servo              /       CLK hi
h       Commandhistory                  \       CLK lo
i       Versioninfo/statusinfo          ^       CLK tick
l/L     Bitorder (msb/LSB)              -       DAT hi
m       Change mode                     _       DAT lo
o       Set output type                 .       DAT read
p/P     Pullup resistors (off/ON)       !       Bit read
s       Script engine                   :       Repeat e.g. r:10
v       Show volts/states               .       Bits to read/write e.g. 0x55.2
w/W     PSU (off/ON)            //<0>   Usermacro x/assign x/list all

Prvo vključimo napajanje (W), in s tipko 'm', izberemo 3 (UART), 5 (9600), in ostale nastavitve pustimo na privzetih:

HiZ>m
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. LCD
9. DIO
x. exit(without change)

(1)>3
Set serial port speed: (bps)
 1. 300
 2. 1200
 3. 2400
 4. 4800
 5. 9600
 6. 19200
 7. 38400
 8. 57600
 9. 115200
10. BRG raw value

(1)>5
Data bits and parity:
 1. 8, NONE *default
 2. 8, EVEN
 3. 8, ODD
 4. 9, NONE
(1)>
Stop bits:
 1. 1 *default
 2. 2
(1)>
Receive polarity:
 1. Idle 1 *default
 2. Idle 0
(1)>
Select output type:
 1. Open drain (H=Hi-Z, L=GND)
 2. Normal (H=3.3V, L=GND)

(1)>
Ready
UART>

Podobno lahko nastavimo katerikoli drugi protokol (seveda nastavitve, ki jih protokol podpira). Sedaj pritisnemo tipko '{', ki začne z branjem, in čitalcu približamo kartico.

UART>
READ: 0x02
READ: 0x30
READ: 0x38
READ: 0x30
READ: 0x30
READ: 0x44
READ: 0x42
READ: 0x35
READ: 0x44
READ: 0x46
READ: 0x34
READ: 0x37
READ: 0x41
READ: 0x03
UART>

Tako vidimo na kartici zapisano kodo, ki jo čitalec pošlje.  Če bi namesto rfid čitalca uporabil napravo ki tudi kaj 'posluša', bi ji lahko pošiljal poljubne podatke.

Zanimiv feature je tudi preverjanje napetosti na pinih:

Pinstates:
1.(BR)  2.(RD)  3.(OR)  4.(YW)  5.(GN)  6.(BL)  7.(PU)  8.(GR)  9.(WT)  0.(Blk)
GND     3.3V    5.0V    ADC     VPU     AUX     -       TxD     -       RxD
P       P       P       I       I       I       I       I       I       I
GND     3.31V   5.15V   0.00V   0.00V   L       L       H       L       H

 

 

Naslednja stvar (tj. eden izmed mnogih TODO-jev) je stestirati SPI na smart kartici!

  1. Pinouti so v datasheetih

Debian in the sky

December 6th, 2010 1 comment

Sicer sem prepozno opazil, da bi moral slikati z druge strani... a vseeno... :)

Ljubljana, 3.12. 2010:

edit (7.12.2010):

Slikano še s prave strani:

Categories: geek stuff Tags: , , ,

Enkripcija celotne particije

November 27th, 2010 No comments

Ker so usb ključki vse manjši, in jih je vse lažje izgubiti, je včasih dobro da so podatki na njih kriptirani. Podobno velja za prenosnike, ki jih je sicer težje izgubiti, a so zato toliko bolj privlačni za krajo.

Najbolj primerna metoda enkripcije, je kar uporabiti LUKS, ki zna zakriptirati celo particijo 1, a žal ne podpira skritih particij2. Zanj potrebujemo cryptsetup, ki je ponavadi že del priljubljene linu distribucije3.

Jaz bom v tem primeru formatiral prvo particijo "drugega diska" (/dev/sdb1, torej usb ključ), z ukazom

cryptsetup -s 256 luksFormat /dev/sdb1

Zastavica  '-s 256' nastavi velikost ključa na 256 bitov (torej aes256 namesto privzetega aes128).   Program nas vpraša za potrditev (vpišemo YES), in dvakrat za geslo. Seveda naš novonarejeni container nima ustvarjenege filesystema4. Pred ustvarjanjem le tega, moramo seveda container odkleniti - z ukazom:

cryptsetup luksOpen /dev/sdb1 mojusb

ki po vpisanem geslu postavi odklenjeno vsebino v /dev/mapper/mojusb5. Sedaj lahko ustvarimo filesystem, in ga mountamo:

mkfs.ext4 /dev/mapper/mojusb
mount /dev/mapper/mojusb /mnt/hd/

Sedaj na ključek prenesemo podatke.

Seveda po končanem delu treba ključek odklopiti, in nazaj "zakleniti", kar storimo z:

umount /mnt/hd/
cryptsetup luksClose mojusb

Sedaj lahko ključek odstranimo, in tudi če ga zgubimo, bodo podatki na njem varni6

Torej procedura: luksOpen, mount, delo s podatki, umount, luksClose

Disclaimer: če si ponesreči sformatiraš home particijo, in uničiš edino verzijo doktorata, ki si ga pisal zadnjih pet let, ali pa uničiš pomembne poslovne dokumente, jaz za to ne odgovarjam... in ne, ne vem kako povrniti 1500 izbrisanih txt fajlov, tako da bi se ohranila imena datotek... hvala.

  1. kar je dobro ker se skrijejo podatki o številu in velikosti datotek na njej
  2. truecrypt
  3. na gentoo-ju emergeamo sys-fs/cryptsetup
  4. datotečnega sistema?
  5. namesto "mojusb" lahko uporabimo katerokoli besedo, le v /dev/mapper ne sme obstajati naprava z istim imenom
  6. toliko kolikor je varno geslo... oziroma: xkcd