当前位置: 首页 > wzjs >正文

哈尔滨服务好的建站方案微博图床wordpress

哈尔滨服务好的建站方案,微博图床wordpress,中国制造网是干什么的,想给公司做个网站 怎么做目录 简介 编写SMC程序 测试patch后的程序 参考 简介 自修改代码(Self-Modified Code)是一类特殊的代码加密技术,即在运行时修改自身代码或数据,从而使得程序实际行为与反汇编结果不符,同时修改前的代码段数据也可…

目录

简介

编写SMC程序

测试patch后的程序

参考


简介

自修改代码(Self-Modified Code)是一类特殊的代码加密技术,即在运行时修改自身代码或数据,从而使得程序实际行为与反汇编结果不符,同时修改前的代码段数据也可能非合法指令,从而无法被反汇编器识别,这加大了软件逆向工程的难度

基本原理是在编译可执行文件时,将需要加密的代码区段(如函数、代码块) 单独编译成一个section(段),并将其标记为可读,可写,不可执行,然后通过某种方法在程序运行的时候将section解密为可执行代码,并将其标记为可读、可执行、不可写,这样就不能直接在内存里面找到加密的代码,从而无法执行或修改加密的代码

SMC的实现方式有很多种,可以通过修改PE文件的Section Header、使用API Hook实现代码加密和解密、使用VMProtect等第三方加密工具等

SMC两种破解方式,第一种是根据静态分析结果直接修改程序二进制文件,第二种则是在动态调试时将解密后的程序从内存中 dump 下来

编写SMC程序

一般smc程序的执行流程(假设关键函数为func)

  1. main函数中获取func函数的地址

  2. 取消func函数处的页面保护

  3. 对func进行解密操作之后再调用func

为了编写smc程序,我们需要进行如下操作

  1. 先写好func函数和main函数中的解密代码(此时不能真正解密,还需要矫正)

  2. 编译后用ida打开exe程序,找到func地址及大小,从而修正主函数的参数

  3. 用ida对func函数进行patch,保存patch后的程序

#include<stdio.h>
#include<Windows.h>
int func(int x, int y) {unsigned int z = 0x12345678;x = y ^ z;y = x ^ z;char flag[] = "helloworld";printf("%s", flag);return x ^ y ^ z;
}
int main() {DWORD64 old;byte* pfunc = (byte*)func;//函数地址VirtualProtect(func,0xE1, PAGE_EXECUTE_READWRITE, &old);//第二个参数为大小,可以编译后通过ida查看得到pfunc = pfunc + *(DWORD*)(pfunc+1) + 5;//加上偏移值才是真实func地址+5是由于e9 jmp指令后的四字节是相对偏移for (int i = 0; i < 0xE1; i++)//解密操作 也需要修正大小 这里是修正后的pfunc[i] ^= 0x12;
​func(5, 6);return 0;
}

如果直接运行该程序肯定会出错,因为此时相当于对func函数加密而非解密,所以需要用ida进行patch,idapython脚本进行patch

import idc
import ida_bytes
addr=0x140011890
for i in range(0xe1):tmp=idc.get_wide_byte(addr)ida_bytes.patch_byte(addr,tmp^0x12)addr=addr+1

记得保存patch后的程序,再用ida打开patch后的程序,在解密func函数可用脚本解密或下断点动调观察

测试patch后的程序

解密前的func函数,无法正常识别

解密后的func,ida重新识别可反编译

参考

smc动态加密技术

风信子培训smc

http://www.dtcms.com/wzjs/535444.html

相关文章:

  • 下列不能反应企业网站建立网络wordpress360网站卫士
  • 网站前台显示数据库指定分类怎么做php筑龙网建筑资料下载
  • 建设电子商务网站的目的和意义中国价格信息网
  • 一个网站可以做多少个小程序网站建设课设总结
  • 国外网站设计域名到网站上线
  • 网站建设入账时进那个会计科目长沙关键词优化
  • 做国际黄金的网站贵州建设厅网站
  • 北京东城区 网站建设wordpress阿里云视频播放
  • 甘肃网站备案教做蛋糕的网站
  • 服装网都有哪些网站青海wap网站建设比较好
  • 做公司网站应准备什么材料网站下雪代码
  • 怎么样在网站文章最后做超链接微信如何做商城网站
  • 内容管理网站建设方案项目网络图怎么看
  • 英文商城网站免费做企业网站的步骤
  • vs2015做简单网站哈尔滨建设网站平台
  • 公司做个网站好还是做公众号好jsp商业网站开发
  • 怎么建国外网站南京网络营销服务
  • cytoscape网站开发南山住房和建设局网站
  • 家乡网站建设策划书模板关于网站建设分类
  • 网站打不开网址显示无法访问找衣服款式的网站
  • 装饰公司网站如何布局微信视频号可以推广吗
  • 池州网站制作优化宁德市高中阶段招生信息平台
  • 建材 东莞网站建设腾讯云wordpress建站
  • 卡密网站建设京东物流网站建设特点
  • 加油站顶棚网架价多少钱一平本地wordpress上传图片无法显示
  • 营销型网站建设选择题wordpress前台注册
  • 江苏运营网站建设业务网站设计需要注意什么
  • 淘宝做导航网站有哪些功能吗深圳做网站哪家
  • 偃师市住房和城乡建设局网站吉安建站公司
  • 一站式网站建设平台民政局两学一做专题网站