第一次使用OD和IDA动静结合找出软件的注册算法
大牛路过的时候除了拍砖外,还请多多指点
目标软件:PDF2TXT v3.2
下载地址: http://www.verypdf.com/app/pdf-to-txt-converter/index.html
1. OD载入目标软件后运行,弹出注册框
注册提示框.png (16.21 KB, 下载次数: 1)
下载附件 保存到相册
2015-3-20 11:52 上传
输入假码12345678901234567890后点OK提示错误
错误提示.png (23.13 KB, 下载次数: 2)
下载附件 保存到相册
2015-3-20 11:55 上传
这时选择F12暂停法(按OD中的暂停键,然后再点工具栏中的K快捷键,找到最下面的一个"调用来自",双击来到代码中),鼠标往上拉,看到下面的代码
F12暂停后.png (35.74 KB, 下载次数: 1)
下载附件 保存到相册
2015-3-20 12:01 上传
两条路线已经很明确了,所以这里是关键地方
1
2
3
4
|
100019D2 E8 99F7FFFF CALL 10001170 ; 关键call
100019D7 83C4 04 ADD ESP , 0x4
100019DA 85C0 TEST EAX , EAX
100019DC 74 39 JE SHORT 10001A17 ; verypdf.10001A17
|
在关键call处下好断点,重新载入软件就可以分析算法了,不过这回偷个懒,上利器 IDA ,通过上面的分析可以看到,算法在一个dll里,文件名叫verypdf.dll,结果是有壳啊,不会脱,直接 脱壳机搞一下,
IDA载入脱壳后的文件,直接shif+F12,来到字符串窗口,alt+T搜字符串"thanks",找到这个".data:100172F4 00000046 C Your registration key is wrong, please double check it and try again.",双击进入,交叉参考后来到代码处
ida文件.png (15.63 KB, 下载次数: 2)
下载附件 保存到相册
2015-3-20 13:10 上传
此是使用IDA强大的F5功能,得到代码
F5后.png (23.88 KB, 下载次数: 2)
下载附件 保存到相册
2015-3-21 10:55 上传
双击这个函数 sub_10001170进去看下算法验证,
IDA后的算法.png (21.74 KB, 下载次数: 2)
下载附件 保存到相册
2015-3-20 13:15 上传
可以跟OD中的代码比对一下,再次验证了F5的强大
OD1.png (36.35 KB, 下载次数: 2)
下载附件 保存到相册
2015-3-20 13:22 上传
OD2.png (21.17 KB, 下载次数: 1)
下载附件 保存到相册
2015-3-20 13:22 上传
注册成功后会生成PDF2TXT.DAT文件,可以下断点CreateFileA查看下,删除后可以继续玩,基本就是这样了,不会编程就是渣渣啊
第一次使用OD和IDA动静结合找出软件的注册算法相关推荐
- 挑战程序设计竞赛部分题目选择排序、二分查找找出下标、深度优先算法、求三角形max周长、蚂蚁算法、操作excel
首先提供帮助类 可能这个类还需要更新 .求最大值.求最小值.选择排序.二分查找找出下标.二分查找排好序列里面是否有那个值 public class Util {//求最大值public static ...
- hadoop找出QQ共同好友算法实现
背景 A:B,C,D,E,F 表示A有bcdef好友 B:C,D,H,Y 以上可知道AB的共同好友为CD 思路: 1:我们先找出一个人被哪几个人共同拥有 测试数据: 2:第一阶段mr程序: packa ...
- 华为od机考题目-幼儿园找出同班的小朋友(幼儿园分班)
幼儿园两个半的小朋哟排队的时候混合在一起了,每位小朋友都直到自己是否与前面的一位小朋友同伴,请你帮忙把同班的小朋友找出来 小朋友的编号是整数,与前一位同班用Y表示,不同班用N表示 准备两个列表分别保存 ...
- 快速找出数组中出现次数超过一半的数字
"只要不是特别大的内存开销,时间复杂度比较重要.因为改进时间复杂度对算法的要求更高." --吴斌(NVidia,Graphics Architect) 同样是查找,如果是顺序查找需 ...
- 怎样轻松找出4位数的所有“吸血鬼”数字,多种高效算法详解
关于吸血鬼数字算法问题,我也是读<java编程思想>中遇到的,觉得很有意思.于是,就去做了做.但因为我的粗心,读题的时候忽略了点问题,所以导致我的思路出现了岔口!(当时的思路就是想着把一个 ...
- python字符串面试题:找出一个字符串中第一个字母和最后一个字符是第一次重复,中间没有重复且最长的子串...
1.给出任意一个字符串,打印一个最长子串字符串及其长度,如果有相同长度的子字符串,都要一起打印出来,该子字符串满足以下条件, 第一个字母和最后一个字符是第一次重复 这个子字符串的中间字母没有重复 这个 ...
- 【华为OD机试真题 Java】找出通过车辆最多颜色 (A卷2022Q4)
前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于OD机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steven ...
- 【华为OD机试模拟题】用 C++ 实现 - 找出同班小朋友(2023.Q1)
最近更新的博客 [华为OD机试模拟题]用 C++ 实现 - 获得完美走位(2023.Q1) 文章目录 最近更新的博客 使用说明 找出同班小朋友 题目 输入 输出 示例一 输入 输出 说明 Code 使 ...
- 【满分】【华为OD机试真题2023 JAVAJS】找出通过车辆最多颜色
华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里 找出通过车辆最多颜色 知识点滑窗 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 在一个狭小的路口,每秒只能通过一辆车, ...
最新文章
- Redis亿级数据过滤和布隆过滤器
- 从程序员的角度分析微信小程序
- 微信小程序PHP文件建在哪里,微信小程序解析H5文件方法
- BZOJ 4710: [Jsoi2011]分特产
- 奇异递归模板模式(Curiously Recurring Template Pattern,CRTP)
- 使用一些可选的将字符串配置属性转换为其他类型
- JS 三级联动 下拉列表
- 郑杰 | 如何拿回我们自己的医疗数据?
- 【C++】C++类的学习(二)——构造函数、析构函数、拷贝构造函数以及this指针
- 阿里云物联网平台mqtt测试工具
- matlab模拟换热过程,第5章Hysys模拟换热过程.ppt
- wordpress媒体库增加分类和标签
- HLA RTI(Run-time Infrastructure)
- 公司邮箱域名可以定制吗?公司邮箱申请注册?公司邮箱登录入口?
- [概念]像素,分辨率
- Linux系统创建vlan教程,linux vlan配置详解
- android apk可安装成功但无法运行提示dex文件异常
- 什么软件可以搜python题_Python答题神器下载-Python百万答题软件 _5577安卓网
- Linux nginx 项目部署
- 防火墙虚拟化技术详解(上)