去除花指令的代码

2022CTF培训(四)花指令&字符串混淆入门 逆向工程中一个常用的技巧就是通过字符串来寻找核心代码,例如通过错误提示来找到判断的相关代码、通过提示语句找到相近的功能代码、通过日志输出找到相关的功能代码等等。可见字符串对于逆向人员是一个很重要的切入点。因此,保护方使用字符串混淆技术,对静态文件中的字符串进行加密,使得直接在文件中搜索字符串无法获得信息。当程序运行时再对字符串进行解密,恢复其的可读性。静态解密指的是对解密函数进行逆向,从而直接根据解密算法和加密内容进行恢复。好处有以下几点无需执行,避免环境配置、反调试等问题。 阅读详情
#define WIN32_LEAN_AND_MEAN  
#include "windows.h"

BYTE flowCode1[] = {......}; // ......表示你的花指令组合,这个需要你自己替换了。

BYTE flowCode2[] = { ........};

BYTE flowCode3[] = { .........};
char szFileName[] = "combojiang.exe";

//找出花指令的位置并去掉花指令
void FindFlowerCodeAndRemove(LPVOID src, LPVOID flw, int nSrcLen,int nflwLen)
{
  __asm
  {
    xor eax,eax
    push esi 
    push edi 
    push ecx

    cld 
    mov esi,flw
    mov edi,src
    mov ecx,nSrcLen
    lod**
    
Start:
    repnz sca**
    or ecx,ecx
    jz NotFindFlower
    push eax
    push ecx
    push esi 
    push edi 

    lea edi,[edi - 1]
    mov ecx,nflwLen
    mov esi,flw
        repz cmp**

    or ecx,ecx
    jnz MYLOOP
      
    mov ecx,nflwLen
    sub edi,nflwLen
    mov al,0x90
    rep sto**

MYLOOP:
               pop edi 
    pop esi 
    pop ecx 
    pop eax
    jmp Start

NotFindFlower:
    pop ecx
    pop edi 
    pop esi
  }
}



int main(int argc, char* argv[])
{
    DWORD dwHigh;
  HANDLE hFile = CreateFile(szFileName,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);  
  HANDLE hMap = CreateFileMapping(hFile,NULL,PAGE_READWRITE,0,0,0);
  LPVOID lpMem = MapViewOfFile(hMap,FILE_MAP_ALL_ACCESS,0,0,0);
  int nFileLen  = GetFileSize(hFile,&dwHigh);


   FindFlowerCodeAndRemove(lpMem, flowCode1, nFileLen,23);  
   FindFlowerCodeAndRemove(lpMem, flowCode2, nFileLen,12);
  FindFlowerCodeAndRemove(lpMem, flowCode3, nFileLen,8);
  
  UnmapViewOfFile(lpMem);
  CloseHandle(hMap);
  CloseHandle(hFile);
  return 0;
}

注: 由于论坛屏蔽了s和b的连写,代码中看到的**表示这两个字母。
逆向分析软件去除易语言花指令完成注册 文章目录用到的软件查壳去除花指令寻找关键跳或者关键CALL完成注册 用到的软件 OD PEID 会员管理软件 查壳 直接拖进PEID看一下,这里没壳,直接干了 去除花指令 查找关键字 首先我们运行程序会看见有一个未注册 我们直接去查找这几个字,这里提示没有找到 去除花指令 接着我们尝试去一下花指令看看效果,去除花指令的工具在 插件——》Junk code 再次查找关键... 阅读详情

相关推荐

190319 逆向-花指令

以前也接触过简单的花指令,基本上就是jz/jnz式的固定跳转 前几天的某比赛中出现了一个相对而言比较复杂的花指令,参考pizza的笔记开始一阵学习XD 前言 花指令指的是没有卵用,会干扰代码阅读甚至反编译,却不影响程序功能的代码。 广义上来说OLLVM、VMP一类的代码改变型混淆也属于花指令,本文所指的是指会干扰反汇编、影响机器码解析但不影响正常机器码的字节。 原理 产生花指令的根本原因是x86指...

whklhhhh的博客 5149

【逆向学习】花指令的去除

逆向花指令

WangLal的博客 6905

Unity3D消除类游戏《永恒之花》源码

游戏截图: http://blog.youkuaiyun.com/niehanmin/article/details/79350895 Unity3D消除类游戏《永恒之花》源码 C#脚本 运行环境:Unity4.6.1 永恒之花(Bloom Blast)是ARK Games开发的一款休闲类游戏。永恒之花,带给我们永远是恬静、温暖、梦幻、美好的感觉,质朴、干净,不夹杂任何污质。就如此款游戏,就如游戏中的小女孩,让我们相信,心中的纯洁和爱,必然能战胜一切邪恶,Love is always love。

