快速定位关键爆破点的几种方法
crackme程序名叫 Acid burn.exe,这是NCK破解第二课的课后练习题。
API断点法:
GetMessageBoxA下断,然后跟到上层函数,运行到返回
跟到 42FB1D 可以看到上面不远处42FB03 有一个if else 将它nop掉或者改成je
这个jne上面有一个函数调用,可能是检测密码的,改成je或nop后,密码错误会进入正确的执行流程
再往上 42FA52 可能是检测用户名长度的函数,经测试,长度<4直接打印密码错,修改下面的JCC,改成JMP,即完成破解。
关卡2方法类似,修改 0042F4D5 改成NOP即完成破解
字符串查找法:
搜索字符串,除了提示信息外,还找到了一些奇怪的东西,经测试就是密码
Hello Dude!
字符串交叉搜索:
使用ida搜字符串,如果要搜索中文字符串,则要加上 -dCULTURE=all 参数
搜索到之后,点X交叉引用,得到地址,再去OD里面跟就行了。
ALT+K暂停法(调用堆栈法):
弹出对话框后,点暂停,然后按K转到调用堆栈视图,可以找到MessageBoxA。
后面的步骤和前面的方法一样。往上跟就能找到关键判断点。
访问断点法:
在OD里搜字符串可能搜不到,但是在内存视图里就可能会搜到。弹出提示错误信息后,记下字符串
按M转到内存视图,搜索字符串,就能搜到“注册失败”字样,然后点击内存访问断点,就能找到MessageBoxA。
硬件访问字节断点也可以。
如果没断下来,说明是OD插件导致的,换成x32dbg试试。
自动跟踪法(控制台程序找入口点):
假设主函数内有阻塞,可以这样找主函数:自动步过,直到在某个函数卡住,然后进入该函数,继续自动步过,如此反复,即可找到主函数。
快速定位关键爆破点的几种方法相关推荐
- 安卓逆向_7 --- 六种快速定位关键 Smali 代码的方法 ( 去掉 RE 广告 )
哔哩哔哩:https://www.bilibili.com/video/BV1UE411A7rW?p=34 具体用法,看视频教程( 去掉 RE 的 结束广告 ) 6 种定位关键代码的方法,当然还有其他 ...
- 修改mysql数据库名方法_安全快速修改Mysql数据库名的5种方法
1. RENAME DATABASE db_name TO new_db_name 这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了. 据说有可能丢失数据.还是不要用的好 ...
- 如何快速掌握计算机知识,怎样快速学会电脑 学电脑的5种方法推荐
电脑已成为人们日常办公生活娱乐必不可少的工具,现在每个人都了解点电脑知识,都要会点电脑的基本应用,那么如果对于一个电脑新手来说,怎样快速学会电脑呢,下面小编就给大家介绍下学会电脑的5种方法吧. 怎样快 ...
- [转]快速清除SQL Server日志的两种方法
日志文件满而造成SQL数据库无法写入文件时,可用两种方法: 第一种方法:清空日志. 1.打开查询分析器,输入命令 以下是引用片段: DUMP TRANSACTION 数据库名 WITH NO_LOG ...
- 单元格等于计算机日期,Excel相邻单元格快速填入相同日期的几种方法
Excel中要在相邻单元格中输入相同的日期数据,虽然方法多多,但究竟哪种方法最方便呢?下面我就给大家一一列举一下,哪种最方便您就自己下结论吧. 1.地球人都知道的复制粘贴大法: 在一个单元格中输入完日 ...
- 怎么快速学计算机,怎样快速学会电脑 学电脑的5种方法推荐
怎样快速学会电脑一:学习电脑前需确定一个目标 有关电脑的知识有许多方面,都有其特点,比如硬件维修.电脑编程.电脑办公.电脑制图.网页制作等.对一般用户来讲,学好其中的一种就可以使你成为电脑高手,但是却 ...
- 快速安装Windows XP系统的一种方法
本篇写给菜鸟级别的人学习一下,老鸟级别的请纯属路过哈,安装系统的方法可谓多种方法,觉得哪种快速方便就用哪种,这里我介绍一种个人总结的方法分享一下.虽然一代经典的XP系统已完成它神圣的使命即将退出历史的 ...
- 桃花院长:如何快速找对象? 告诉你11种方法
读书的时候,父母叫我们认真读书,暂时不要谈恋爱,不要影响学习,等大学毕业后了想怎么找就怎么找. 桃花院长跟你说:说得好像男(女)朋友和毕业证书一起发放一样 毕业了父母催谈恋爱,催结婚,催生娃.可是都之 ...
- mysql 5.5.修改库名_安全快速修改Mysql数据库名的5种方法
1. RENAME DATABASE db_name TO new_db_name 这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了. 据说有可能丢失数据.还是不要用的好 ...
最新文章
- 练习用基础SQL语句
- jQuery 超屏加载
- Cell子刊:特异靶向病原菌致病力的植物天然产物的作用机制
- C# 从不是创建控件 的线程访问它
- python在中小学教学中的应用-小学信息技术教学中进行Python 编程语言教学的策略...
- 基于Java语言构建区块链(五)—— 地址(钱包)
- [c语言 ] 用libev 写个echo服务器
- 网页Request Headers请求头和Response Headers响应头
- js浏览器回到顶部方法_基于JS实现回到页面顶部的五种写法(从实现到增强)
- Cordova webapp实战开发:(2)认识一下Cordova
- mtl库在GCC编译器下的使用
- word文字覆盖问题
- 在vue中实现锚点定位功能
- hsqldb mysql_安装HSQLDB
- nrf52840合成4合1烧录文件
- 计算机硬件对于工作的重要性,计算机硬件日常维护的重要性
- 苹果手机备忘录html转pdf,苹果手机自带的扫描仪,一键便能转成PDF文件,你不会才知道吧...
- 基于微信云开发的商家转账至零钱
- ftp服务器匿名用户文件夹,ftp服务器匿名用户文件夹
- 关于CAN和CANFD物理层和数据链路层的对比分析
热门文章
- java web视频_超全面的JavaWeb视频教程
- Python语言编程学习:文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码
- Python:python语言中与时间有关的库函数简介、安装、使用方法之详细攻略
- 成功解决AttributeError: module 'tensorflow.nn.rnn_cell' has no attribute 'linear'
- ML之FE:数据处理—特征工程之特征选择常用方法之基于搜索策略的三种分类、基于评价准则划分的三种分类(Filter/Wrapper/Embedded)及其代码实现
- 成功解决NameError: name 'apply' is not defined
- Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合
- 盘点selenium phantomJS使用的坑
- JAVA_OA管理系统(三):Spring参数注入
- 【转载】OI生涯结束……在逸夫楼那些的日子里