OllyDbg 使用注意事项 (十)
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 使用注意事项 (十)相关推荐
- OllyDbg 使用笔记 (十二)
OllyDbg 使用笔记 (十二) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 演示样例程序下载地址:http://pan.baidu.com/s/1eQiV6aI 安装好程序 ...
- OllyDbg 使用笔记 (十六)
OllyDbg 使用笔记 (十六) 参考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 示例程序下载地址:http://pan.baidu.com/s/1qWDJyiw Resourc ...
- swift 注意事项 (十六) —— 可选链
可选链(Optional Chaining) 我们都知道"可选型"是什么.那么可选链又是什么,举个样例解释一下: struct MyName{ var name } struct ...
- mysql 5.5 主从同步问题_MySQL 5.5 主从复制异步、半同步以及注意事项详解
大纲 一.前言 二.Mysql 基础知识 三.Mysql 复制(Replication) 四.Mysql 复制(Replication)类型 五.Mysql 主从复制基本步骤 六.Mysql 主从复制 ...
- MySQL 5.5 主从复制异步、半同步以及注意事项详解
大纲 一.前言 二.Mysql 基础知识 三.Mysql 复制(Replication) 四.Mysql 复制(Replication)类型 五.Mysql 主从复制基本步骤 六.Mysql 主从复制 ...
- java struts2 框架 入门简介
目录 一.Struts2框架执行流程 二.Struts2的快速入门 1.导入jar包 2.配置web.xml文件 3.配置struts.xml文件 4.创建Action来完成逻辑操作 三.Struts ...
- 智能体重秤方案/案列/APP/小程序
现代人的生活节奏快.饮食不规律的特点让不少人的体重容易飙升,尤其是妹子稍不注意就会变胖,减肥成了不少人的一件大事.工欲善其事必先利其器,要减肥自然也要有好搭档:只能简单显示体重的体重秤早已过时,能够测 ...
- 笔记存储仓库神器->印象笔记的使用方法
一.如何高效的编辑笔记 * 1.从别的地方copy过来的东西,系统会自动保存其地址栏(只会保存第一个),可以手动选择清除,同时,复制过来的东西保留了原有的格式,清除文本原有格式的快捷键:ctrl+sh ...
- 【Gin框架】框架入门
阅读目录 一.Gin 介绍 二.Gin 环境搭建 三.golang 程序的热加载 四.Gin 框架中的路由 4.1.路由概述 4.2.简单的路由配置 4.3.c.String().c.JSON().c ...
- web 前端学习线路图
web 前端学习线路图 一.HTML 教程 HTML教程 HTML简介 HTML编辑器 HTML基础 HTML元素 HTML属性 HTML标题 HTML段落 HTML样式 HTML格式化 HTML引用 ...
最新文章
- JVM 对象状态判断01
- Spark配置属性详解
- SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述
- 数据库日期时间显示在页面上格式错误的解决方案
- c程序设计语言 hello,Hello, World!
- 面试:MySQL InnoDB 事务隔离
- 数据库名,全局数据库名,SID区别及有感
- mysql面试通关宝典,你看你知道多少
- Windows10批处理文件中用regedit导入注册表文件失败的原因和解决办法
- iPhone5s 换电池、修右上角翘起的悲催过程
- websocket握手失败_WebSocket通信之握手协议
- 三苯基三甲基硫酸酯的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 运气和技术的另类平衡————对大逃杀及战棋类游戏大热的原因思考(正片)
- UVA 10115 Automatic Editing (字符串的替换和查找)
- 核磁共振成像读片指南(二)
- unity画一条流动的弧线(贝塞尔线)
- 幼儿园小朋友可以教创业者的事
- Yocto:将kernel, u-boot, atf单独建库编译摒弃掉打patch方式
- 1-VIV-Android控件之TextView
- 二进制八进制相互转换
热门文章
- PDF Converter OCR for Mac(pdf格式转换器及ocr识别工具)
- 苹果Mac Finder 替代工具:Path Finder
- 如何在Mac上使用Memoji贴纸、屏幕效果、应用程序和Messages
- Mac电脑上的Safari运行缓慢,卡的要死,该怎么解决?
- 读书笔记_Index
- HVM is required for this operation - Run Xen on Nested System
- AppSettings
- mac securecrt无法记住密码的解决方法
- B树与B+树 有动画
- 【个人笔记】rabbitMQ下Fanout与Topic两种模式同时用注意事项