Frida Stalker 是什么?
一、目标在分析so中的算法时,Trace和Debug是常用的手段。了解一些调试器原理的同学都知道,Trace和Debug需要修改原始代码加上个int3,来激活调试器。这样有些App可以依赖检测关键代码来判断是否被调试。也许你会说,我们可以patch掉检测代码,上次飞哥遇到一个狠人app,B去检测A处的代码,C去检测B处的代码,D去检测C处的代码,……反正
徐小夕 徐小夕
5年前
深度剖析github star数15.1k的开源项目redux-thunk
日益忙碌的一周又过去了,是时候开始每周一次的总结复盘了,今天笔者就来剖析一下github中star数15.1k的开源项目reduxthunk。作为一名React方向的前端工程师,不管是被面试还是面试别人,大部分都会说起reduxthunk的实现原理,因为它非常经典且有用,而且代码量少的感人,只有短短12行代码,却能解决React开发中同一个函数支持多
Aimerl0 Aimerl0
4年前
WPS2010版本DLL劫持漏洞复现(plgpf.dll)
WPSOfficeplgpf.dllDLL劫持漏洞原理简单说就是exe文件寻找DLL库会优先在当前目录下寻找,若DLL库未经过校验或者寻找DLL路径不是绝对路径,容易导致DLL被本地攻击者劫持漏洞描述CVE编号:CVE20105208WPSoffice套件应用程序在加载外部库(DLL)时通过了一个不合格
Stella981 Stella981
4年前
Python内置海龟(turtle)库绘图命令详解(一)
    本文主要介绍了用Python内置turtle库绘制图形的一些主要命令,turtle库是Python语言中一个很流行的绘制图像的函数库,原理是利用一个小海龟,坐标系原点(0,0)位置开始,根据一组函数指令的控制,在平面坐标系中移动,利用它爬行过的路径即可绘制图形。下面介绍turtle绘图的一些基础知识。!(https://oscimg
Stella981 Stella981
4年前
Redis都不懂?就别去面试了!聊聊我的Redis新专栏「视频版」
前不久,有一个读者在后台留言,说他面试Java开发工程师岗位时,居然大部分的面试问题都是关于Redis,他都差点都忘记了自己应聘的是Java工程师了。而然这种现象在现在的后端面试中很常见,对Redis的掌握已经变成了一项后端工程师必须具备的基础技能了。刚好借此机会和大家聊聊,如何学习Redis?当然还有我的新专栏《Redis核心原理与
Stella981 Stella981
4年前
Android OpenCV(十八):均值滤波
均值滤波均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)∑f(x,y)/mm为该模板中
Wesley13 Wesley13
4年前
C#冒泡排序(完整代码)
百度百科冒泡排序是笔试面试经常考的内容,虽然它是这些算法里排序速度最慢的原理:从头开始,每一个元素和它的下一个元素比较,如果它大,就将它与比较的元素交换,否则不动。这意味着,大的元素总是在向后慢慢移动直到遇到比它更大的元素。所以每一轮交换完成都能将最大值冒到最后。 原出处:https://www.cnblogs.com/wangjiaho
Wesley13 Wesley13
4年前
Java高并发程序设计(四)—— 无锁
一、无锁类的原理详解无锁的概念就是无障碍运行,无障碍是指所有的线程都能进入临界区,无锁在无障碍的基础上加上了一条就是每次竞争必然有一条能够胜出。理论上无障碍有可能线程都失败,所以无锁更切实可行,但实践上无障碍和无锁差不多。(一)CAS(CompareAndSwap)CAS算法的过程是这样的,它包含三个参数CAS(V,E,N)。V表示要更新的变
Stella981 Stella981
4年前
Linux C++ 应用二进制兼容实践
本文将介绍一些在开发多Linux平台C应用时可能遇到的兼容性问题和相关的解法。虽然是以C为讲述对象,但兼容性这个问题,在没有VM帮你做这些脏活累活的情况下,是所有Clike语言(比如Go、Rust等)都可能遇到的。受个人经验所限,本文所讨论内容仅限于x86架构下,但相信相关的原理和规则在其他架构下也是相通的,可作