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…
接着之前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…
上面我们的代码分析到ANCHOR 调用了一次testapprun_s,但是后面退出后发现还是满足while 条件,逼不得已还得再次调用testapprun_s.testapprun_s 也就是这样一点一点被消磨殆尽(分析完)(大部分代码也是本人第一次看,分析的不妥的地方大家多担待,后续发现问题我会及时更新) 好了,我们再看run 部分的代码 while(done == INST_NOT_DONE_YET) { //int state = instance_data[instance].testA…
根据上面TAG发送的代码,我直接找到如下代码 case RTLS_DEMO_MSG_TAG_POLL: { if(inst->mode == LISTENER)                                                                       { ……不满足条件 } if (!inst->frameFilteringEnabled) { // if we missed the ACK to the ranging init messag…
蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 室内定位兴起,DWM1000 作为超宽带UWB的代表,在国内用的越来越多,但是可见资料非常少. 一方面是官方代码写的实在有点太差,另一方面是现在国内普及者将自己的代码当作是商业机密,当作是卖点,很少出来分享解析的. 我计划花一段时间来梳理DWM1000 代码,之前稍微接触过一点,感觉还能理解DWM1000 一点思路. 放在这里供大家参考. 作为穷人,目前我淘到一块DWM1000 模块,与我老旧的ST…
我们前面分析过,不论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…
更上面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接收的角度一点点在分析…
instance_run(); if((instance_data[0].monitor == 1) && ((portGetTickCnt() - instance_data[0].timeofTx) > instance_data[0].finalReplyDelay_ms)) ACHOR 返回到Main函数(其它设备代码一样)执行下面的判断,我们先看monitor,看看之前有没有初始化,我们前面分析代码没有设置monitor所以只能找初始化了.---没有找到,我们认为它是0,所…
红 step over 跳过子函数 黄 step into 进入子函数 蓝 step into my code 不执行源码的子函数执行自己的 黑 step out 跳出当前函数 绿 run to cursor 执行到光标处…
关于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…
只需要在csproj文件中加入一行: <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" /> </ItemGroup> 就是:<DotNetCliT…
问题如图: 解决方法: 下载一个Genymotion-ARM-Translation软件,安装到模拟器中就好了…
原文: https://golangcode.com/run-code-once-with-sync/ --------------------------------------------------- Using a web server as an example, there are multiple stages you can load resources. Within the main() function and within the handler are the obvi…
关于go语言的RSA加解密的介绍,这里有一篇文章,已经介绍的很完整了. 对应的go语言的加解密代码,参考git. 因为原文跨语言是跟php,我这里要跟c语言进行交互,所以,这里贴上c语言的例子. 参考原文:http://hayageek.com/rsa-encryption-decryption-openssl-c/ #include <openssl/pem.h> #include <openssl/ssl.h> #include <openssl/rsa.h> #i…
Gumshoe - Microsoft Code Coverage Test Toolset 2014-07-17 What is Gumshoe? How to instrument a binary? step-by-step instruction Step 1: Install GumShoe Step 2: Instrument binary Step 3: Rename the binaries as follows and copy to run path Step4: Start…
Understanding how Java code is compiled into byte code and executed on a Java Virtual Machine (JVM) is critical because it helps you understand what is happening as your program executes. This understanding not only ensures that language features mak…
Our application was able to produce write effects, through sinks, and was able to receive read effects, through the DOM sources. However, the main function only gets the DOMSource as input. This lessons shows how we can generalize main to receive an…
QuartzSchedulerThread.run()是主要处理任务的方法!下面进行分析,方便自己查看! 我都是分析的jobStore 方式为jdbc的SimpleTrigger!RAM的方式类似分析方式! Quartz学习--scheduler.start()启动源码分析:http://blog.csdn.net/u010648555/article/details/53520314 QuartzSchedulerThread.run()主要是在有可用线程的时候获取需要执行Trigger并出触…
目录 1. Go 语言与鸭子类型的关系 2. 值接收者和指针接收者的区别 方法 值接收者和指针接收者 两者分别在何时使用 3. iface 和 eface 的区别是什么 4. 接口的动态类型和动态值 5. 编译器自动检测类型是否实现接口 6. 接口的构造过程是怎样的 7. 类型转换和断言的区别 类型转换 断言 8. 接口转换的原理 9. 如何用 interface 实现多态 10. Go 接口与 C++ 接口有何异同 参考资料 这次文章依然很长,基本上涵盖了 interface 的方方面面,有例…
本文转自:https://code.visualstudio.com/docs/languages/python Working with Python in Visual Studio Code, using the Microsoft Python extension, is simple, fun, and productive. The extension makes VS Code an excellent IDE, and works on any operating system…
总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了. 配置操作系统的Path变量:在Path变量中加入mingw的安装路径,如d:/mingw64/bin/ 安装并配置Code Runner插件,一键编译运行. 打开VSC中的扩展管理界面(文件-首选项-扩展,或者ctrl+shift+x),搜索Code Runner. 允许控制台输入配置:在"文件…
RUN Loop是什么? 1.runloop是事件接收和分发机制的一个实现. 2.什么时候使用runloop 当需要和该线程进行交互的时候.主线程默认有runloop.当自己启动一个线程,如果只是用于处理单一的事件,则该线程在执行完之后就退出了.所以当我们需要让该线程即监听某项事务事,就得让线程一直不退出,runloop就是这么一个循环,没有事件的时候,一直卡着,有事件来临了,执行其对应的函数 3.run loop需要处理的event source 有两种:input sources(常是其…
2019-06-10 更新: 加上Mac版本的Vscode配置文件 0.前言 实现效果:右键一键编译运行C/C++文件 Vs code的代码效果很好看,也很轻量,所以想为Vs Code配置C/C++环境,折腾了一个下午,实现的最终效果是:可以在Vs code里面一键编译运行C/C++文件(效果和自己在终端输入命令一样). 但是请注意:这里的设置并没有弄调试环境.只是设置了编译和运行. 1.安装g++/gcc Windows 是默认不带g++/gcc的,所以需要自己下载配置. 下载Mingw安装包…
这两天在跟友商对接接口,在对外暴露接口的时候,因为友商不需要登录即可访问对于系统来说存在安全隐患,所以需要友商在调用接口的时候需要将数据加密,系统解密验证后才执行业务.所有的加密方式并不是万能的,只是增加了破解的成本高低而已-- import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; im…
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行.每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag.网址:https://www.vulnhub.com 吧下面代码复制另存为后缀为.html文件打开就可以正常访问了 <!doctype html> <html> <head&…
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html This document describes the style guide, tag and image conventions we use in documentation comments for Java programs written at Java Software, Oracle. It does not rehash r…
这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的情路坎坷,事业成败和生活中的喜怒哀乐,无时无刻不牵动着彼此的心,而正是正平凡的点点滴滴,却成为最令人感动与留恋的东西. 人物:1.瑞秋•格林(RACHEL GREENE)由珍妮佛•安妮斯顿(Jennifer Aniston)扮演 瑞秋是莫妮卡的高中同学,在与牙医未婚夫的婚礼上脱逃至莫妮卡处. 2.罗…
由于业务关系,经常需要写一些表单页面,基本也就是简单的增删改查然后上传,做过几个页面之后就有点想偷懒了,这么低水平重复性的体力劳动,能不能用什么办法自动生成呢,查阅相关资料,发现android studio插件正好可以满足需求,在Github上搜了一下,找到BorePlugin这个帮助自动生成布局代码的插件挺不错的,在此基础上修改为符合自己需求的插件,整体效果还不错. 发现了android studio插件的魅力,自己也总结一下,也给小伙伴们提供一点参考,今天就以实现自动生成findviewby…