浅结反静态调试2

news/2024/12/2 19:07:12/

文章目录

  • SMC 自解码
    • 什么是SMC?
    • 原理
    • 示例
    • 动调

SMC 自解码

什么是SMC?

简而言之,就是程序中的部分代码在运行之前被加密成一段数据,不可反编译,通过程序运行后执行相关的解码功能,对加密的代码数据进行动态解密,让其恢复正常功能。**这样我们在采用静态分析时,看到的都是加密的内容,从而阻断了静态调试的可能性。**简单理解就是n层解密
(不开玩笑感觉内嵌补丁可以用在这里(菜.jpg)

原理

通过 SMC 自解码技术可以实现程序的保护,同时也可以将一些特征代码变形隐藏
1)代码在二进制文件中就是字节码,本身也就是一段二进制数据
2)提前将一部分代码通过某些方式替换为加密数据
3)程序在被反编译的时候,核心代码就是一串数据,无法反编译,而程序在运行的时候又能成功将这段核心代码复原

示例

上题简单粗暴来理解
题目来源:北邮网安杯 re3
基本流程:32位无壳,丢ida

在这里插入图片描述

得知:
1)要求输入的字符串长度为28
2)对一个类似字符串数组的byte_403020进行异或
3)有传参动作,说明这个类似字符串数组的byte_403020其实是个函数

跟进byte_403020:

在这里插入图片描述

明显的不是函数,这就是对部分代码进行了加密处理,而异或操作是加密也是解密操作,直接反静态调试,那只能dbg了

动调

在这里插入图片描述
在这里插入图片描述
调了一下基本理清楚思路了,感觉就是套娃,明天继续写


http://www.ppmy.cn/news/247818.html

相关文章

小白兔上台阶

有一只可爱的小白兔,一次可以跳一阶或者二阶台阶。现在有一个n阶台阶,在台阶顶有一(亿)堆胡萝卜,小白兔是一只善于思考的小白兔,他想知道一共有多少种路线可以到达台阶顶部,但是他只是一只可爱的小白兔。聪明的你正巧路…

OpenWrt 20.02.2 小米路由器3G配置CP1025网络打印

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

自制DIY 机器狗 完全教程 - MIT猎豹Cheetah

自制DIY 机器狗 完全教程 - MIT猎豹Cheetah 背景结构设计模块化关节电机性能考虑关节结构 四足平台设计腿部设计身体设计脚部设计 硬件设计关节驱动器通信总线板供电系统 控制系统人工智能 背景 3年前,MIT开源了世界上跑得最快最灵活的猎豹机器狗,自此以…

什么是浅拷贝和深拷贝

javascript 中有不同的方法来复制对象,那么我们怎样才能正确地复制一个对象呢?,本文来介绍一下浅拷贝和深拷贝。 一、什么是浅拷贝(Shallow Copy) 浅拷贝是创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷…

小白兔的糖果屋

励志毒鸡汤 1.小白兔有一家糖果铺,小老虎有一个冰淇淋机。兔妈妈告诉小白兔,如果你喜欢一个人呐,就给一颗糖他。小白兔喜欢上了小老虎,那么那么喜欢,忍不住就把整个店子送给了他。回家后兔妈妈问她,那小老…

小白兔和小灰兔

老山羊在地里收白菜,小白兔和小灰兔来帮忙。收完白菜,老山羊把自己种的白菜送给他们。小灰兔收下白菜,说:“谢谢您!”小白兔不要白菜,说:“您送我一些菜子吧。”老山羊送给小白兔一包菜子。小白兔回到家里,把地翻松了,种上菜子。过了几天,白菜长出来了。小白兔常常给白菜浇水,施…

小马哥RoboFly开源STM32F103四轴简介

RoboFly是小马哥团队在2018年8月推出的一款完全开源的小四轴。 这款四轴面向的人群是电子相关专业(包括自动化、电气自动化、电子信息工程、计算机、测控等专业)的大学生,通过一个完整的四轴项目来学习贴片元器件的焊接、PCB设计软件AD的使用…

2022-12-07 小米pro路由(R3G) 刷固件 openwrt

环境准备:路由开启SSH 1.先登录小米开发者平台,解开小米路由的SSH http://www.miwifi.com/miwifi_open.html 2.路由连接电脑,通过SSH可直接登录到小米路由 本教程以R3G 为例 第一步: 刷入 BREED 如何刷入breed 不同设备方法不同,可以直接U…