0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

逆向分析010 editor

jf_vLt34KHi 来源:Tide安全团队 作者:Tide安全团队 2022-11-23 17:10 次阅读

逆向分析010 editor

0x01 什么是010 editor

010 Editor 是一款专业的文本编辑器和十六进制编辑器,旨在快速轻松地编辑计算机上任何文件的内容。该软件可以编辑文本文件,包括 Unicode 文件、批处理文件、C/C++、XML 等,但 010 Editor 擅长的地方在于编辑二进制文件。二进制文件是计算机可读但人类不可读的文件(如果在文本编辑器中打开,二进制文件将显示为乱码)。十六进制编辑器是一个程序,允许您查看和编辑二进制文件的各个字节,包括 010 编辑器在内的高级十六进制编辑器还允许您编辑硬盘驱动器、软盘驱动器、内存密钥、闪存驱动器、CD-ROM、 流程等。

0x02 OD暴力破解

在软件逆向破解的过程中,OD暴力破解是比较有效的方式,通过修改jcc指令或者nop掉一些跳转让程序按照正确的流程走下去。

主要流程大概是:1、寻找关键函数;2、分析整体流程;3、修改程序验证逻辑。

本次测试的010 editor版本为v13.0

61abcbbe-6b0e-11ed-8abf-dac502259ad0.png

首先查壳

61e0488a-6b0e-11ed-8abf-dac502259ad0.png

既然无壳那就直接上OD

首先我们要找到注册的函数,首次下载010 editor可以试用30天,点击注册按钮

61f9164e-6b0e-11ed-8abf-dac502259ad0.png

程序会让输入用户名和注册码,随便输入试试

62224c3a-6b0e-11ed-8abf-dac502259ad0.png

程序会提示无效的用户名和密码,可以根据程序提示的内容来找到对应的函数

通过OD的中文搜索引擎-智能搜索功能查找对应字符串

623afbb8-6b0e-11ed-8abf-dac502259ad0.png

找到对应的字符串,跟进函数

62a1701e-6b0e-11ed-8abf-dac502259ad0.png

跟进后可以看到,程序执行到输出无效的用户名和密码处,是通过一个跳转到该位置的,继续往上跟看看是那个地方跳转

62cb355c-6b0e-11ed-8abf-dac502259ad0.png

发现是从0x0144B62A位置处跳转过来的,这样的话是否可以直接修改jcc执行来让程序不跳转呢

62e3f9ca-6b0e-11ed-8abf-dac502259ad0.png

改成je试下,改成je后发现不对,程序会执行到0x0144B6C6的位置,提示Password accepted but the trial period is already over,那么就继续往上跟踪

在跳转前边有三个cmp指令,其中0x0144B60D是从0x0144B4E2处跳转来的

62fabb06-6b0e-11ed-8abf-dac502259ad0.png

在0x0144B4E2处下断点调试一下

631c4a82-6b0e-11ed-8abf-dac502259ad0.png

在这里发现0x0144B51D的位置会输出Password accepted,所以这里把jnz改成je或者nop掉就可以了

633ee8da-6b0e-11ed-8abf-dac502259ad0.png

6363f5ee-6b0e-11ed-8abf-dac502259ad0.png

保存出来看一下

6376223c-6b0e-11ed-8abf-dac502259ad0.png

可以看到输入任意的内容已经激活成功,但是这样的话每次打开都需要点击一下check license,那么继续看看能不能让程序直接打开。

首先来梳理一下正常的逻辑程序是怎么运行的:首先在0x0030B3FC的位置处EAX和0xE7进行比较,此时EAX的值为0xE7,所以je跳转成立,程序运行到0x0030B4DC处,cmp ebx,0xDB,这时候EBX的值为0x177,jnz不等于则跳转,所以此时跳转成立,跳转到0x0030B60D的位置处,这个时候程序已经跳过了验证成功的地方,继续执行,有三个cmp语句后跟jcc跳转指令,cmp ebx,0xED和cmp ebx,0x20C,这时EBX的值还是0x177,所以两个je都没有跳转,运行到第三个cmp指令cmp eax,0x93的位置,EAX此时的值为0xE7,这里是jnz指令所以跳转成功,跳转到0x0030B6E8的位置,输出无效的用户名密码,验证函数到此结束。

通过上面的分析当EBX等于0xDB的时候程序才会走到验证成功的位置,也就是说想要程序不每次运行都弹验证框,需要直接将0xDB赋给EBX

63a242b8-6b0e-11ed-8abf-dac502259ad0.png

返回到0x0030B3FC的位置继续往上跟踪可以看到EBX的值就是EAX的值,所以需要将0xDB赋给EAX,那么需要继续跟踪看看EAX的值是谁赋给的,在0x0030B3E9的位置处下断点,F8执行,发现在执行call 0x0013808A的时候EAX的值发生了变化,所以直接跟进call里面

