OllyDbg 用笔记 (十)

參考

书:《加密与解密》

视频:小甲鱼 解密系列 视频

演示样例程序下载地址:http://pan.baidu.com/s/1kT1ce83

这个程序能够从标题栏的“ unregistered”入手,查找全部參考文本字串,搜索 “unregistered”

能够找到这段代码:

004046DD      90            nop
004046DE      90            nop
004046DF      90            nop
004046E0  /$  8A4424 04     mov     al, byte ptr [esp+4]
004046E4  |.  84C0          test    al, al
004046E6  |.  74 12         je      short 004046FA
004046E8  |.  A1 440A4300   mov     eax, dword ptr [430A44]
004046ED  |.  68 F09C4200   push    00429CF0                         ; /Text = "Flash Jigsaw Producer"
004046F2  |.  50            push    eax                              ; |hWnd => NULL
004046F3  |.  FF15 5C924200 call    dword ptr [<&USER32.SetWindowTex>; \SetWindowTextA
004046F9  |.  C3            retn
004046FA  |>  8B0D 440A4300 mov     ecx, dword ptr [430A44]
00404700  |.  68 C89C4200   push    00429CC8                         ; /Text = "Flash Jigsaw Producer (unregistered)"
00404705  |.  51            push    ecx                              ; |hWnd => NULL
00404706  |.  FF15 5C924200 call    dword ptr [<&USER32.SetWindowTex>; \SetWindowTextA
0040470C  \.  C3            retn
0040470D      90            nop
0040470E      90            nop

能够发现004046E0~0040470C 是一段函数。

我们能够发现je跳转比較关键,在这里能够先尝试让je不跳转。

可是这样仅仅能使标题中不会出现(unregistered),被屏蔽的功能还是不能使用。

直接改je跳转不行,我们能够看看引起je跳不跳转到al。al是call这个函数的參数,我们须要找到call这个函数的地方,查看al的变化。

在004046E0下断点。

又一次载入程序。按F9执行到断点处。

能够在信息版本号中看到调用这个函数的地址。

图片1

选中右键就可以跳到call的地址。

想要找出call这个函数的地址,还能够选中004046E0,右键--〉查找參考--〉选定命令,就可以看到call这个函数的地址。

图片2

我们能够看到,有两地方call这个函数,在这两个地方都下断点。又一次载入程序,按F9执行到第一个调用函数的命令。

004047AB  |.  68 60034300   push    00430360                         ; /IniFileName = "C:\Users\vbox32\AppData\Local\YavSoft\fjproducer\startup.ini"
004047B0  |.  6A 28         push    28                               ; |BufSize = 28 (40.)
004047B2  |.  68 34034300   push    00430334                         ; |ReturnBuffer = fjproduc.00430334
004047B7  |.  68 089D4200   push    00429D08                         ; |Default = "<-No Pass->"
004047BC  |.  51            push    ecx                              ; |Key => "Password"
004047BD  |.  68 149D4200   push    00429D14                         ; |Section = "Registration"
004047C2  |.  FF15 68904200 call    dword ptr [<&KERNEL32.GetPrivate>; \GetPrivateProfileStringA
004047C8  |.  68 34034300   push    00430334                         ;  ASCII "<No Pass>"
004047CD  |.  E8 6EFEFFFF   call    00404640
004047D2  |.  50            push    eax
004047D3  |.  E8 08FFFFFF   call    004046E0
004047D8  |.  83C4 08       add     esp, 8
004047DB  |.  5E            pop     esi
004047DC  |.  83C4 28       add     esp, 28
004047DF  \.  C3            retn

我们能够发现改变al的是call 004046E0。在它上面下断点。进入这个函数,能够发现这个函数是计算密钥对不正确的函数。

00404640  /$  83EC 2C       sub     esp, 2C
00404643  |.  56            push    esi
00404644  |.  8B7424 34     mov     esi, dword ptr [esp+34]
00404648  |.  8BC6          mov     eax, esi
0040464A  |.  8D50 01       lea     edx, dword ptr [eax+1]
0040464D  |.  8D49 00       lea     ecx, dword ptr [ecx]
00404650  |>  8A08          /mov     cl, byte ptr [eax]
00404652  |.  40            |inc     eax
00404653  |.  84C9          |test    cl, cl
00404655  |.^ 75 F9         \jnz     short 00404650
00404657  |.  2BC2          sub     eax, edx
00404659  |.  83F8 04       cmp     eax, 4
0040465C  |.  73 07         jnb     short 00404665
0040465E      32C0          xor     al, al
00404660  |.  5E            pop     esi
00404661  |.  83C4 2C       add     esp, 2C
00404664  |.  C3            retn
00404665  |>  6A 03         push    3
00404667  |.  68 C49C4200   push    00429CC4                         ;  ASCII "fjr"
0040466C  |.  56            push    esi
0040466D  |.  E8 6EAA0100   call    0041F0E0
00404672  |.  83C4 0C       add     esp, 0C
00404675  |.  85C0          test    eax, eax
00404677  |.^ 75 E5         jnz     short 0040465E

F8单步执行。能够发现是xor al,al 把al变成0的。能够把xor al,al  改成mov  al,1。

在执行,能够发被屏蔽的功能已经能够用了。

版权声明:本文博主原创文章。博客,未经同意不得转载。

转载于:https://www.cnblogs.com/zfyouxi/p/4870620.html

OllyDbg 使用注意事项 (十)相关推荐

  1. OllyDbg 使用笔记 (十二)

    OllyDbg 使用笔记 (十二) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1eQiV6aI 安装好程序 ...

  2. OllyDbg 使用笔记 (十六)

    OllyDbg 使用笔记 (十六) 参考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 示例程序下载地址:http://pan.baidu.com/s/1qWDJyiw Resourc ...

  3. swift 注意事项 (十六) —— 可选链

    可选链(Optional Chaining) 我们都知道"可选型"是什么.那么可选链又是什么,举个样例解释一下: struct MyName{ var name } struct ...

  4. mysql 5.5 主从同步问题_MySQL 5.5 主从复制异步、半同步以及注意事项详解

    大纲 一.前言 二.Mysql 基础知识 三.Mysql 复制(Replication) 四.Mysql 复制(Replication)类型 五.Mysql 主从复制基本步骤 六.Mysql 主从复制 ...

  5. MySQL 5.5 主从复制异步、半同步以及注意事项详解

    大纲 一.前言 二.Mysql 基础知识 三.Mysql 复制(Replication) 四.Mysql 复制(Replication)类型 五.Mysql 主从复制基本步骤 六.Mysql 主从复制 ...

  6. java struts2 框架 入门简介

    目录 一.Struts2框架执行流程 二.Struts2的快速入门 1.导入jar包 2.配置web.xml文件 3.配置struts.xml文件 4.创建Action来完成逻辑操作 三.Struts ...

  7. 智能体重秤方案/案列/APP/小程序

    现代人的生活节奏快.饮食不规律的特点让不少人的体重容易飙升,尤其是妹子稍不注意就会变胖,减肥成了不少人的一件大事.工欲善其事必先利其器,要减肥自然也要有好搭档:只能简单显示体重的体重秤早已过时,能够测 ...

  8. 笔记存储仓库神器->印象笔记的使用方法

    一.如何高效的编辑笔记 * 1.从别的地方copy过来的东西,系统会自动保存其地址栏(只会保存第一个),可以手动选择清除,同时,复制过来的东西保留了原有的格式,清除文本原有格式的快捷键:ctrl+sh ...

  9. 【Gin框架】框架入门

    阅读目录 一.Gin 介绍 二.Gin 环境搭建 三.golang 程序的热加载 四.Gin 框架中的路由 4.1.路由概述 4.2.简单的路由配置 4.3.c.String().c.JSON().c ...

  10. web 前端学习线路图

    web 前端学习线路图 一.HTML 教程 HTML教程 HTML简介 HTML编辑器 HTML基础 HTML元素 HTML属性 HTML标题 HTML段落 HTML样式 HTML格式化 HTML引用 ...

最新文章

  1. JVM 对象状态判断01
  2. Spark配置属性详解
  3. SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述
  4. 数据库日期时间显示在页面上格式错误的解决方案
  5. c程序设计语言 hello,Hello, World!
  6. 面试:MySQL InnoDB 事务隔离
  7. 数据库名,全局数据库名,SID区别及有感
  8. mysql面试通关宝典,你看你知道多少
  9. Windows10批处理文件中用regedit导入注册表文件失败的原因和解决办法
  10. iPhone5s 换电池、修右上角翘起的悲催过程
  11. websocket握手失败_WebSocket通信之握手协议
  12. 三苯基三甲基硫酸酯的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. 运气和技术的另类平衡————对大逃杀及战棋类游戏大热的原因思考(正片)
  14. UVA 10115 Automatic Editing (字符串的替换和查找)
  15. 核磁共振成像读片指南(二)
  16. unity画一条流动的弧线(贝塞尔线)
  17. 幼儿园小朋友可以教创业者的事
  18. Yocto:将kernel, u-boot, atf单独建库编译摒弃掉打patch方式
  19. 1-VIV-Android控件之TextView
  20. 二进制八进制相互转换

热门文章

  1. PDF Converter OCR for Mac(pdf格式转换器及ocr识别工具)
  2. 苹果Mac Finder 替代工具:Path Finder
  3. 如何在Mac上使用Memoji贴纸、屏幕效果、应用程序和Messages
  4. Mac电脑上的Safari运行缓慢,卡的要死,该怎么解决?
  5. 读书笔记_Index
  6. HVM is required for this operation - Run Xen on Nested System
  7. AppSettings
  8. mac securecrt无法记住密码的解决方法
  9. B树与B+树 有动画
  10. 【个人笔记】rabbitMQ下Fanout与Topic两种模式同时用注意事项