花指令手动清除-保姆级教学【逆向系列】

逆向系列

shutTD的博客 2823

花指令清除工具

呵呵 自己在网上搜集的这个 软件是在破解之前 查出花指令 将他清除

基于osgEarth的二维态势中时变对象的绘制方法

在态势系统中,卫星、飞机的轨迹、覆盖等的几何数据随时间改变,称之为时变对象。在以OSGEarth实现的二维态势中,如果利用OSGEarth的预定义线、面类型处理这种几何数据的动态改变,则导致效率极具降低。介绍了此问题并给出解决技巧。

eyepeak的博客 2090

逆向分析基础 --- 花指令实现及清除

一、基本概念 花指令:目的是干扰ida和od等软件对程序的静态分析。使这些软件无法正常反汇编出原始代码。 常用的两类反汇编算法: 1.线性扫描算法:逐行反汇编(无法将数据和内容进行区分) 2.递归行进算法:按照代码可能的执行顺序进行反汇编程序。 简单的花指令 0xe8是跳转指令,可以对线性扫描算法进行干扰,但是递归扫描算法可以正常分析。 两个跳转一个指向无效数据,一个指向正常数据来干扰递归扫描算法。 二、花指令实现 这里的实验基础代码是参考安全客上一个师傅代码进行的 //源码 #include<s

abelxu 1万+

仪表数字图像识别的传统方法

虽然现有很多机器学习算法能够准确地识别数字,但是传统方法对于一些需要离线识别且计算能力有限的下位机设备来说,仍然有非常不错的效果。因此,今天就向大家讲解一下传统的数字识别方法在仪表读数方面的应用。 1.图像预处理技术 1.1 主要流程 图像处理依次需要进行图片预处理、字轮区域定位、字符分割和字符识别等过程。其中图像处理流程如下图所示。 2. 详细过程 2.1 灰度化 为了减小图像原始数据量,本系...

XYZ 4523

c语言花指令怎么去除,[原创]去除花指令的代码

52008-10-3 05:46// A Test Simple#define WIN32_LEAN_AND_MEAN#include "windows.h"//找出花指令的位置并去掉花指令void FindFlowerCodeAndRemove2(LPVOID src, LPVOID flw, int nSrcLen,int nflwLen){__asm{xor eax,eaxpush esip...

weixin_30152861的博客 524

锐捷交换机配置SSH

锐捷交换机配置ssh 一、组网需求 通过ssh功能可以远程登录管理设备 二、配置步骤 全局开启ssh服务,并且指定ssh版本 Ruijie>enable Ruijie#configure terminal Ruijie(config)#enable service ssh-server ------>开启SSH服务,默认关闭 Ruijie(config)#ip ssh version 2 ------>默认1.99版本,设置为版本2 添加登

Loners_fan的博客 1万+

C#计算八字

private string[] jq = { "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至" };private string[] dz = { "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥", "子" };

m0_72939038的博客 828

花指令知识

可能很多人都听说过花指令,但限于平时的开发所限,可能较少接触到。日前,跟同事讨论了一些有关花指令的问题,现将自己的体会总结一下。这篇文章将讨论以下问题:一、什么是花指令?它的原理是什么?二、在什么地方使用花指令?如何使用花指令?三、如何识别花指令?如何去除花指令?四、一些典型的花指令实例什么是花指令?当然不是"flower code",呵呵,实际上,把它按照“乱指令”来理解可...

weixin_33725515的博客 229

android studio 2022打开了v1 签名但是生成的apk没有v1签名问题

我使用了Android Studio Flamingo | 2022.2.1 Patch 2版本的IDE编译了一个apk,但是apksigner查看apk的签名信息时,发现只有v2签名,没有v1签名。试着改小一下minSdkVersion 为23重新编译apk,再检测一下签名版本v1居然打开了!参考网上搜索到的方法,手动在build.gradle里面添加。但是编译出来的apk还是只有v2的签名。里面提到了v1签名还和。

hedalei的博客 466

Re 花指令学习_dejunk 花指令

jnz实际上是fake的,因为jz这个指令,让ida认为jz下面的是另外一个分支,所以这里去除,就是将jnz下面包括jnz 全c了,然后把loc_402669+1的字节码全给nop了这种混淆去除方式也很简单,特征也很明显,因为是近跳转,所以ida分析的时候会分析出jz或者jnz会跳转几个字节,这个时候我们就可得到垃圾数据的长度,将该长度字节的数据全部nop掉即可解混淆。

2401_87034544的博客 1234

Windows系统下载安装 Git 的详细教程

