CrackMe05_文本框

 

 发现有upx壳  用od加载看他的起始位置 也可以用upx shell 一键脱壳

CrackMe05_文本框_02

 

 用dark 进行反汇编

CrackMe05_文本框_03

 

 可以看到4个图片事件 2个时间事件 一个按钮点击事件 还有一个编辑框2点击事件 表单事件鼠标事件 后面rva 代码地址

跳转地址下断点 大概对整体功能有了估算

CrackMe05_双击事件_04

 

 

老样子找字符串

CrackMe05_初始化_05

发现在时间事件里面

CrackMe05_文本框_06

 

 也就是说他们是实时判断成功

CrackMe05_双击事件_07

 

 看到一共5个判断来确认是否注册成功 第一个 304+ebp =0c34   这是一个常量 直接全局搜

CrackMe05_双击事件_08

 

 可以看到他是一个 窗口初始化事件函数

CrackMe05_编辑框_09

 CrackMe05_双击事件_10

 也就是说在初始化时他会赋值

 CrackMe05_文本框_11

 

 创建文件让后读取 比对 文件内容必须是

CrackMe05_双击事件_12

 

 CrackMe05_赋值_13

 

 重新加载

CrackMe05_文本框_14

 

 CrackMe05_编辑框_15

 

 继续重复上面的操作 满足5个条件

CrackMe05_编辑框_16

 

 CrackMe05_初始化_17

 

 在鼠标监视事件下断点  看他的逻辑处理

CrackMe05_文本框_18

通过调试发现 他的坐标关系  接着就是 判断鼠标的位置和是不是当前图片

CrackMe05_编辑框_19

 

 某些位置和图片绑定。。 后面那个也是的 不细看了 大概逻辑知道了   接着又判断了 内存某个值必须等于9 前置条件  在全局找30c 赋值 发现  文本框双击事件 但这个文本框现在禁用

大概就是接着找 把文本框解除禁用

CrackMe05_文本框_20

 

 id=2f0 全局去找 2f0

CrackMe05_文本框_21

 

 在panl 双击事件中29d 赋值 才能开启 文本框后面就是这个注册按钮  要点击多少下 就是调用了多少次点击事件 上面有308赋值 测试一下 值 反键5次 就是29d

CrackMe05_文本框_22

 

此时编辑框已经可以输入 再看他的双击事件处理算法

CrackMe05_编辑框_23

 

 CrackMe05_编辑框_24

 

 后都是一些字符串判断 

首先获取Edit2的内容,然后获取长度,长度必须等于8,然后比较第二个字符是否是0x5F,0x5F就是下划线。 
接着获取Edit2的内容,比较第六个字符是否是0x2C,然后获取Edit1的内容和长度,然后将长度+3之后除以3,

 没分析完 。

 

从此山高路远,纵马扬鞭。愿往后旅途,三冬暖,春不寒,天黑有灯,下雨有伞。此生尽兴,不负勇往。