[学习笔记]利用e-debug和GetWindowTextA破解CM课件
本课是针对注册时候的报错弹窗不是信息框MessageBox,而是窗体的情况
首先打开课件看一下
既然课件是个易语言程序,那使用E-DEBUG试试
E-DEBUG打开课件,点击“start”,课件弹出登录界面,输入假码,点注册
得到弹窗事件发生的地址:“ 004010CB”。复制下来
OD载入课件,定位到刚才找到的地址
发现这个地址是一个段首。下断点,F9运行,输入假码点注册,程序被断下来
一路F8向下,看到这段代码
可以看到,有一个JNZ很可疑,它下面的代码段有两处窗口调用。
而这个JNZ跳转的实现与否,决定了代码调用那个窗口。
通过修改JMP或者标志位实验一下,让跳转实现。
然后F9运行程序,发现注册成功了。说明第二个窗口就是提示注册成功的窗口
E-DEBUG工具是完全针对易语言的,如果不是易语言,正常的思路 是这样的:
既然输入假码后发现有报错提示,那就载入OD先搜索一下报错字符串,看能不能搜索到。
如果搜索不到,可以考虑下一个MessageBox断点。
如果该断点无法成功断下程序,则有可能跟本例的课件一样,报错弹窗不是信息框,而是窗口
那就下一个窗口的断点再试。
工具栏上点击BreakPoint------Text Recuperation,根据程序的编码方式选择不同的下断方式
下好断点后,F8单步跟踪一步步进行破解。
[学习笔记]利用e-debug和GetWindowTextA破解CM课件的更多相关文章
- Objective-C学习笔记 利用协议实现回调函数
来源:http://mobile.51cto.com/iphone-278354.htm Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然 ...
- 汇编学习笔记——DOS及DEBUG介绍
转自:https://www.shiyanlou.com/courses/running/332 一.课程简介 声明:该课程基于<汇编语言(第2版)>郑晓薇 编著,机械工业出版社.本节实验 ...
- Opencv学习笔记——release和debug两个模式的运行问题
本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/ 作者:晨凫 ...
- 【转】Android 学习笔记——利用JNI技术在Android中调用、调试C++代码
原文网址:http://cherishlc.iteye.com/blog/1756762 在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在And ...
- Android学习笔记————利用JDBC连接服务器数据库
/******************************************************************************************** * auth ...
- python3.5学习笔记--利用字典对指定文本字符串进行替换
事情缘起于同事整理excel,需要批量的对某一列的内容进行替换. 举例: 数据格式:以下为一列内容,每行都在一个单元格中,目的是将数字替换为制定的中文字符. 1,2,31 ,4,33 ,21,, 对于 ...
- .net学习笔记----利用System.Drawing.Image类进行图片相关操作
C#中对图片的操作主要是通过System.Drawing.Image等类进行. 一.将图片转换为字节流 /// <summary> /// 图片处理帮助类 /// </summary ...
- javaEE学习笔记-利用DOM4J解析xml至数据库
xml代码文件名:test02.xml <ACCESOS> <item> <SOCIO> <NUMERO>00045050</NUMERO> ...
- vue.js 源代码学习笔记 ----- 工具方法 debug
import config from '../config' import { noop } from 'shared/util' let warn = noop let tip = noop let ...
随机推荐
- ----constructor 与 object----
CONSTRUCTOR constructor是一种特殊的object,同样是用来创建和声明一个类 语法规则: constructor([arguments]) { ... } 注意: 1.在类中,只 ...
- html中script标签的使用方法
向HTML页面中插入JavaScript的主要方法,就是使用<script>元素.这个元素由Netscape创造并在Netscape Navigator2中首先实现.后来,这个元素被加入到 ...
- Linq语言,由红色部分可直接代替绿色(List,dictionary)
/// <summary> /// 获取最近5分钟缓存的车量 /// </summary> /// <param name="carNo">&l ...
- oracle 数据定义语言(DDL)语法
DDL语言包括数据库对象的创建(create).删除(drop)和修改(alter)的操作 1.创建表语法 create table table_name( column_name datatype ...
- 动态库的链接和链接选项-L,-rpath-link,-rpath
https://my.oschina.net/shelllife/blog/115958 链接动态库 如何程序在连接时使用了共享库,就必须在运行的时候能够找到共享库的位置.linux的可执行程序在执行 ...
- Mac OS mysql数据库安装与初始化
一.官网下载mysql 二.安装并启用 三.数据库初始化 192:bin zhuyajing$ ./mysql -u root -p Enter password: Welcome to the My ...
- Shell的特殊变量
在Shell里存在的一些特殊变量:$!.$@.$#.$$.$*.$0.$n.$_.$? [root@shell ~]# sh shell.sh aaa bbb ccc$0 获取当前执行的shell脚本 ...
- html文件上传保存-(.html and string translate into .html )
//上传h5编辑器编辑的html内容 uploadHtml(newsId?: any) { const news = newsId !== undefined ? newsId : 'new'; le ...
- $(document).on('click','.classname',function(){}); VS $('.classname').on('click',function(){});
jquery中用on来绑定事件,经常的写法有$(document).on('click','.classname',function(){});$('.classname').on('click',f ...
- 关于CSS层叠机制
谈到层叠机制,首先我们要知道什么是声明冲突. 声明冲突有三个条件:①多个选择器选中同一个元素:②声明块里的属性相同:③属性的属性值不同.同时满足这三点时就会产生声明冲突.比如下图html代码: < ...