APDU Commands in Delphi - delphi

I've spent a day reading about APDU commands, never used them before and I'm still not sure how do I code a procedure/function in Delphi to communicate with a Smart Card, any help/advice would be much appreciated.
The Smart Card has two applets installed. This command selects the Secure element
applet and routes subsequent APDU commands to it.
IsoCase: Case4Short
Class: 0x00
Instruction: 0xa4
Data: 0x10 0xA0 0x00 0x00 0x07 0x48 0x46 0x4A 0x49 0x2D 0x54 0x61 0x78 0x43 0x6F 0x72 0x65
Le: 0x00
Example: 0x00 0xA4 0x04 0x00 0x10 0xA0 0x00 0x00 0x07 0x48 0x46 0x4A 0x49 0x2D 0x54 0x61 0x78 0x43 0x6F
0x72 0x65 0x00
How is the procedure supposed to look like, do I need to use any components, libraries, dlls? No idea what needs to be between begin and end tags. Thanks in advance.

Related

How do I use labels in LLDB memory reads?

I'm just getting started with LLDB after decades of using GDB. I've run into what seems like an absurdly simple request: show me the contents of memory at a specific label. The context: a trivial Hello World program written in NASM, which actually works when I run it from the command line, and when I run it from inside LLDB. But my problem is reading memory in that program. When it hits the breakpoint at 'main':
Process 16808 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x0000000100003f99 lldb_prob`main at lldb_prob.asm:10
7 _main:
8 ; Print greeting
9 mov eax, 0x2000004
-> 10 mov edi, 1
11 lea rsi, [msg]
12 mov edx, msg.len
13 syscall
Target 0: (lldb_prob) stopped.
(lldb) x -s1 -fx -c32 main
error: invalid start address expression.
error: address expression "main" evaluation failed
(lldb) x -s1 -fx -c32 _main
error: invalid start address expression.
error: address expression "_main" evaluation failed
(lldb) x -s1 -fx -c32 0x100003f99
0x100003f99: 0xbf 0x01 0x00 0x00 0x00 0x48 0x8d 0x35
0x100003fa1: 0x5b 0x00 0x00 0x00 0xba 0x0e 0x00 0x00
0x100003fa9: 0x00 0x0f 0x05 0xb8 0x01 0x00 0x00 0x02
0x100003fb1: 0xbf 0x00 0x00 0x00 0x00 0x0f 0x05 0x01
So I can read the memory, but I can't use the label in a memory read as I can in setting a breakpoint. Or, to be more precise, I haven't figured out how to use labels to read memory. Any help would be appreciated.

How to differentiate between H.264 bitstream and HEVC bitstream?

I have two parsers to parse h.264 and HEVC bit stream.When I get a bit stream how can I differentiate between the bitstream so that I can use the correct parser.
Thanks for the help
For H.264 you are looking for:
(0x00) 0x00 0x00 0x01 [Access Unit Delimiter]
Where Access Unit Delimiter must be: (byte & 0x1f) == 0x09
For H.265 you are looking for
(0x00) 0x00 0x00 0x01 [Access Unit Delimiter | VPS | SPS]
Where Access Unit Delimiter must be: (byte >> 1 & 0x3f) == 0x23 or
VPS must: (byte >> 1 & 0x3f) == 0x20 or
SPS must: (byte >> 1 & 0x3f) == 0x21

How to write 4 bytes of data to sigma dsp ADAU1452 from Pic32?

I am trying to write 4 bytes of data from Pic32 to SigmaDsp ADAU1452 over I2C Bus. According to sigma dsp datasheet I have to do the following:
Send device address = 0x70
Send Register address. The register I am trying to write to is "0x0021"
SubAddress Byte 1 = 0x00
SubAddress Byte 2 = 0x21
Data Bytes = 0x01, 0x00, 0x00, 0x00
Would it be correct to send 4 bytes of Data to 2 bytes of address? I think this is not possible.
Can someone please tell me how I can write these 4 bytes to the register address 0x0021?

NDEF format for WiFI Pairing Data

I have derived the WiFI Authentication and Encryption data format by writing it and then reading it from an application running on microcontroller.
Can some one please tell me the macros or values for the Authentication type (WPA-Personel,Shared,WPA2-Enterprise,WpA2-Enterprise,WPA2-Personel)fields and Encryption type fields (None,WEP,TKIP,ES,AES/TKIP).
I have figured out for WPA/WPA2-Personel authentication type and AES encryption type so far as below .
52 0x10 0x03 2 Attribute ID: Authentication Type
54 0x00 0x02 2 Attribute Length: 2 octets
56 0x00 0x20 2 Authentication Type: WPA2-Personal
58 0x10 0x0F 2 Attribute ID: Encryption Type
60 0x00 0x02 2 Attribute Length: 2 octets
62 0x00 0x08 2 Encryption Type: AES
Any official documentation will be highly appreciated.

Unexpected memcache GETs in rails 3.2 app

My rails 3.2 app is trying to fetch values from the cache (memcached via dalli) that I'm not expecting it to be caching. It's not getting any cache hits, but I'm puzzled about what is going on. This happens with config.action_controller.perform_caching = true on production as well as development, using WEBrick.
Here's a snippet of what I'm seeing in memcache verbose output:
<30 GET https://www.myrailsapp.com/?
>30 Writing an error: Not found
>30 Writing bin response:
>30 0x81 0x00 0x00 0x00
>30 0x00 0x00 0x00 0x01
>30 0x00 0x00 0x00 0x09
>30 0x00 0x00 0x00 0x00
>30 0x00 0x00 0x00 0x00
>30 0x00 0x00 0x00 0x00
<30 Read binary protocol data:
<30 0x80 0x00 0x00 0xd0
<30 0x00 0x00 0x00 0x00
<30 0x00 0x00 0x00 0xd0
<30 0x00 0x00 0x00 0x00
<30 0x00 0x00 0x00 0x00
<30 0x00 0x00 0x00 0x00
Note that there is only a cache GET and I'm not seeing any cache writes.
I see similar cache GET attempts for all my actions, most of which are JSON API calls. All of them result in a cache miss. Like this,
<31 GET https://www.myrailsapp.com/api/somecall?param1=foo&param2=bar
>31 Writing an error: Not found
I have not specified any caches_action directives anywhere in my app.
Is this a rails bug?
If no, where should I look to stop these unnecessary cache GETs?
Thanks.
As per cswilliams on the Github thread you've posted:
It appears to be an issue with the rack_cache being enabled by default (since updated in the master branch).
Disabling it in your application or environments properties file (e.g., config/environments/development.rb) seems to resolve the issue:
config.action_dispatch.rack_cache = false

Resources