当前位置: 首页 > news >正文

漯河市建设监理协会网站外贸展示型网站建设公司

漯河市建设监理协会网站,外贸展示型网站建设公司,揭阳高端品牌网站建设,南京app软件开发基础知识: 想要破解软件,需要一些基础知识: 文件格式:Windows对应PE、Linux对应ELF、IOS对应Mash-0。文件格式是指操作系统规定的每个段(代码段、数据段、堆、栈)的大小、顺序等信息。 汇编语言&#xff1…

基础知识:

想要破解软件,需要一些基础知识:
文件格式:Windows对应PE、Linux对应ELF、IOS对应Mash-0。文件格式是指操作系统规定的每个段(代码段、数据段、堆、栈)的大小、顺序等信息。
汇编语言:需要知道简单的x86、 x64汇编
工具:Ollydbg、CE等
Windows API:会开发才会知道怎么逆向

所需工具链接:https://pan.baidu.com/s/1n5J0jSlhM-u9f3QIdw3m3Q?pwd=d3sv

Ollydbg简单案例

在链接中有一个CrackMe.exe文件,运行它提示输入序列号:
在这里插入图片描述
要求:找出正确的序列号,或者不知道序列号也可以通过验证。
分析:一个exe的所有代码都在里面(如果不需要动态链接库dll),我们可以通过工具(Ollydbg)查看它的汇编代码,并且分析判断序列号的代码,然后进行修改源代码,从而达到要求。
其中CrackMe.exe文件里面都是二进制代码,很难分析(需要文件格式知识),可以通过Ollydbg工具自动分析出汇编代码(在同一架构的CPU汇编代码和机器码一一对应),从而轻易知道各个段在哪(代码段对于破解最重要,并且一旦编译完成,代码段和数据段地址是固定的,堆区和栈区是运行时才分配的,它们的地址不固定)。

Ollydbg简单应用
运行Ollydbg:
在这里插入图片描述
将CrackMe.exe软件拖入Ollydbg(将exe文件代码通过Ollydbg从硬盘加载到内存):

在这里插入图片描述
因为代码比较短,可以很容易定位到序列号的部分(如果代码很长就需要打断点判断):
在这里插入图片描述jnz是一个跳转指令,可以大概猜到程序员当时应该用的if-else类似的语句。很容易看到jnz上两句入栈了两个数,然后调用了一个函数(Ollydbg帮我们分析出了这个函数叫"lstrcmpA",系统函数就可以分析出对应的文件名),我们在这个函数打上一个断点(F2),并运行:
在这里插入图片描述
然后随便输入一个序列号,点Check,此时Ollydbg就会暂停:
在这里插入图片描述
发现String1是我们输入的序列,String2就是正确的序列号。(要求1完成)

假如不进行跳转语句,那么就不会进入匹配失败的代码。只需要在跳转语句处右键-》二进制-》用NOP填充(汇编说明都不操作的指令)。NOP占用1个字节,所以自动使用两个进行替换,这样不会改变程序其他部分。
这时候我们再运行任何序列号都成功了:
在这里插入图片描述

然后可以保存修改后的程序,右键-》复制到可执行文件-》所有修改-》全部复制,然后会多出一个exe文件(修改源代码后的),然后右键保存为CrackMe-破解版就行了:

在这里插入图片描述
在这里插入图片描述
破解版直接运行就不用输入正确的序列号了(要求二完成)

2.CE简单使用

CE则侧重于实时修改内存数据以影响程序行为,有时候我们只希望找到某个变量的内存地址,而不管代码怎么编写的,这时候用CE就比较合适。
下面就植物大战僵尸这个游戏来介绍,下载链接:https://pan.baidu.com/s/1maefowdbE7fI4TUn4a2x3g?pwd=caad

