奥利奥 发表于 2025-5-26 16:59

本帖最后由 奥利奥 于 2025-5-26 17:29 编辑

找注册码方法:首先程序丢dbg或者OD运行起来,然后下GetWindowTextA断点,为啥我要下这个断点因为输入内容的时候日志很不正常的跳来跳去并且有卡顿说明输入内容后有较为复杂的代码在运算,那么我要通过编辑框获取内容的相关断点回溯到他获取编辑框内容的位置,看看他在干什么。
注册码随意输入内容会被断下来。这时我们只需要一直执行到返回就可以成功回溯到程序领空,同时堆栈窗口出现了可疑字符串,往下翻还能看到机器码,所以我猜测这里的值是有注册码或者密钥一类的


那么先不管,首先先看看返回的这个函数内代码都执行了什么命令,通过分析程序领空的代码可以得知在4039b7位置开始进行了两个资源的比较,这时候我们看寄存器窗口出现了我们输入的值和一个刚刚出现的值,然后进行了两个寄存机器内值的比较


然后在这里会通过比对结果,然后对一个全局变量进行赋值,这里赋值之后,后续你点击注册按钮他就会根据你在这里设定的变量然后判断是否提示成功。这里的全局变量是作为一个校验值存在

这里是按钮事件里的校验位置,可以看到他是用1和这个全局变量的值进行了一个比对,然后决定是否跳转的


然后我们可以定位这个硬编码把他给强行改掉,也可以把全局变量定义的位置改成mov 全局变量地址,1 强行给全局变量进行赋值


至于机器码怎么来的就在00403FEA这个地址里,然后巴拉巴拉把获取到的ID经过两次加密后得到的,具体怎么加的自己分析看看吧~

A18285528128 发表于 2025-5-26 21:50

非常支持
页: 1 2 3 4 5 6 7 8 [9]
查看完整版本: “新手写个不像样的cm,给广大新手坛友练练手”爆破过程