本文详细介绍了Windows系统下载安装Git的完整流程,包括从Git官方网站和阿里镜像下载安装包,逐步讲解安装向导中的各个设置选项,如安装路径、默认编辑器、行尾转换、终端模拟器等,并提供了每个步骤的截图和说明。安装完成后,博客还介绍了如何验证安装是否成功,以及如何配置Git的用户名和邮箱,确保可以正常使用Git进行版本控制。

加斯顿工程师的博客 801

搞懂 SAPUI5 Fiori 应用的 OData 授权维护:从 IWSG、IWSV 到 S_SERVICE 的完整实践

本文探讨了SAP Fiori项目中常见的授权问题及其解决方案。文章指出,开发人员常误将OData服务访问问题归咎于前端代码或配置,而实际上多因授权默认值未正确带入角色所致。详细分析了IWSG(前端服务组元数据)和IWSV(后端业务服务)两个关键对象的作用机制,强调应通过PFCG角色的Authorization Default入口维护服务对象,而非直接修改S_SERVICE授权对象。文章还提供了前后端授权配置的具体操作步骤,并特别提醒需同时配置前端和后端授权,才能确保应用完整可用性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 206

花指令入门

2.永恒跳转类型(通过对寄存器的精通使用,就可以使用对应的跳转指令来构造永恒跳转;这些花指令,都是入门级别的,要熟练的掌握,最好能做到,在做题时能一眼发现它是花指令,然后就简单的nop指令就能 去除然后就行了。这个是一个ida idc程序,如果你知道了起始地址与终止地址就可以轻松将花指令给nop掉。这一类的花指令,单靠记忆是无法直接解决的,需要我们进行做题积累经验,从而自己解决问题。花指令就是类似的垃圾指令,让我们的ida无法进行正常的反编译。二.进阶的花指令(这个就是以上三种指令的用相同的程序进行代换)

2403_88130183的博客 1014

Natural Language Processing

作者:禅与计算机程序设计艺术 1.简介 自然语言处理(NLP)是研究如何使计算机理解和处理自然语言的理论和方法,目的是让电脑更好的理解、获取、生成、存储和沟通人类语言。20世纪80年代末,IBM的三位博士陈天奇、周博磊和王力雄在贝尔实验室创建了首个自然语言处理系统——“布莱克多·艾森豪威尔”(Bletc

AI天才研究院 724

花指令

本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载、复制、引用。但任何对本文的引用,均须注明本文的作者、出处以及本行声明信息。可能很多人都听说过花指令,但限于平时的开发所限,可能较少接触到。日前,跟同事讨论了一些有关花指令的问题,现将自己的体会总结一下。这篇文章将讨论以下问题:一、什么是花指令?它的原理是什么?二、在什么地方使用花指

大宝(sodme)的专栏 5389

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

花指令介绍

本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载、复制、引用。但任何对本文的引用,均须注明本文的作者、出处以及本行声明信息。可能很多人都听说过花指令,但限于平时的开发所限,可能较少接触到。日前,跟同事讨论了一些有关花指令的问题,现将自己的体会总结一下。这篇文章将讨论以下问题:一、什么是花指令?它的原理是什么?二、在什么

学习随笔 1056

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

花指令简析

几种花指令简析一、花指令1(一)反汇编代码比对(二)去花1.手动改字节2.IDC去花 本篇博客我们将给用下面源代码编译出的程序加不同的花指令来分析,并学习如何去除花指令 //实现求n的m次方 #include<stdio.h> #include<windows.h> int main() { MessageBox(NULL, "未加花指令", "YQC", 0); int n, m, result=1; printf("请输入n和m:\n"); scanf_s("%d%d"

m0_46296905的博客 4956

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

花指令如何用c语言编写,逆向学习笔记之花指令

概念花指令是企图隐藏掉不想被逆向工程的代码块(或其它功能)的一种方法,在真实代码中插入一些垃圾代码的同时还保证原有程序的正确执行,而程序无法很好地反编译, 难以理解程序内容,达到混淆视听的效果。简单的说就是在代码中混入一些垃圾数据阻碍你的静态分析。花指令分类花指令大致可以分为可执行花指令和不可执行花指令两类:可执行花指令可执行花指令指的是这部分花指令代码在程序的正常执行过程中会被执行但执行这些代码...

weixin_39880301的博客 1297

[转载]花指令

[转载]花指令原始链接:http://blog.youkuaiyun.com/zran/archive/2006/03/19/628771.aspx本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载、复制、引用。但任何对本文的引用,均须注明本文的作者、出处以及本行声明信息。可能很多人都听说过花指令,但限于平时的开发所限,可能较少接触到。日前,跟

ZibbaForever的专栏 636
上一篇: 修改一个结束进程的程序
下一篇: Ring3下Inline Hook MessageBox
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值