先打开游戏,进入关卡:
在这里插入图片描述
然后打开CE软件,选择植物大战僵尸进程(CE就可以操作这个游戏了):
在这里插入图片描述
下图是CE的界面简单介绍
在这里插入图片描述

  1. 寻找阳光的地址
    然后假如要找阳光的地址(有了某个数据的地址,我们修改地址对应的值就可以修改数据了),已知现在阳关是150(一般整数用int存),然后首次搜素int为150的值:

    在这里插入图片描述
    总共进程找到75个int类型150的数据,现在不能判断到底是哪一个,需要缩小范围(改变值),可以种一个植物,变为50了:
    在这里插入图片描述

    在这里插入图片描述
    这个地址就是阳关的地址(大部分的时候不能缩小到一个,需要再次验证),然后去操作这个数:
    在这里插入图片描述
    双击修改为999,然后进游戏发现就改变了:
    在这里插入图片描述
    为了验证这个阳关地址是固定的还是每次重玩随机的,可以关掉游戏再次寻找,然后发现这次阳关地址为:
    在这里插入图片描述
    发现不是固定的,由此可以推断他是一个局部变量,并且不是指针:

    int SumValue = 50;
    

    后面会出一起CE操作自己写的控制台程序,加深对指针有更好的理解。

  2. 寻找僵尸血量,od修改血量代码达到秒杀僵尸
    我们先分析一下僵尸血量的代码:

    Zoombie zoombie;  //僵尸对象
    zoombie.life -= 10;   //僵尸血量减少,10可能是某个植物的攻击力
    

    如果我们将生命改成0就能实现秒杀僵尸的效果:

    zoombie.life = 0;
    

    因此步骤:先找到僵尸血量的地址,然后通过这个地址找到什么代码修改了这个地址,修改这个代码就可以实现秒杀僵尸的效果。等僵尸出来(如果没出来可能还没有new出来),选择“未知的值”(结果有特别多):
    在这里插入图片描述
    然后马上再次使用”未变动的数值“扫描”(可以多次):
    在这里插入图片描述
    种上植物,减少僵尸血量,然后使用“减少”的数值再次扫描:
    在这里插入图片描述
    就这样交替扫描,可以筛掉很多不相关的地址(可以加入比10000小的范围,因为一般血量就不会很大):
    在这里插入图片描述
    一般血量可以被10整除,大概率就是150那个,这时候可以右键点击“Find out what writes to the address”,结果如下:
    在这里插入图片描述

    00531313 - 89 44 24 1C  - mov [esp+1C],eax
    00531317 - 8B C5  - mov eax,ebp
    00531319 - 89 BD C8000000  - mov [ebp+000000C8],edi <<
    0053131F - E8 ECC3FFFF - call PlantsVsZombies.exe+12D710
    00531324 - 8B D8  - mov ebx,eax

    接下来分析代码,"[]"里面的内容表示是一个地址,这个地址是ebp寄存器+0xC8,并且这个地址就是这个僵尸血量的地址。这句代码意思:将edi寄存器的值赋给ebp+0xC8所指向的地址。
    我们先在CE里修改为一个很大的数(不要超过int取值范围),然后再游戏就发现僵尸好像死不了了。
    我们再从借助Ollydbg分析源代码。按Ctrl+G然后输入地址00531319 :
    在这里插入图片描述
    假如直接将00531319 地址处的代码改为:

    mov [ebp+000000C8],0
    

    这样的汇编代码会比原来的长(如果更短可以用NOP填充),这样会修改下面的代码,不可行。
    所以再在上面找一下哪里可以修改edi的代码,把它改为0就可以了。发现上面三行的代码:

    0053130F      2B7C24 20     sub edi,dword ptr ss:[esp+0x20]
    

    用edi寄存器减去了esp+0x20所指向地址的值作为edi的值,改为下面汇编代码就可以将edi的值变为0:

    0053130F      2B7C24 20     sub edi,edi
    

    在这里插入图片描述
    这句汇编指令字节数更少,不影响程序运行。
    然后右键保存更改后的代码,这样秒杀僵尸的破解版就成功了。

http://www.yayakq.cn/news/648484/

相关文章:

  • 笑话类网站 源代码蓝色网站模版
  • 成都网站建设开发网站建设三网合一指的是什么
  • 广州专业的网站开发公司网站的备案号查询
  • 在常熟市公司网站建设哪家好一个不懂技术的人如何做网站
  • 阳泉购物网站开发设计跑业务怎么找客户
  • 网站编辑器哪个好用免费发布产品的网站
  • 网站是做响应式还是自适应的好wordpress 混合移动app
  • 祥云网站建设专业做招聘的网站
  • 云南公司网站建设企业网站 域名注册
  • 微信公众号是在哪个网站做的网店培训教程
  • 沙河企业做网站辽宁住房和城乡建设部网站
  • 广州营销型网站优化公众号注册流程
  • 站长之家seo查找保险网站有哪些
  • 手机端网站开发技术wordpress 搜索 下一个
  • 网站建设销售客户疑问萝岗移动网站建设
  • 手机端网站加盟wordpress微信投票
  • 网站建设徐州企业网站模板下载安装
  • 企必搜做网站买一台服务器需要多少钱
  • 深圳o2o网站建设用discuz建设企业网站
  • 可否用nas做网站自己建设网站的费用
  • 免费的推广网站有哪些企业网站的建立步骤
  • 外贸做网站推广wordpress版5.2
  • 网站长图怎么做广告设计与制作专升本考试科目
  • 网站建设开发服务费记账wordpress博客个人主页
  • 宁波网站优化公司软件wordpress 提权
  • 浙江邮电工程建设有限公司网站惠民建设局网站
  • 怎样建设网站呢如何实现企业网站推广的系统性
  • 兰州市做网站建设的公司龙岩网吧
  • 兼职 做网站手机网站 触屏
  • 聊城网站建设售后服务网站制作公司资质