- 博客(45)
- 资源 (3)
- 收藏
- 关注
转载 EMV技术学习和研究(三)应用初始化&&读应用数据
作者:小旭 借贷记和Qpboc在应用初始化和读应用数据方面的流程还是比较相似。先看借贷记和电子现金的处理流程应用选择完成后,终端获取到了PDOL数据(特别说明:这个不是必须的,卡片也可以不给终端提供PDOL,如果终端没有获取到PDOL,则GPO数据域直接传递8300,这个在L2测试中会有案例;如果卡片不提供PDOL的话,后续这张卡是不能做电子现金和Q的交易,但是至于为什么会存在这种
2015-05-04 18:08:19
821
转载 EMV技术学习和研究(二)应用选择
作者:小旭目的:应用选择主要目的就是在卡片插入终端的时候,由终端来选择哪些应用是由终端和卡片共同支持的。终端的AID列表是通过AID下载交易从服务端获取,卡片的AID是在做卡片个人化时写入的。从终端角度来讲,选择方式就是目录选择法和AID列表法。特别说明(参考了小马哥的分析和解释):aid选择涉及到MF,DDF,ADF,EF,AEF几个概念,先描述一下这几个文件的概念。MF
2015-05-04 18:05:03
1207
转载 EMV技术学习和研究(一)开篇
来自 : http://blog.csdn.net/xuture/article/details/9208259非常感谢每一个交易步骤都区分QPBOC和PBOC的流程,一方面分析描述这两者的不同,另一方面对比分析可以更加深入的理解。所以这几篇blog更适合已经阅读过规范的人,如果没有真正看过规范的话,建议先好好看一下规范。如果有说的不对的,还望大家指出批评。
2015-05-04 18:01:04
526
转载 PBOC卡片应用分析(五)非接触式IC卡规范
继续前一张工行闪酷卡,其实当初已经测试完成之时忙着国庆回家,没有及时出测试报告,现在把其他项目的测试情况整理一下。接着上一篇,终端在GPO时送入的终端交易属性是22000000,表示终端不支持非接触式借记/贷记应用, 支持qPBOC,不支持接触式借记/贷记应用,终端具有联机能力,不支持联机PIN,不支持签名。1.GPOCommand:80A8000023832122
2015-05-04 17:15:59
2293
转载 PBOC卡片应用分析(四)非接触式IC卡规范
感谢@JulyClyde同学友情提供的工商银行闪酷钥匙扣,支持银联的闪付功能。卡片内的电子现金余额已经被圈提干净,余额应该是0。现在使用PC/SC的读卡器配合麻工强大的Snooper进行测试。首先选择PPSE.1.SELECTCommand:00A404000E 325041592E5359532E4444463031Response:6F2E840E325041592E5
2015-05-04 17:13:30
2127
转载 PBOC卡片应用分析(三)
上一篇读记录的时候,对卡内数据解析不太熟悉,好多东西没有分析,今天重新学习规范对照分析一下,把不涉及本人隐私的内容也都发出来,方便分析。从上一篇的第10条指令重新来。10.READ RECORDAPDU:00B2010C3CRETURN:703A57136259****************************00000F9F6112313*3*3*30323139383
2015-05-04 17:12:42
834
转载 PBOC卡片应用分析(二)
接上一篇,上次基本上卡在了选择ADF之后的操作,选择完ADF之后根据Response的数据,需要做获取处理选项GPO,但是对PDOL这个东西一直搞不明白,GPO指令的数据域是PDOL,PBOC规范上对GPO的指令写的也是很模糊,只说了没有PDOL的发8300,有PDOL项的发PDOL,但是泛泛的浏览PBOC规范,对选择应用之后返回的数据中PDOL的内容也没有细说,折腾了半天才反应过来PDOL的格式
2015-05-04 17:12:03
1299
转载 PBOC卡片应用分析(一)
之前没有对金融卡片研究过今天用自己的建行环球旅行信用卡学习一下。使用的读卡器是一款CCID的接触式读卡器,北京的中国移动营业厅有使用他的低版本型号。CCID的读卡器通讯API还算比较简单,自己之前有现成的代码,但是测试了一下,在选择完T0协议后,通讯还是有问题,向卡片发数还是有问题,总是犯0xE的错误。不查代码了直接用我司麻工研发的强大的snooper。首先上来是选择MF1.SEL
2015-05-04 17:11:32
1379
转载 QPBOC交易流程详解--POS与卡片的数据交互进行分析
QPBOC交易,也就是快速的借记贷记。很多人都容易混淆了QPBOC,PBOC和电子现金、电子钱包的概念。首先,电子钱包早在PBOC2.0的规范里面就去掉了,在PBOC3.0里面把MSD也去掉了。因此,最新的PBOC3.0规范里面,定义了三种交易,就是QPBOC,PBOC以及电子现金。这三个交易的关系有点错综复杂,PBOC是最基础的借记贷记流程,电子现金,与PBOC的流程基本一致,纯
2015-05-04 16:45:00
856
转载 VC++ 6.0实现视频捕捉(VFW)
一、Vedio for Windows 简介Vedio for Windows 是WIN32 SDK 中多媒体编程SDK 的视频开发工具。在微软的Visual C ++中提供了Vedio for Windows 的头文件vfw.h 和库文件vfw32.lib。表1 列出了VFW 中视频捕捉编程常用的一些VFW 函数和宏。二、用VC ++6.0 实现视频捕捉的编程实例 下面结合实例
2015-04-21 18:15:21
2378
1
转载 通过implib生成lib
通过bcb自带的bin\目录下的implib.exe可以将dll生成lib如,我现在把implib.exe拷贝在c盘目录下,将要生成的dll也拷贝在同一个目录中我现在要把sqlite3.dll生成sqlite3.lib。。只需要在dos界面输入 c:>implibsqlite3 sqlite3.dll就可以生成但是要主要的是,这是通过bcb工具生成的lib,在vs或vc是不能使用的
2015-04-21 09:13:44
798
转载 Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
下面介绍一下加密机中最主要的几种密钥: 1、加密机主密钥(MK) 加密机主密钥(Master Key - MK)是存入在HSM机内的由三个成分合成的一对最上层密钥。在HSM机器以外的地方不会以明文形式存放,它采用双倍标准DES密钥(长达112位)实现三重数据加密。 HSM投入运行时,必须先产生和装载MK。由于DES算法依靠某一个密钥进行加密,同时所有密钥和数据都经由MK进行加
2015-04-01 09:33:27
1498
转载 DLL+ ActiveX控件+WEB页面调用例子
DLL+ ActiveX控件+WEB页面调用例子一、 概述 因项目需要,开始学习并研究VC、DLL及ActiveX控件,网上资料找了很多,但没一个可用的或者说没一个例子可理解并运行的。没办法,自己研究吧。功夫不负有心人,终有小成了,呵呵,现在把自己学习总结了一下,献给需要的人。DLL(动态链接库): 分WIN32 DLL和MFC DLL ActiveX:分ATL控件和MFC控件
2015-02-28 18:17:43
489
转载 半透明的实现
uC/GUI系统中的窗体可以实全透明效果,但是无法实现半透明效果。 经过一天的实验,经于实现了窗体的半透明效果,与大家分享 怎么实现半透明效果呢?先考虑原理。 半透明原理: 假设LCD是256色的。颜色格式为332(RGB) 显存中的每一个字节的数据对应一个象素点。 在数据写入显存之前,读取相应相素点值,然后与新的数据按一定
2015-02-27 12:16:06
438
转载 PNG数据
PNG数据格式介绍http://wenku.baidu.com/link?url=8xMaXV7mUEQT9u9JKFLTKq2GvzFB7T_ED69eSsA2icts1AP80IvN9y74Y5_c3NOYeQtXpgIQlQAmlpdqKbI9EbeOPK7-wmW6QtFRvK38YlO压缩PNGhttp://wenku.baidu.com/link?url=0Gg
2015-02-27 11:29:28
280
转载 详解C#中的反射
两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了(我不是医生也不是声学专家,不知说得是否准确^_^)。2、地球内部结构:地球的内部结构大体可以分为三层:地壳、地幔和
2015-02-25 11:51:44
370
转载 sendmessage和postmessage
PostMessage只负责将消息放到消息队列中,不确定何时及是否处理SendMessage要等到受到消息处理的返回码(DWord类型)后才继续PostMessage执行后马上返回SendMessage必须等到消息被处理后才会返回。1、sendmessage和postmessage的区别两个函数的声明如下: LRESULTSendMessage( HWND hWnd, UINT
2015-02-25 11:08:22
551
转载 关于在bcb中调用外部程序的用法
1:用system("")运行(简单,像在CMD命令行一样)2:用WinExec()运行3:用CreateProcess运行 4:用ShellExecute运行. 1) WinExec()函数原型: UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow);参数说明:(激活的意思是能接受焦点,即标题栏变成蓝色)lpCmd
2015-01-05 18:32:20
2725
转载 获取DLL程序详解
/*函数功能:(C语言版)计算指定长度数据的Crc32b Hash输入参数:1.(内存指针):需要Hash的内存启示点2.(长度):需要Hash的内存长度3.(初始化Hash值):用于在已有的Hash值后面增加,默认请填写0返回数据:Crc32b Hash值*/DWORD HashCrc32(char *lpChar, int iLen, DWORD
2014-12-22 12:03:34
512
转载 PE结构详解
目录(?)[+]1 基本概念下表描述了贯穿于本文中的一些概念:名称描述地址是“虚拟地址”而不是“物理地址”。为什么不是“物理地址”呢?因为数据在内存的位置经常在变,这样可以节省内存开支、避开错误的内存位置等的优势。同时用户并不需要知道具体的“真实地址”,因为系统自己会为程序准备好内存空间的(只要内存足够大)镜像文件包含以EXE
2014-12-22 11:34:55
923
原创 向程序发送命令时出现问题 和cannot register wizard, resource dll wizard
1.右键程序图标,单击最下方的“属性”选项,在弹出的属性对话框中,单击选择“兼容性”列表,把这一页面中所有的钩钩全去掉,也就是都不要选择,就解决了。2.点击Component->Install Packages,在Design Packages中选中Borland Integrated Translation Environment即可.
2014-12-18 10:10:55
986
转载 (转)Delphi 中的字符串
一、Delphi 2009 之前的字符串(不支持 Unicode): Delphi 2009 之前的字符串分为 3 种:ShortString、AnsiString、WideString。【ShortString】 ShortString 是一种比较古老的 Pascal 字符串格式,它最多只能容纳 255 个字节的字符。当我们声明一个 ShortString
2014-12-17 19:39:02
558
转载 n个数中的最小的k个数的BFPRT算法
一 算法由来 BFPRT 算法:1973 年, Blum 、 Floyd 、 Pratt 、 Rivest 、 Tarjan 集体出动,合写了一篇题为 “Time bounds for selection” 的论文,给出了一种在数组中选出第 k 大元素的算法,俗称"中位数之中位数算法"。依靠一种精心设计的 pivot 选取方法,该算法从理论上保证了最坏情形下的线性时间复杂度,打
2014-12-10 16:31:03
968
转载 归并排序
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序编辑归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。值得注意的是归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子
2014-12-05 14:34:26
304
转载 AnsiString 读数据
AnsiString A 中赋值"\x2F\x32\x31" 其中\x2F为一个char A [1] == '0x2F' 判断 或者 '\x2F'
2014-12-04 16:36:12
367
转载 AnsiString和String的区别、使用
注意: AnsiString[0] 和 String[0]读数据!!!!6.C/C++语言在CB中的一些特定用法 2)AnsiString是从Delphi中引进来的吗? 答:CB的核心组件VCL是用Object Pascal语言写出的,所以CB的VCL组件的属性有很多都是使用long string,例如:Text、 Name、Caption等属性都是使
2014-12-04 16:32:15
421
转载 C++中event事件
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent 函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信号。 SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定的OBJ
2014-11-26 12:09:36
7223
转载 KMP算法详解
相信很多人(包括自己)初识KMP算法的时候始终是丈二和尚摸不着头脑,要么完全不知所云,要么看不懂书上的解释,要么自己觉得好像心里了解KMP算法的意思,却说不出个究竟,所谓知其然不知其所以然是也。 经过七八个小时地仔细研究,终于感觉自己能说出其所以然了,又觉得数据结构书上写得过于简洁,不易于初学者接受,于是决定把自己的理解拿出来与大家分享,希望能抛砖引玉,这便是Bill写这篇文章想要得到
2014-11-24 16:56:45
286
转载 五大常用算法之五:分支限界法
分支限界法一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 (1)分支搜索算法 所谓“分支”就是采用广度
2014-11-24 16:09:59
374
转载 五大常用算法之二:动态规划算法
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通
2014-11-24 16:07:05
296
转载 五大常用算法之四:回溯法
1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的
2014-11-24 16:00:35
224
转载 五大常用算法之一:分治算法
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题所需的计
2014-11-24 15:58:50
248
转载 五大常用算法之三:贪心算法
贪心算法一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前
2014-11-24 15:58:17
258
转载 串行通信与重叠I/O
Win 32系统为串行通信提供了全新的服务。传统的OpenComm、ReadComm、WriteComm、CloseComm等函数已经过时,WM_COMMNOTIFY消息也消失了。取而代之的是文件I/O函数提供的打开和关闭通信资源句柄及读写操作的基本接口。 新的文件I/O函数(CreateFile、ReadFile、WriteFile等)支持重叠式输入输出,这使得线程可以从费时的I/O操作中
2014-11-24 14:38:53
608
转载 寻址方式
共7种寻址方式:1. 立即寻址方式立即数包含在指令中,作为指令的一部分。如 MOV AX 1234H2. 寄存器寻址方式操作数在CPU内部的寄存器中,指令指定寄存器号16位操作数,寄存器可以是:AX,BX,CX,DX,SI,DI,SP和BP8位操作数,寄存器可以是:AL,AH,BL,BH,CL,CH,DL,DH如 MOV AX,BX3.直接寻址方式操作数在寄
2014-11-23 15:37:17
463
转载 全面介绍Windows内存管理机制及C++内存分配实例
本文基本上是windows via c/c++上的内容,笔记做得不错。。本文背景:在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。本文目的:对Windows内存管理机制了解清楚,有效的利用C++内存函数管理和使用内存。1. 进程地址空
2014-11-23 12:36:06
316
转载 外部引用
extern AnsiString g_sLogDir;extern是全局变量声明只要声明全局变量就默认 前面加extern(程序员可以不加,但编译器默认加上)若本文件 引用别的文件中的全局变量 一定要加上extern 声明一下例如 #include "my_Fun.c" extern int b;//b是在my_Fun.c中声明了的一个全局变量 这个ex
2014-11-20 11:57:31
429
转载 波特率 比特率
单片机或计算机在串口通信时的速率。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。又比如每秒钟传送240个二进制位,这时的波特率为240Bd,比特率也是240bps。但是一般调制速率大于波特率,比如曼彻斯特编码)。
2014-11-19 17:45:33
1197
转载 寻找丑数
题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。分析:这是一道在网络上广为流传的面试题,据说google曾经采用过这道题。所谓一个数m是另一个数n的因子,是指n能被m整除,也就是n % m == 0。根据丑数的定义,丑数只能被2、3和5整除
2014-11-17 17:12:56
293
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人