找关键CALL和关键跳

方法一:

输入假码注册程序,记录下错误提示信息。

OD载入程序-->

右键-->查找-->所有参考文本字串-->(右键-->查找文本,注:不要区分大小写,选择整个范围)找到上面记录的错误提示文本

或:右键-->超级字符串参考-->查找ASCII码/UNICODE->(右键-->查找文本,注:不要区分大小写,选择整个范围)找到上面记录的错误提示文本

-->双击进去,关键CALL和关键跳就在其上面附近。一般在其上有提示注册成功的文本信息,在成功和失败提示文本的上面有一个比较,比较下面有一个跳转。在比较的上面的第一个CALL就是关键CALL了。

方法二:

OD载入程序-->F9运行程序-->输入假码注册程序,确认,弹出错误提示框-->F12暂停程序运行--->ALT+K查看调用堆栈-->找到来自主程序的调用-->双击进去-->,关键CALL和关键跳就在其上面附近。一般在其上有提示注册成功的文本信息,在成功和失败提示文本的上面有一个比较,比较下面有一个跳转。在比较的上面的第一个CALL就是关键CALL了。

简单爆破方法:

方法一:修改关键CALL(通过修改寄存器的值达到控制关键跳实现与否)

找到关键CALL之后先在关键CALL上下个断点(其上附近亦可)-->重载程序-->F9运行程序-->输入假码,确认-->回到OD,则停留在我们上面下段的地方-->单步跟踪到关键CALL上F7步入-->在段首(跟进去所在的位置)写入mov eax,1(注:其中之所以要修改eax的值是由于影响关键跳的比较的寄存器为eax,通常都是eax。之所以修该为1,是为了转换关键跳的实现与否,如:默认eax为0,关键跳没实现,那么我没就把eax改为非零值即可),在下一行写retn X(X为该段尾返回的值,如果他没有返回我们也不返回任何值)-->保存修改-->OK

方法二:修改关键跳(直接不理会判断条件,强制改变其跳转状态)

该关键跳为相反状态(如:je-->jz, jnz-->jmp    等等)

为什么要修改EAX的值:

修改关键CALL:

破解之关键CALL与关键跳查找方法的更多相关文章

  1. 用Kotlin破解Android版微信小游戏-跳一跳

    前言 微信又更新了,从更新日志上来看,似乎只是一次不痛不痒的小更新.不过,很快就有人发现,原来微信这次搞了个大动作——在小程序里加入了小游戏.今天也是朋友圈被刷爆的缘故. 看到网上 有人弄了一个破解版 ...

  2. jQuery 的选择器常用的元素查找方法

    jQuery 的选择器常用的元素查找方法 基本选择器: $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myE ...

  3. C#中页面之间跳转方法比较

    一直以来,各种跳转方法混用,浑浑噩噩没有仔细去了解过每个跳转方法的区别 1.<a herf="default.asp"></a>  超链接跳转 2.< ...

  4. 浅析jQuery中常用的元素查找方法总结

    本篇文章是对jQuery中常用的元素查找方法进行了详细的总结和介绍,需要的朋友参考下   $("#myELement") 选择id值等于myElement的元素,id值不能重复在文 ...

  5. iframe中的各种跳转方法

    iframe中的各种跳转方法(转)   一.背景A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,在D中跳转页面的写法区别如下. 二.JS跳转window.l ...

  6. sap 三代出口(BADI)的查找方法

    sap 三代出口(BADI)的查找方法 对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了.(1)通过SE24,输入CL_EXITH ...

  7. php开发中的页面跳转方法总结

    PHP页面跳转实现的功能就是将网站中一个网页跳转到另一个网页中.对于刚刚学习PHP语言的朋友来说,是必须要掌握的基础方法. 页面跳转可能是由于用户单击链接.按钮等触发的,也可能是系统自动产生的.页面自 ...

  8. jquery元素查找方法集锦

    jQuery常用的元素查找方法总结 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到 ...

  9. <1>Linux日志查找方法

    Linux日志查找方法 适用于测试,开发,运维人员,用来查找Linux服务器问题的一般方法,比较实用,如果有更好的办法可以一块讨论,欢迎大神们来指导哈!!! 进入正题 第一步.通过Xshell登录服务 ...

随机推荐

  1. 在SQL Server 实现递归

    --在SQL Server 中其实提供了CTE[公共表表达式]来实现递归: Declare @Id Int Set @Id = 24;    ---在此修改父节点 With RootNodeCTE(I ...

  2. php模板引擎

    http://baike.baidu.com/link?url=HmXfdJBv3zpCdnZPeaSmZmqDBHlyTBnz9Rmb5it-jf1_NLHfaku6_i8ssUYbnaTQEBD4 ...

  3. 当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand问题解决

    1.目前看主要因为两种,第一种是select语句没有包含主键列,select *  就可以解决.或 select 主键列 这里的主键是指的primary key而不是unique key 2.最重要的 ...

  4. 利用putty实现文件在linux上传和下载

    利用putty实现文件上传和下载:1.打开windows命令提示符窗口d:(putty在d盘下)cd putty(pscp.exe所在目录)2:上传(主要利用pscp程序)pscp d:/jdk-8u ...

  5. Quartz2.2.1操作手册

    一.初识quartz JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1") ...

  6. C++类的成员初始化列表的相关问题

    在以下四中情况下,要想让程序顺利编译,必须使用成员初始化列表(member initialization list): 1,初始化一个引用成员(reference member): 2,初始化一个常量 ...

  7. PHP CURL参数详解

    curl用法:cookie及post 一.cookie用法 <?php $cookie_jar = tempnam('./tmp','cookie'); // login $c=curl_ini ...

  8. 设计模式之开篇(C#语法)

    很长时间没有写文章了,前段时间写的C#语法糖分享得到有很多朋友支持,这个也使得我有信心继续分享下去,在这里非常感谢大家!这次开始给大家分享一下设计模式,我个人觉得设计模式也对于我们提高个人技术水平来说 ...

  9. fork();

    僵死进程: 父进程没有等待子进程,wait() 子进程会变成僵死进程. int main(int arg, char *args[]){ pid_t pid = fork();//调用fork产生一个 ...

  10. source insight添加汇编文件.s

    (1) 做ARM嵌入式开发时,有时得整汇编代码,但在SIS里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都包含进来,默认只加了.inc和.asm后缀的, ...