二进制安全 [2024]vmp3的vpush解析 vmp3的vpush这handle有两种类型 push %imm的时候: ``` ;把vip移动到操作数寄存器中,这里的VIP操作是需要解密的 MOV %push_size:%operand_reg, [VIP] ;设置VSP的大小. MOV %push_size:[VSP], %operand_reg ``` push %reg的时候: ``` ;把vip移动到操作数寄存器中,这里的VIP操作是需要解密的 mov %push_size:%operand_reg, [VIP] ;在寄存器表中找到需要push的寄存器. mov %tmp_reg, %push_size:[%ctx_reg + %operand_reg] ;设置vsp的大小 mov %push_size:[VSP], %tmp_reg ``` 阅读全文 2024-02-04 huoji 0 条评论
C/C++汇编 [2023]VMP 3.x的vPop 好像逛了一圈网上都没有VMP3的vPop的handle的代码,这里是这部分的代码,vPop有两部分实现 这是模式匹配的伪码: ```cpp Vmp3 vPop: 1. mov %pop_size:%pop_reg, [%vsp] add vsp, %pop_size mov op_size, %op_size:[VIP] 2. mov %op_reg, %op_size:[VIP] mov %pop_size: %pop_reg,[VSP] add vsp, %pop_size ``` 这是FDJ里面的实现+注释: ![](https://key08.com/usr/uploads/2023/07/2206852981.png) 阅读全文 2023-07-09 huoji 0 条评论
二进制安全 [2023]VMP还原day4:简单计算vm block跳转地址 目前的进度: ![](https://key08.com/usr/uploads/2023/04/2759092668.png) 从 VMP还原day3:模式匹配寻找VIP/VSP和Flow Entry 中,简单说了一下FDJ,我们也已经介绍了虚拟机是如何初始化的.现在,是时候进入第一个handler了. 阅读全文 2023-04-16 huoji 0 条评论
工具软件二进制安全 [2020]VTIL Project 让VM代码不再难受 github: https://github.com/vtil-project 官网: https://vtil.org/ 能简化无用的VM膨胀代码 ![V1GZ51p.png](https://key08.com/usr/uploads/2020/07/769336467.png) 阅读全文 2020-07-23 huoji 0 条评论