63c04f56-6b0e-11ed-8abf-dac502259ad0.png

在开头直接给EAX赋值,mov eax,0x2d retn 0x8

最后把程序dump出来,发现程序直接打开就能使用了也不用每次都点击验证了。

63eb9b66-6b0e-11ed-8abf-dac502259ad0.png

0x03 总结

其实010 editor对于新手逆向来说还是挺友好的,没有加壳,然后整个函数的逻辑也算比较清晰,更改起来也很简单,以后有时间的还是要研究一下注册验证的算法,然后写个注册机出来。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编辑器
    +关注

    关注

    1

    文章

    787

    浏览量

    30160
  • 十六进制
    +关注

    关注

    2

    文章

    31

    浏览量

    36636
  • Editor
    +关注

    关注

    0

    文章

    19

    浏览量

    14062

原文标题:逆向分析010 editor

文章出处:【微信号:Tide安全团队,微信公众号:Tide安全团队】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [资料分享]+《Android软件安全与逆向分析

    `[资料分享]+《Android软件安全与逆向分析》一、看威武霸气的封面作者:丰生强 二、读读简介,看看适合你吗? 本书由浅入深、循序渐进地讲解了Android 系统的软件安全、逆向分析
    发表于 09-26 10:53

    芯片逆向工程的流程?

    对于半导体产业而言,逆向工程更一直是IC研发设计的主轴,可以协助IC设计公司在开发新产品所需的成本、工时、人力与技术作全面性的分析,并在电路提取上可针对有专利性的电路,经专利地图数据库分析比较以做好
    发表于 07-10 17:42

    浅析iOS应用逆向工程

    [笔记]iOS应用逆向工程 Part1 概念篇
    发表于 07-31 14:14

    芯片解密——逆向分析(上)

    `在IGBT的研究过程当中,逆向分析是一种非常重要的技术手段,拥有尖端的逆向分析实力会为企业带来巨大的进步和市场竞争力。芯片的逆向
    发表于 08-07 10:32

    iOS逆向工程概要

    iOS 逆向工程看书笔记day01
    发表于 08-12 06:28

    逆向工程及其在CAD软件中的实现

    目前,随着我国机械设计制造水平的提高,逆向工程技术在众多领域的应用日益广泛。本文阐述了逆向工程的基本概念,分析了坐标点采集,数据处理等关键技术,同时,论述了CAD
    发表于 09-11 16:37 8次下载

    E-Port JavaScript Editor 2.0

    E-Port JavaScript Editor 2.0 现在的3.0在原来的基础上:新增256色按钮;新增原码分析器不仅可以列出JS语言中的变量和函数还能自己监测物件类;单独ASP菜单和按钮;字典功能,
    发表于 04-02 15:06 6次下载

    Cadence 17.2 Pad Editor入门指南(1)[w

    Cadence 17.2 Pad Editor入门指南
    发表于 12-20 22:32 0次下载

    Wannacry的逆向分析及加密文件的解密

    Wannacry的逆向分析及加密文件的解密
    发表于 09-07 09:59 10次下载
    Wannacry的<b class='flag-5'>逆向</b><b class='flag-5'>分析</b>及加密文件的解密

    C语言的函数调用程序和函数逆向分析

    IDA可以很好地识别函数的起始位置和结束位置,如果在逆向分析的过程中发现有分析不准确的时候,可以通过Alt + P快捷键打开“Edit function”(编辑函数)对话框来调整函数的起始位置
    的头像 发表于 07-05 15:52 2730次阅读
    C语言的函数调用程序和函数<b class='flag-5'>逆向</b><b class='flag-5'>分析</b>

    trips-editor楼层的SVG编辑器

    ./oschina_soft/trips-editor.zip
    发表于 05-31 15:03 1次下载
    trips-<b class='flag-5'>editor</b>楼层的SVG编辑器

    基于frida的Objection对APP逆向过程的作用

    在APP的逆向过程中避免借助使用一些反汇编工具,动静态调试分析工具,自然也免不了和frida这个工具打交道,frida作为强大的逆向分析工具在攻防过程中具有不可撼动的地位。
    的头像 发表于 10-09 11:08 3147次阅读

    External Flash Definition Editor 用户手册

    External Flash Definition Editor 用户手册
    发表于 04-12 18:49 0次下载
    External Flash Definition <b class='flag-5'>Editor</b> 用户手册

    External Flash Definition Editor 用户手册

    External Flash Definition Editor 用户手册
    发表于 07-24 18:31 0次下载
    External Flash Definition <b class='flag-5'>Editor</b> 用户手册

    使用PSpice_Model_Editor建模.zip

    使用PSpice_Model_Editor建模
    发表于 12-30 09:21 14次下载