地狱怪客

MinHash原理与应用

MinHash首先它是一种基于 Jaccard Index 相似度的算法,也是一种LSH的降维的方法,应用于大数据集的相似度检索、推荐系统。下边按我的理解介绍下MinHash。 举例A,B 两个集合: A = {s1, s3, s6, s8, s9} B = {s3, s4, s7, s8, s10} 根据Jaccard Index公式,A,B的相似度 S(A,B) = |A∩B|/|A∪B| = […]

LLVM linux Android NDK

解压位置:/home/hellbo/Desktop/android-ndk-r10 #vim /etc/profile #set NDK env NDKROOT=/home/hellbo/Desktop/android-ndk-r10 export PATH=$NDKROOT:$PATH export LLVM=/opt/android-ndk-r10b     编译说明, 先 […]

ARM(Android NDK)混编C/C++汇编

在进行Android开发时,一般考虑加速某些算法处理速率时,需要使用NDK进行开发, 为了进一步加速程序执行速率,还可以进行汇编级别的优化。 比如采用 NEON 技术进行代码的优化,以实现模块处理效率的成倍增长。 在C/C++中使用内联汇编的用法如下:  

arm BL跳转指令计算方法

SrcAddr + (x << 2 + 8) = DstAddr x = ((DstAddr – SrcAddr) – 8) >> 2   关于ARM的B,BL跳转指令: 假设跳转指令处的地址是A,跳转目标处的地址是B. B,BL指令保存的是偏移地址,这个地址的计算方法是: 1.B-(A+8).A+8是因为ARM的流水线使得指令执行到A处时 […]

acquire_wake_lock保持后台唤醒状态

int Sub_WakeLock() { int result; // r0@2 if ( !bIs_wake_lock ) { result = acquire_wake_lock(1, “clock”); bIs_wake_lock = 1; } return result; }   一些手机app(如微信、QQ等)有新消息来到达,手机屏幕即使在锁屏状态下也会 […]

ioctl 参数全列表

/* Linux-specific socket ioctls */ #define SIOCINQ         FIONREAD #define SIOCOUTQ        TIOCOUTQ /* Routing table calls. */ #define SIOCADDRT       0x890B          /* add routing table entry       […]

Linux信号量SIGNAL表

默认动作的含义如下: Term    终止进程   信号 取值 默认动作 含义(发出信号的原因) SIGHUP 1 Term 终端的挂断或进程死亡 SIGINT 2 Term 来自键盘的中断信号 SIGQUIT 3 Core 来自键盘的离开信号 SIGILL 4 Core 非法指令 SIGABRT 6 Core 来自abort的异常信号 SIGFPE 8 Core 浮点例外 SIGKIL […]

ARM 指令集

寄存器和处理器模式(26-bit 体系) 寄存器和处理器模式(32-bit 体系) 程序状态寄存器和操纵它的指令 寄存器装载和存储指令 算术和逻辑指令 移位操作 乘法指令 比较指令 分支指令 条件执行 软件中断指令 APCS (ARM 过程调用标准) 编写安全的 32-bit 代码的基本规则 IEEE 浮点指令 汇编器伪指令 指令快速查找 ARM 指令格式 寄存器和处理器模式   ARM […]

今天分析完了第一个so样本

很开心,IDA动态调试+静态分析+各种搜索linux+android资料。 一通百通,逆向一切。   不过真的要学的还是很多的。。。。。加油@!Fly。乘风追梦。 不过来了成都后,从来没见过太阳!

安全行业之机器学习未来

信息安全一直以来都是一个“猫捉老鼠”的游戏。好人建起防御的围墙,坏人想方设法通过或者绕过它。然而最近我们发现坏人似乎越来越容易绕过我们建立的高墙。想要阻止他们就需要提升我们自身的能力,也就意味着需要更广泛地使用机器学习。 FreeBuf 百科:机器学习 卡内基梅隆大学的教授Tom Mitchell在《Machine Learning》(《计算机科学丛书:机器学习》)序言中给出了一个定义: 机器学习 […]