首页 > 编程语言 >64位程序分析爆破小试牛刀

64位程序分析爆破小试牛刀

时间:2024-01-13 22:37:18浏览次数:34  
标签:r14 爆破 49 ds 64 注册 跳转 byte 小试牛刀

因为现在很多程序都转向64位了,32位程序确实可以说是远古产物了,是时候淘汰了。因为平时只玩32位程序逆向分析,所以第一次接触x64dbg,觉得又熟悉又陌生,不好找程序练手,以下这篇逆向文章是参考别人的

Master PDF Editor 5.7.40 64位程序分析爆破
https://www.52pojie.cn/thread-1395935-1-1.html
(出处: 吾爱破解论坛)

好了,废话不多说,下面开整!!

 

X64dbg软件在吾爱破解的爱盘下载,下载地址:https://down.52pojie.cn/Tools/Debuggers/

几经辛苦才找到对应版本的Master PDF Editor,下载地址:https://wwxk.lanzouj.com/i8m0z1l032dg

 

搜索字符串“NOT REGISTERED”

选择第四条双击进入

我们向上找到段首,看下图:

 

 

接着右键→查找引用→选定的地址

 

双击第一个进入,这个call就是未注册函数,判断软件是否注册成功就在这里附近,我们先向上面找到段首,因为地址是动态地址,所以你可以参考我下图的偏移找到关键地址

 

 

我们可以在段首,动态调试分析,可以找到以下关键地方:

 

00007FF75A6A5B58 | 41:385E 49 | cmp byte ptr ds:[r14+49],bl | 此处为关键比较
00007FF75A6A5B5C | 75 42 | jne masterpdfeditor.7FF75A6A5BA0 | 跳转实现即注册成功,不跳转则注册失败

未注册时,经过运行分析此时bl=0,ds:[r14+49]=0,如果ds:[r14+49]=1,其下一行跳转实现,就会跳过调用未注册处理函数,即注册成功(这段话复制自吾爱文章,自己懒得再总结了。。。)

然后在cmp byte ptr ds:[r14+49],bl这句,右键→查找引用→常数

 

找到上图这句,双击进入

 

00007FF75A6A53E7 | E8 D4730000 | call masterpdfeditor.7FF75A6AC7C0 | 关键Call,使返回的al=1
00007FF75A6A53EC | 41:8846 49 | mov byte ptr ds:[r14+49],al | byte ptr ds:[r14+49]:"08lx\n"

这个call就是最终关键的函数,函数出来后,al赋值给[r14+49]这个变量,我们上面已经说过,这个变量等于1的话则注册成功,否则的话就是注册失败。

我们现在是进行爆破处理,所以进入这个关键call,找到下面这三个跳转,让它们跳转不实现就可以破解成功了。

将三个跳转nop填充

 

跑起软件后可以看到提示已注册。

 

至此教程就到这里结束!!

标签:r14,爆破,49,ds,64,注册,跳转,byte,小试牛刀
From: https://www.cnblogs.com/Sendige/p/17963116

相关文章

  • WebSocket-FLV H264/H265服务器基本实现
    场景HTTP-FLV:基于HTTP流式IO传输FLV,依赖浏览器支持播放FLV。但是由于同源的限制问题,浏览器只能播放六路视频,因此采用WebSocket-FLVWebSocket-FLV:基于WebSocket传输FLV,依赖浏览器支持播放FLV。WebSocket建立在HTTP之上,建立WebSocket连接前还要先建立HTTP连接。视频参数代码H264S......
  • 多项式定积分计算软件2025 64位WIN版下载Polynomial definite integral calculation s
    本软件功能强大,价格实惠,欢迎试用本软件的WIN64位版本。本软件能计算如a0+a1*x+a2*x^2+......+an*a^n的式子的对b1和b2的积分的结果。具体的方法就是在多多项式系数区输入a0到an的值,然后点击计算积分结果即可在结果栏算出结果。最大项数为1000项。多项式系数输入时1项1行,从上......
  • 2645. 构造有效字符串的最少插入数
    难度:中等给你一个字符串word,你可以向其中任何位置插入"a"、"b"或"c"任意次,返回使word有效需要插入的最少字母数。如果字符串可以由"abc"串联多次得到,则认为该字符串有效。示例1:输入:word="b"输出:2解释:在"b"之前插入"a",在"b"之后插入"c&qu......
  • P8649 [蓝桥杯 2017 省 B] k 倍区间
    注意要把map[0]设置为1,因为根据题意,长度为1的区间也要算进来 完整代码:#include<iostream>#include<map>#defineintlonglongusingnamespacestd;map<int,int>mp;//记录每个余数出现个数的数组signedmain(){intn,k,ans=0;cin>>n>>k;......
  • lc 2645. 构造有效字符串的最少插入数
    给你一个字符串word,你可以向其中任何位置插入"a"、"b"或"c"任意次,返回使word有效需要插入的最少字母数。如果字符串可以由"abc"串联多次得到,则认为该字符串有效。样例1输入:word="b"输出:2解释:在"b"之前插入"a",在"b"之后插入"c"可以得到有......
  • ImageClipboard js粘贴剪切板图片,已测试,可用,可获得base64
    ImageClipboardjs粘贴剪切板图片,已测试,可用,可获得base64具体用到自己项目的时候,拿源码改成自己的库,从写一遍3个小问题onpaste执行了两遍,一次是图片加载完成,一次是加载图片之前。按说应该搞两个事件来分别调用pasteCatcher应该是作为一个保底实现,我也没看明白是怎么获取剪......
  • ubuntu安装mysql8,debian安装mysql8,linux安装mysql8,x86_64架构,deb包
    作者主页:https://www.cnblogs.com/milkbox参考:修改大小写:MySQL8.0安装后更改不区分大小写!包你必生效!_mysql8.0不区分大小写-CSDN博客整个安装过程建议在root权限下进行。需要网络来下载相关依赖,如果你的系统已经存在相关以来,那么就可以离线安装。下载与解压去官网下载mys......
  • 基于centos 7 x86_64 安装playwright框架
    一.python3安装   playwright要求python版本必须是在3.8及以上,推荐安装3.8~3.9的版本,可以很大一部分工作量,因为python10(包括10)不在支持tls/ssl,在安装时必须自己单独安装openssl进行代替,而升级openssl需要先升级gccg++版本,然后搭建编译环境,最后生成openssl包,巨麻......
  • 【案例分析】如何实现高精度无线同步控制矿山爆破?
    随着现代社会工业化进程的不断加快,人们对于矿山开采的规模和速度要求越来越高。为了快速推进矿山的开采作业,人们对于炸药威力的要求越来越高。考虑到生产、运输和存储等各个方面的安全性以及国家有关方面的强制要求,雷管的火药填装量是有严格限制的,不允许随意加大。因此人们转而采用......
  • 世微AP3464同步降压恒压IC 4-30V2.4A输出车充专用驱动芯片
    AP3464是一款支持宽电压输入的同步降压电源管理芯片,输入电压4-30V范围内可实现2.4A的连续电流输出。通过调节FB端口的分压电阻,设定输出1.8V到28V的稳定电压。AP3464具有的恒压/恒流(CC/CV)特性。AP3464采用电流模式的环路控制原理,实现了快速的动态响应。A......