接着之前ANCHOR的代码分析,但接收到无线数据,应该执行如下代码 case TA_RX_WAIT_DATA :   //already recive a message                   // Wait RX data //printf("TA_RX_WAIT_DATA %d", message) ; switch (message) { case SIG_RX_BLINK : case DWT_SIG_RX_OKAY : case DWT_SIG_RX_TIMEO…
int done = INST_NOT_DONE_YET; #define INST_DONE_WAIT_FOR_NEXT_EVENT 1 //this signifies that the current event has been processed and instance is ready for next one #define INST_DONE_WAIT_FOR_NEXT_EVENT_TO 2 //this signifies that the current event has…
根据上面TAG发送的代码,我直接找到如下代码 case RTLS_DEMO_MSG_TAG_POLL: { if(inst->mode == LISTENER)                                                                       { ……不满足条件 } if (!inst->frameFilteringEnabled) { // if we missed the ACK to the ranging init messag…
上面我们的代码分析到ANCHOR 调用了一次testapprun_s,但是后面退出后发现还是满足while 条件,逼不得已还得再次调用testapprun_s.testapprun_s 也就是这样一点一点被消磨殆尽(分析完)(大部分代码也是本人第一次看,分析的不妥的地方大家多担待,后续发现问题我会及时更新) 好了,我们再看run 部分的代码 while(done == INST_NOT_DONE_YET) { //int state = instance_data[instance].testA…
更上面ANCHOR发送信息时的RTLS_DEMO_MSG_ANCH_RESP, 我们很快就可以找到如下代码 case RTLS_DEMO_MSG_ANCH_RESP: { 这里面一部分是设置重要变量,一部分是保存ANCHOR发送来的TOF,准备显示出来了,先看这个部分 inst->canprintinfo = 2; inst->tof = 0; memcpy(&inst->tof, &(messageData[TOFR]), 5); inst->newrangean…
在分析这个部分前,目前我看到DWM1000 的资料,data可以分为blink和一般无线数据,后面有内容我们再扩充, 上面我们已经看到接收到blink触发的事件为 case SIG_RX_BLINK : 一般数据包应该触发的的是 case DWT_SIG_RX_OKAY : 表示接收到一个无线无线数据包,具体怎么解析这个数据包我们一点点分析. 好了,看TAG收到ANCHOR的blink response,这个数据包为一般数据包,具体数据内容我们前面简单列出来了,这里从TAG接收的角度一点点在分析…
我们前面分析过,不论ANCHOR 还是TAG,前面变量的初始化基本都是一样的,只是状态机必须明确区分不同的设备类型.我们从开始看TAG.由于初始化TAG的 testAppState一样初始化为TA_INIT. INST_STATES testAppState ;             int instance_init_s(int mode) TA_INIT case TA_INIT : // printf("TA_INIT") ; switch (inst->mode) {…
instance_init 函数追下去,绝大多数的代码都在初始化如下结构体 typedef struct { INST_MODE mode; instance_init -ANCHOR //instance mode (tag or anchor) INST_STATES testAppState ; int instance_init_s(int mode) TA_INIT //state machine - current state INST_STATES nextState ; //st…
蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 室内定位兴起,DWM1000 作为超宽带UWB的代表,在国内用的越来越多,但是可见资料非常少. 一方面是官方代码写的实在有点太差,另一方面是现在国内普及者将自己的代码当作是商业机密,当作是卖点,很少出来分享解析的. 我计划花一段时间来梳理DWM1000 代码,之前稍微接触过一点,感觉还能理解DWM1000 一点思路. 放在这里供大家参考. 作为穷人,目前我淘到一块DWM1000 模块,与我老旧的ST…
instance_run(); if((instance_data[0].monitor == 1) && ((portGetTickCnt() - instance_data[0].timeofTx) > instance_data[0].finalReplyDelay_ms)) ACHOR 返回到Main函数(其它设备代码一样)执行下面的判断,我们先看monitor,看看之前有没有初始化,我们前面分析代码没有设置monitor所以只能找初始化了.---没有找到,我们认为它是0,所…
关于ASProtect.SKE.2.11 stolen code方面的文章已经很多了,今天我想再详细地说说它的细节,献给喜欢破解的兄弟们. stolen code并不可怕! ASProtect.SKE.2.11将入口处的一部分代码放到壳里了,看下面: 未加壳的入口点: 00401350 >    55            push    ebp 00401351      8BEC        mov     ebp, esp 00401353      6A FF         push…
前言 在做QQ第三方登录时,用户跳转到QQ登录界面登录成功后,会在URL返回一个code参数.前端把code发送给后端.后端收到后,会查询出openid.然后判断openid是否存在,如果存在就可以绑定用户或新建用户.如果不存在,进把openid返回给前端.前端填完注册信息后,把openid.手机号码.用户名.密码等参数再发送给后端处理. 这时候,openid因为先传回去给前端,再传回来给后端.所以中间涉及了安全问题.万一别人篡改了openid呢?所以需要对openid进行加密!这时候就用到了l…
test_encry.php <?php //创建私钥,公钥 //create_key(); //要加密内容 $str = "test_str"; //加密 $encrypt_str = test_encrypt($str); //解密 $decrypt_str = test_decrypt($encrypt_str); //echo $decrypt_str;exit; //签名 $sign_str = sign ( $decrypt_str ); // echo $sign_…
工作中会听到各种各样是是而非的词汇,base64,url,sha256,rsa,hash等等,你能很好的分清这些词语吗? 这次我想把它们统一的整理说明下: 一: 编码 编码是信息从一种形式或格式转换为另一种形式的过程,所以他们是可逆的,不能称之为加密. 下面列举几个常见的(参考编码那些事): html实体编码(10进制与16进制): 如把尖括号编码[ < ]  -----> html十进制: <  html十六进制:< javascript的八进制跟十六进制: 如把尖括号编码[ &…
这两天在跟友商对接接口,在对外暴露接口的时候,因为友商不需要登录即可访问对于系统来说存在安全隐患,所以需要友商在调用接口的时候需要将数据加密,系统解密验证后才执行业务.所有的加密方式并不是万能的,只是增加了破解的成本高低而已-- import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; im…
通讯原理 participant Client participant Server Client->>Server: 以明文传输数据,主要有客户端支持的SSL版本等客户端支持的加密信息 Server-->>Server: 服务端选择加密方式 Server-->>Client: 服务端给客户端返回SSL版本.随机数等信息 Client->>Client: 校验服务端证书是否合法.产生随机数 Client->>Server: 使用服务端随机数加密数…
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行.每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag.网址:https://www.vulnhub.com 吧下面代码复制另存为后缀为.html文件打开就可以正常访问了 <!doctype html> <html> <head&…
新浪微博的OAuth授权 之前通过新浪微博开发平台写过微博的的项目,现在就开始总结下各个方面的知识点,一个是为了加深印象.巩固知识,另一个记录自己学习过程,希望自己在开发这条路上有所积累,为以后的道路打下坚实的基础. 首先创建一个UIWebView - (void)viewDidLoad { [super viewDidLoad]; // UIWebView *webView = [[UIWebView alloc]initWithFrame:self.view.bounds]; [self.v…
原文: http://www.cnblogs.com/Irving/p/4134629.html web:http://oauth.net/2/ rfc: http://tools.ietf.org/html/rfc6749 doc:http://oauth.net/documentation/ code:http://oauth.net/code/ 什么是OAuth2.0 OAuth2.0是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站.移动或桌面应用上存储的私密的资…
web:http://oauth.net/2/ rfc:http://tools.ietf.org/html/rfc6749 doc:http://oauth.net/documentation/ code:http://oauth.net/code/ OAuth2.0授权类型 OAuth2.0协议定义了用于获得授权的四种主要授权类型. Authorization code 标准的Server授权模式,非常适合Server端的Web应用.一旦资源的拥有者授权访问他们的数据之后,他们将会被重定向到…
这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的情路坎坷,事业成败和生活中的喜怒哀乐,无时无刻不牵动着彼此的心,而正是正平凡的点点滴滴,却成为最令人感动与留恋的东西. 人物:1.瑞秋•格林(RACHEL GREENE)由珍妮佛•安妮斯顿(Jennifer Aniston)扮演 瑞秋是莫妮卡的高中同学,在与牙医未婚夫的婚礼上脱逃至莫妮卡处. 2.罗…
首先解释一下几个名词: request.getRequestDispatcher()是请求转发,前后页面共享一个request ; response.sendRedirect()是重新定向,前后页面不是一个request. RequestDispatcher.forward()是在服务器端运行; HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成. 所以RequestDispatcher.forward()对于浏览器来说是“透明的”: 而Http…
本文摘要:简单叙述了在Centos7上安装Nessus扫描器的过程   Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,Nessus的用户界面是基于Web界面来访问Nessus漏洞扫描器的,所以,首先需要部署一个扫描器 下载并安装nessus:   启动Nessus [root@server112 src]# systemctl start nessusd.service 在浏览器输入网址来配置(https:// ip:8834)     获取注册码 注册网址:http://www…
DES是Data Encryption Standard(数据加密标准)的缩写.它是一种通过56位密钥来加密64位数据的方法. public class EncryptUtility{    #region DES    /// <summary>    /// DES加密    /// </summary>    /// <param name="code">加密字符串</param>    /// <param name=&qu…
最近在看一本书.名字是 python密码学编程.在此做一些笔记,同时也为有需要的人提供一些参考. ******************************************************************** * quote : "http://inventwithpython.com/" * * python-version : 2.7.11 * ********************************************************…
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解Android 卷Ⅰ,Ⅱ,Ⅲ>中的相关知识,另外也借鉴了其他的优质博客,在此向各位大神表示感谢,膜拜!!!另外,本系列文章知识可能需要有一定Android开发基础和项目经验的同学才能更好理解,也就是说该系列文章面向的是Android中高级开发工程师. 前言 我们在上一篇中比较详尽的介绍了Android的消息机…
很多关于CA证书的讲解. 1.什么是CA证书. 看过一些博客,写的比较形象具体. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有人都不认识他,他咋办捏?常用的办法是带公司开的一张介绍信,在信中说:兹有张三先生前往贵公司办理业务,请给予接洽......云云.然后在信上敲上A公司的公章. 张三先生到了 B 公司后,把介绍信递给 B 公司的前台李四小姐.李小姐一看介绍信上有 A 公司的公章,而且 A 公司是经常和 B 公司有业务往…
由于业务关系,经常需要写一些表单页面,基本也就是简单的增删改查然后上传,做过几个页面之后就有点想偷懒了,这么低水平重复性的体力劳动,能不能用什么办法自动生成呢,查阅相关资料,发现android studio插件正好可以满足需求,在Github上搜了一下,找到BorePlugin这个帮助自动生成布局代码的插件挺不错的,在此基础上修改为符合自己需求的插件,整体效果还不错. 发现了android studio插件的魅力,自己也总结一下,也给小伙伴们提供一点参考,今天就以实现自动生成findviewby…
xshell6 评估期已过,因为我下载的版本是evaluation版本,是有期限的.大家可以修改为Home and school use 的版本,这样就不会出现这个提示了.具体的操作步骤如下: 1.前往下载地址,填写必填信息,邮箱一定要填写 https://www.netsarang.com/download/down_form.html?code=622 2.有限会收到一封邮件,点击第一个链接,下载新的xshell安装程序即可 3.新安装的程序,之前的保存的SSH信息,不会丢失,放心安装 4.…
目录 一.Java 线程如何终止 如何用一个cancel方法停止两个线程 泛型原理.使用场景.优缺点 手写代码,设计parseInt hashmap是怎么实现的,是线程安全的吗 知道hashmap的扩容机制么 arrylist实现原理 怎么实现线程安全 二.算法 从矩阵左上角到右下角的走法有多少种 一个长字符串,一个短字符串,短字符串中的字符间顺序我们可以任意改变,实现在长串中找到短串的代码 Top k问题 求不相邻的最大子数组 排序算法有哪些? 介绍一下快排? 两个字符串找最长公共子串 n个数…