用于 C♯ 图像识别的轮廓分析技术 供稿:Conmajia 标题:Contour Analysis for Image Recognition in C# 作者:Pavel Torgashov 此中文版翻译已获作者本人授权. Jan. 23rd,2018 图 1 本文提供的范例程序截图 简介 本文阐述了轮廓分析 (Contour Analysis,以下简称 CA) 的理论基础以及它在图像识别方面的实际应用. 文章末尾提供了一个处理 CA 的库文件和一个范例 (参见图 1). 文章第一部分给出了…
C++反汇编-继承和多重继承   学无止尽,积土成山,积水成渊-<C++反汇编与逆向分析技术揭秘> 读书笔记 一.单类继承 在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的内存结构中,父类私有的成员数据依然存在.C++语法规定的访问限制仅限于编译层面,在编译过程中进行语法检查,因此访问控制不会影响对象的内存结构. 子类未提供构造函数或析构函数,而父类却需要构造函数与析构函数时,编译器会为子类提供默认的构造函数与析构函数.但是子类有构造函数,而父类不存在构造函数,且没有虚函数,则…
原文:五种分析框架:PEST.5W2H.逻辑树.4P.用户使用行为 最近在一点点的啃<谁说菜鸟不懂得数据分析>,相当慢,相当的费脑力,总之,真正的学习伴随着痛苦:) 最初拿到这本书的时候,以为是以excle为主要内容的书,书的一开始就有大量介绍用excle工具来讲数据的整理(一般情况下,像这种偏技术知识的书,我的注意力主要在第一章节和第二竟,动才往后延续力趋缓慢). 相对于这类书而言:如何有趣的把枯燥的问题说的简单明白,一直是读者高层次的要求,也是作者高层次的自我要求,真的可以借鉴果壳网那些讲…
写在前面的话 理解恶意软件的真实代码对恶意软件分析人员来说是非常有优势的,因为这样才能够真正了解恶意软件所要做的事情.但不幸的是,我们并不总是能够得到“真实”的代码,有时恶意软件分析人员可能需要类似反汇编工具或调试器之类的东西才能“推测”出恶意软件的真实行为.不过,当恶意软件使用的是“解释型语言”开发的话,例如Java.JavaScript.VBS或.NET等等,我们就有很多种方法来查看它们真正的原始代码了. 不幸的是,攻击者同样知道这些分析技术,而且为了规避安全分析,他们还会采用很多混淆技术来…
SPSS分析技术:二阶聚类分析:为什么出现大学生"裸贷"业务,因为放贷者知道贷款者还不起 今天将介绍一种智能聚类法,二阶聚类法,在开始介绍之前,先解答很多人在后台提出的一个疑问:那就是很多分析者发现,对同一套数据应用不同的聚类分析方法,其结果经常是不一致的,甚至完全不一样,到底哪个结果是"正确"的呢? 草堂君来解释一下:聚类分析在众多数据分析方法中,其应用范围和作用都是非常亮眼的表现,但是聚类分析与其它数据分析方法之间还有一个重要的区别,就是聚类分析是一种探索性的分…
Analytical Techniques, 根据可能的项目或者环境变量变化以及它们与其他变量之间的关系,对潜在后果进行评估,分析和预测的各种技术. 4.4.2.2 监控项目工作: 分析技术 包括: 回归分析,因果分析,分组方法,根本原因分析,预测方法(时间序列/情景构建/模拟等),失效模式与影响分析 (FMEZ) ,故障树分析,储备分析,趋势分析,挣值管理,差异分析 4.6.2.2 结束项目或者阶段: 分析技术,包含回归分析和趋势分析. 5.3.2.2 定义范围:把高层级的产品描述转变为有形的…
文献名:Identification of candidate plasma protein biomarkers for cervical cancer using the multiplex proximity extension assay(利用多重邻位延伸分析技术进行宫颈癌血浆蛋白候选生物标记物的鉴定研究) 期刊名:Molecular & Cellular Proteomics 发表时间:2019.04.01 IF:5.232 单位: 1.      乌普萨拉大学 2.      乌普萨…
本书基本信息 丛书名:安全技术大系 作者:王清(主编),张东辉.周浩.王继刚.赵双(编著) 出版社:电子工业出版社 出版时间:2011-6-1 ISBN:9787121133961 版次:1 页数:753 字数:780000 印刷时间:2011-6-1 开本:16开 纸张:胶版纸 印次:1 包装:平装 书籍封面 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaW9pb19qeQ==/font/5a6L5L2T/fontsize/400/fill/I0J…
最近因为工作需要在看0day的软件漏洞分析,发现这本<0day安全软件漏洞分析技术(第2版)>真是本好书,唯一缺点就是书上的环境是Windows XP 32Bit的,基于现状难以进行实践,于是笔者打算使用紧跟潮流但又尽量满足书上的环境——Windows 10 Profession 32Bit,希望对大家学习有所帮助. 一.环境以及要用的软件 系统:Windows 10 Profession 软件:UltraEdit.LordPE.OllyDBG.VC++ 6.0.IDA Pro 下图作者的系统…
SPSS分析技术:多元方差分析 下面要介绍多元方差分析的内容,多元方差分析是研究多个自变量与多个因变量相互关系的一种统计理论方法,又称多变量分析.多元方差分析实质上是单因变量方差分析(包括单因素和多因素方差分析)的发展和推广,适用于自变量同时对两个或两个以上的因变量产生影响的情况,用来分析自变量取不同水平时这些因变量的均值是否存在显著性差异. 分析原理 多元方差分析可以看做是多因素方差分析和协方差分析合并后的拓展,能够一次性做两个以上因变量的多因素方差分析和协方差分析.多元方差分析的优点是可以在…
SPSS分析技术:CMH检验(分层卡方检验):辛普森悖论,数据分析的谬误 只涉及两个分类变量的卡方检验有些时候是很局限的,因为混杂因素总是存在,如果不考虑混杂因素,得出的分析结论很可能是谬误的,这就是著名的辛普森悖论.辛普森悖论的故事是这样的:1973年秋季,加州大学伯克利分校研究生院的新生入学.有些人在看到学校两个学院的综合录取表格后,怀疑学校在录取学生时存在性别歧视,因为女生录取率低于男生,如下表所示: 为了平息质疑,校领导根据学院的不同,将综合录取率拆开,分别考察商学院和法学院的录取情况,…
SPSS分析技术:无序多元Logistic回归模型:美国总统大选的预测历史及预测模型 在介绍有序多元Logistic回归分析的理论基础时,介绍过该模型公式有一个非常重要的假设,就是自变量对因变量多个类别(因变量是定序数据)的影响程度是相同的.如果因变量有4个水平,那么有序多元逻辑回归分析最终会产生3个回归方程,这些回归方程除了常数项以外,其余的部分都是一样的,这就体现了模型的假设.因为有这个假设的存在,所以做有序多元Logistic回归分析时,可以同时输出平行性检验结果.如果检验结果不通过,那么…
一.加法 1.Debug下: 14: int nVarOne0 = 1 + 5 - 3 * 6;//编译时计算得到结果 00C0550E C7 45 F8 F4 FF FF FF mov dword ptr [nVarOne0],0FFFFFFF4h 15: cout << nVarOne0 << endl; 00C05515 68 9D 4A BF 00 push offset std::endl<char,std::char_traits<char> >…
我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章. 引言 我在面试别人的过程中,JVM 内存模型我几乎必问,虽然有人说问这些就是面试造航母,工作拧螺丝.如果你想当一名 CRUD 码农,你可以选择不用了解这些. 在 JVM 内存模型的问答中,有些人能说出对象是在堆上分配的.但当我问对象一定是在堆上存储的嘛时,大部分人都回答是,或者犹豫了. 其实能回答出对象是在堆上分配存储已算正确了.但随着 JIT 即时编译器的发展和逃逸分析技术的逐渐成熟,所…
MBist技术可以自动实现存储器单元或阵列的RTL级内建自测试电路,MBIST的EDA工具支持多种测试算法的自动实现,可针对一个或多个内嵌存储器自动创建BIST逻辑,并完成BIST逻辑与存储器的连接,此外MBIST结构中还可包括故障自动诊断功能,方便了故障定位和开发针对性测试向量.本文将介绍用于嵌入式存储器设计的MBIST技术,并对其电路结构进行讨论. 随着半导体工艺尺寸不断缩小,IC设计的规模越来越大,高度复杂的IC产品正面临着高可靠性.高质量.低成本以及更短的产品上市周期等日益严峻的挑战.一…
本文转载自公众号 DBAplus社群 , 作者:谢麟炯 谢麟炯,唯品会大数据平台高级技术架构经理,主要负责大数据自助多维分析平台,离线数据开发平台及分析引擎团队的开发和管理工作,加入唯品会以来还曾负责流量基础数据的采集和数据仓库建设以及移动流量分析等数据产品的工作. 海量数据实时OLAP场景的困境 大数据 首先来看一下我们在最初几年遇到的问题.第一就是大数据,听起来好像蛮无聊的,但大数据到底是指什么呢?最主要的问题就是数据大,唯品会在这几年快速发展,用户流量数据从刚开始的几百万.几千万发展到现在…
I will Make Impossible To I'm possible -----------LittleHann 看了2个多星期.终于把0DAY这本书给看完了,自己动手将书上的实验一个一个实现的感觉很不错,在学习的过程中,也增加了自己的信心. 这里希望做一个小小的总结,不是想说明自己有多牛逼,只是觉得学习应该是一个常思考,常总结的过程,分享一些学习overflow shellcode的学习新的.希望大神路过不要嘲笑我,因为每个人都是这么过来的,如果有幸能看别人有所收获,那就太好了,一下全…
---恢复内容开始--- 基本的浮点数指令 示例代码: Visual Studio 2013的反汇编代码是: 对于movss,表示移动标量单精度浮点值 将标量单精度浮点值从源操作数(第二个操作数)移到目标操作数(第一个操作数).源操作数与目标操作数可以是 XMM 寄存器或 32 位内存位置.此指令可用于将单精度浮点值移入/移出 32 位内存位置与 XMM 寄存器的低位双字,或是用于在两个 XMM 寄存器的低位双字之间移动单精度浮点值.此指令不能用于在内存位置之间传输数据. 对于cvtsi2ss指…
内容一: 1. 打开Ethereal软件开始抓包, 输入命令: snmputil get [目标主机IP地址] public .1.3.6.1.2.1.1.2.0 停止抓包.对SNMP包进行过滤. 2. 找出一对snmp协议请求包和相对应的应答包.给出抓包结果截图. 3.对上面这对请求和应答包进行分析,根据SNMP协议数据包格式填值. 请求包报文分析 IP Source字段值 10.30.10.150 Destination字段值 10.30.10.134 UDP Source Port字段值…
<C++反汇编与逆向分析>和<程序员的自我修养>都是以VC6的代码作为例子讲解的.这里是在vs2017下,CRT代码有些区别,但整体流程上都是初始化环境,设置参数,最后转到用户main函数. class COne { public: COne() { printf("COne \r\n"); } ~COne() { printf("~COne \r\n"); } }; COne g_One; int main() { printf("…
各种调用方式的考察 示例: cdecl方式是调用者清空堆栈: 如果执行的是fastcall: 借助两个寄存器传递参数: 参数1和2借助局部变量来存储: 返回值 如果返回值是结构体: 返回值存放在eax和edx两个寄存器中: 返回之后再存放eax和edx到对应的局部变量中: 如果这个结构体中存放的值太多: 调用函数时压入了一个结构体的地址: 子函数中设置完对应的成员的值之后,再返回这个地址:…
if...else...语句 示例: if构成多分支语句 switch 有序线性的switch: 3E82D8位置存放了一个表,标明了要跳转到的地址: 这里的每四字节都标明的是每个case块的首地址: 除了表中的第四个位置,因为没有case 4 所以,第四个位置直接标明的是退出的地址: 非线性索引: 126883C是一张索引表.比如case x,那么这个表中的x位置就存放了一个数字,这个数字表明是第几个case.然后再到case地址表中去查找case块的地址: 然后根据得到的数字,再去case表…
---恢复内容开始--- 加法: 示例: 常量相加,则在编译期间就计算出两个常量相加后的结果,直接将这个结果参与运算,减少了运行期的计算.当有变量参与运算时,会先取出内存中的数据,放入通用寄存器中,再通过加法指令来完成计算过程得到结果. 如果开启O2选项,则是考虑效率优先,编译出来的汇编代码会有很大的变化: 如果使用Release版本开启O2选项后,再查看反汇编,则略过很多无用的步骤,直接给printf压入一个常量作为参数: 如果我们稍加修改: 用命令行参数的个数argc去初始化两个变量,那么由…
识别类和类之间的关系 在父类中声明为私有的成员,虽然子类对象无法直接访问,但是在子类对象的内存结构中,父类私有的成员数据依然存在. 在没有提供构造函数的时候,系统会尝试提供默认的构造函数: 当子类中没有构造函数或析构函数,而它的父类却需要构造函数与析构函数是,编译器会为这个子类提供默认的构造函数与析构函数.这是为了帮助父类对象完成初始化.同理,如果是子类对象的成员对象需要构造函数,那么系统也会为这个子类对象提供一个默认的构造函数. 如果子类中存在构造函数,而父类中不存在构造函数.那么,如果父类中…
虚函数的机制 当类中定义有虚函数时,编译器会将该类中所有虚函数的首地址保存在一张地址表中,这张表被称为虚函数地址表.编译器还会在类中添加一个虚表指针. 举例: CVirtual类的构造函数中没有进行任何操作,但是我们来看构造函数内部,还是有一个赋初值的操作: 这个地址指向的是一个数组: 这些数组中的内容就是虚函数的指针: 值得注意的是,如果没有虚指针的存在,那么CVirtual大小就是4字节.有了这个指针存在就是8字节. 本例子中,使用了一个空的构造函数,但是编译器自己擅自插入了代码,实现了对虚…
局部对象 当对象所在作用域结束之后,销毁栈空间,此时析构函数被调用. 举例: 函数返回时自动调用析构函数: 堆对象 调用析构代理函数来处理析构函数: 为什么使用析构代理函数来调用析构函数?考虑到如果delete的对象是一个对象数组,可以使用析构代理函数依次析构所有的对象.举例: 调用了构造代理函数: vector deleting destructor函数中先对标志位进行判断: 如果没有跳转,表明delete的是一个数组,则会调用调用析构代理函数对对象进行逐一的析构.如果进行了跳转,则只进行一次…
对象生成时会自动调用构造函数.只要找到了定义对象的地方,就找到了构造函数调用的时机.不同作用域的对象的生命周期不同,如局部对象.全局对象.静态对象等的生命周期各不相同,只要知道了对象的生命周期,便可以推断出构造函数的调用时机. 局部对象 反汇编: 获取对象首地址并调用构造函数: 对象的地址为: 进入构造函数,先是push一堆寄存器: 还原ecx寄存器,并初始化: 构造函数属于成员函数,在调用时要用到this指针. 如何识别?1.构造函数时这个对象在作用域内调用的第一个成员函数,根据this指针可…
实验 3.4 通用shellcode 工具 Windows XP SP3 Visual C++ 6.0 OD IDA 源代码 见随书代码,参考:https://github.com/jas502n/0day-security-software-vulnerability-analysis-technology 实验步骤 按书编写代码 运行测试 实验4.2 入侵Windows系统 实验环境 操作机:kali 靶机:Windows 2000 SP4 实验目标 学习使用metasploit-frame…
Crack 小实验 工具 Dev C++(书上使用的VS) IDA_Pro_v7.0 Ollydbg LordPE 010 editor 使用IDA打开文件 找到程序分支点 空格跳转到汇编界面 得到VA:0x40156d 使用OD打开文件 Ctrl+G跳转到IDA得到的VA 加断点,运行,此时输入任意密码,回车后程序在此中断. 我们只要把je改成jne就能实现输入错误密码返回正确结果. 使用LordPE打开文件 OD修改只是修改了内存中的值 利用公式计算:文件偏移地址 = 虚拟内存地址(VA)…