逆向
文章平均质量分 53
小道安全
这个作者很懒,什么都没留下…
展开
-
对一个手游修改器锁机APP的分析
锁机app的逆向原创 2022-08-31 11:46:40 · 1157 阅读 · 0 评论 -
恶意软件实现原理解析
恶意软件实现原创 2022-06-22 16:52:35 · 948 阅读 · 0 评论 -
设备指纹技术分析和应用分析
设备指纹的技术分析和应用。原创 2022-06-20 10:04:43 · 3113 阅读 · 0 评论 -
arm汇编中DCB、DCW、DCD、DCQ指令
背景在ida中进行分析so文件,就是elf文件,它所对应的arm汇编,在汇编中会时常碰到一些下面的汇编指令。DCB是arm汇编中的伪指令,下面就针对这个指令相关做下小记录。伪指令及DC系列指令ARM 伪指令它不是ARM 指令集中的指令,只是为了方便编译器编程而定义的指令,使用时可以像其他ARM 指令一样使用,但在编译时这些指令将被等效的ARM指令代替。DCB它关联的伪指令有DCB、DCW、DCD、DCQ指令。它们都是用于分配一段内存单元,并对其进行做初始化工作。不过它们分配的内存空间大小不同原创 2022-05-12 10:02:40 · 16716 阅读 · 2 评论 -
android下注入技术详解
Android注入技术原创 2022-03-22 22:59:27 · 10740 阅读 · 0 评论 -
android的系统自带函数检测调试
简介通过android系统自带的函数android.os.Debug.isDebuggerConnected(),可以进行判断是否android的应用程序是否在被调试状态。原理分析分析android自带调试检测函数isDebuggerConnected()在native的实现;android系统有两中模式分别为dalvik模式和art模式,下面分别对这两种模式下进行做反调试检测做解析。1.dalvik模式下:通过获取到进程中libdvm.so中的dvmDbgIsDebuggerConnecte原创 2021-08-04 11:05:09 · 2230 阅读 · 4 评论 -
从汇编角度看函数
函数1. 函数简介2. 从汇编中看函数1. 函数简介在代码开发过程中,函数是一个必然存在的,它是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时还带有一入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理,所谓出口,就是指函数的计算结果,也称为返回值,在计算机求得之后,由此口带回给调用它的程序。函数主要需要关注两个方向问题:函数参数,函数返回值2. 从汇编中看函数函数功能的实现部分PUSH EBP 提升堆栈原创 2021-07-29 10:58:04 · 536 阅读 · 1 评论 -
arm汇编指令速记
这里写目录标题1.跳转指令2.数据交互指令3.数据传送指令1.跳转指令B 无条件跳转BL 带链接的无条件跳转BX 带状态切换的无条件跳转BLX 带链接和状态切换的无条件跳转B loc_地址BNE,BEQ2.数据交互指令存储器(主存,内存)寄存器中放的数据:可以是字符串,可以是数,也可以是一个地址,它可以放各种类型的数据 存储地址单元:地址(如0x00004000)与地址中存在的值LDR:从存储器中加载数据到寄存器 ← LoadLDR R8,[R9,#04] R8为待加载数据的寄原创 2021-07-20 10:59:14 · 565 阅读 · 1 评论 -
对勒索样本的逆向实践。
链接: 对勒索病毒样本分析.原创 2021-07-09 18:00:17 · 379 阅读 · 1 评论 -
IDA交叉引用详解
交叉引用1.代码交叉引用2. 数据交叉引用3. 交叉引用列表1.代码交叉引用代码交叉引用的前缀为:CODE XREF如下图显示,箭头方向表示引用位置的相对方向。每一个交叉引用的最后一位后缀表示引用的类型:o 普通流 ,表示一条指令到另一条指令的顺序流p 调用流,表示控制权被转交给目标函数,如BL等命令j 跳转流,表示分支操作,常见于if等操作2. 数据交叉引用数据交叉应用的前缀为:DATA XREF如下图所示,数据交叉引用每一个交叉引用的最后一位后缀表示引用的类型r 读取原创 2021-05-13 11:36:40 · 3237 阅读 · 3 评论 -
IDA调试跟踪
这里写目录标题1.IDA调试概述2.指令跟踪3.函数跟踪4.栈跟踪5.监控1.IDA调试概述IDA中的调试跟踪是一种记录方法, 它主要是用于记录一个进程在执行过程中发生的特定事件。跟踪分为两类:指令跟踪和函数跟踪。2.指令跟踪在IDA打开指令跟踪方法:Debugger-Tracing-Instruction TracingIDA将记录被指令更改的地址、指令和任何寄存器的值。(指令跟踪将减慢被调试进程的执行速度,因为调试器必须单步执行这个进程,以监视和记录所有寄存器的值)3.函数跟踪在IDA打原创 2021-05-13 11:24:49 · 2462 阅读 · 0 评论 -
系统装机软件的一次分析
链接: [大白菜](https://mp.weixin.qq.com/s?__biz=MzUxODkyODE0Mg==&mid=2247484862&idx=1&sn=f1b731312d68df49c2232f8c897cda16&chksm=f98027dfcef7aec99ef1162b4673773a8163d07a374b29509a6e068c1afc2f10c1bade9b2f48&mpshare=1&scene=1&srcid=0506原创 2021-05-08 10:41:11 · 277 阅读 · 2 评论 -
对伪造docx病毒文件的完整分析
文章目录1.病毒文件的基本信息分析1.1 病毒文件具体展示1.2 病毒信息具体提示1.3 trojan.generic病毒的定义信息1.4 分析病毒的加壳情况1.5 分析病毒所依赖的模块信息1.6 监控病毒文件行为2.病毒文件的关键功能信息分析2.1 病毒样本的反调试功能2.2 每次只能启动一个病毒样本实例2.3 病毒文件结束自身进程2.4 启动原始的docx文件2.5 进行信息收集上传3. 总结1.病毒文件的基本信息分析1.1 病毒文件具体展示病毒文件用的资源图标是wps的图标,以此让大家误认为是d原创 2021-04-07 17:20:55 · 1353 阅读 · 8 评论 -
arm64汇编几个关键代码解析。
栈指令应用sub sp, sp, #32 ; 更新栈顶寄存器的值,(可以看出:申请 32 字节占空间作为新用)stp x29, x30, [sp, #16] ; 保存调用该函数前的栈顶寄存器的值和该函数结束返回后下一将执行指令地址值add x29, sp, #16 ; 更新栈底寄存器的值,(可以看出:还剩余 16 字节空间给该函数用)adrp x0, l_.str@PAGE ; 获取 ‘l_.str’ 标签所在的页的地址原创 2021-04-02 14:25:34 · 861 阅读 · 2 评论 -
对病毒样本的完整功能分析
链接: 对伪装docx病毒做分析.原创 2021-04-02 10:11:28 · 430 阅读 · 0 评论 -
教你如何写更安全的代码
文章目录1.技术背景2.字符串的安全方案1.直接使用字符串2.字符串赋值到数组使用3.调用系统函数安全方案1.直接调用系统的函数2.自定义实现函数再调用函数4.总结1.技术背景作为程序开发人员,我们害怕,听到开发的代码,被测试出bug;我们更害怕,听到我们所开发出来的产品上线了,被新手安全研究员给反汇编逆向破解,代码功能直接被人给盗取了。下面根据我自己的一些项目经验,跟大家分享两点如何能开发出相对安全的代码。以下方案不局限于任何语言代码开发,是一个相对通用的安全编码方案。2.字符串的安全方案1.直接原创 2021-03-23 10:25:59 · 1808 阅读 · 5 评论 -
安卓逆向:重温Thumb汇编指令细节
主要内容1.Thumb指令集详解2.Thumb直接访问的寄存器3.Thumb指令集组成部分详解4.Thumb和arm状态却换5.Thumb的常见应用场景1.Thumb指令集详解•ARM处理器支持两种指令集:ARM指令集和Thumb指令集。•ARM指令集指令长度为32位,Thumb指令集指令长度为16位。在16位外部数据总线宽度下,ARM处理器上使用Thumb指令的性能要比使用ARM指令的性能更好。•存在Thumb指令的意义:兼容数据总线宽度为16为的应用系统。2.Thumb直接原创 2020-12-16 10:19:50 · 3118 阅读 · 3 评论 -
木马病毒外挂的5点思考。
分析木马,病毒,主要是要分析出该exe的流程,一般通过网上找资料,IDA逆向,主要通过分析出进程中的网址、收信息的地址。验证下文件或exe是否是pe结构。 分析盗号木马或者病毒,一般可以通过木马或病毒的接收服务器已经本地保存的进行入手分析整个的流程。盗号的一般都是用LSP注入方式(注册表注入)。 远控木马和最近非常流行的白加黑远控木马存在较大的差异,最近发现的白加黑远控最大的特点就是利用了系统文件rundll32.exe文件外加一个黑的dll文件,在传播方面至少需要三个文件,分别是rundll32.ex原创 2020-12-29 10:59:08 · 3604 阅读 · 12 评论 -
IDA静态逆向工具详解二
文章目录1.栈帧2.调用约定3.栈帧详解1.栈帧栈帧(stack frame)栈帧是在程序的运行时栈中分配的内存块,专门用于特定的函数调用。栈帧(激活记录)调用函数的详细步骤2.1.调用方将被调用函数所需的参数放入到该函数所采用的调用约定指定的位置。如果参数被放到运行时栈上,该操作可能导致程序的栈指针发生改变。2.2.调用方将控制权转交给被调用的函数,这个过程常由X86 CALL或MIPS JAL等指令执行。然后,返回地址被保存到程序栈或CPU寄存器中。2.3.如果有必要,被调用的函数会原创 2021-02-22 11:01:20 · 1826 阅读 · 3 评论