growuphappily 发表于 2020-4-3 14:17

给新手的KeyGenMe,超级简单

本帖最后由 growuphappily 于 2020-4-3 14:21 编辑

用十几分钟给新手写了个KeyGenMe
很简单,大神请手下留情。。。如果看出算法就别说。。让新手说
下载: 密码:52pojie.cn
成功截图:

growuphappily 发表于 2020-4-3 19:29

好吧,没人破我自己破 (我自己破自己的KeyGenMe{:301_1008:}),大佬勿喷
拖进OD,Ctrl + G 下MessageBoxA断点
输入假码,断下,运行到返回几次,就来到了易语言按钮事件
关键代码不多,也不难,坚持看看
首先看到了“请输入数字!0不可输入!”
那么肯定在上面进行了比较
00409670    E8 FC010000   call KeyGenMe.00409871                   ; 这个就是易语言的到整数()
00409675    83C4 04         add esp,0x4
00409678    837D F8 00      cmp dword ptr ss:,0x0         ; 进行比较,判断是否为0
0040967C    0F85 39000000   jnz KeyGenMe.004096BB
这就可以看出就是账号转换为整数后的值
往下看,看到浮点运算
0040970D    DB45 F8         fild dword ptr ss:            ; 取出账号放到浮点寄存器
00409710    DD5D F0         fstp qword ptr ss:             ; 把刚刚放进去的账号放到ebp-0x10并清除寄存器里的账号
00409713    DD45 F0         fld qword ptr ss:            ; 再取出放到浮点寄存器
00409716    DC0D E4904000   fmul qword ptr ds:             ; 关键一步,把浮点寄存器内的账号*4
0040971C    DD5D E8         fstp qword ptr ss:             ; 把*4后的账号取出
注释已经说的很清楚了,就是把账号*4了
所以注册码就是账号*4
简单吧{:301_997:}

weikun444 发表于 2020-4-3 16:25

无奈,不懂算法。唉

growuphappily 发表于 2020-4-3 16:31

weikun444 发表于 2020-4-3 16:25
无奈,不懂算法。唉

不可能吧。。。很简单啊{:301_1008:}

weikun444 发表于 2020-4-3 16:53

growuphappily 发表于 2020-4-3 16:31
不可能吧。。。很简单啊

111 和 444 是一组

growuphappily 发表于 2020-4-3 18:22

weikun444 发表于 2020-4-3 16:53
111 和 444 是一组

你应该看得出来吧。。。就一个乘法运算。。。。{:301_1008:}

eduvip 发表于 2020-4-3 21:05

没点基础的人像看天书一样。

410791007 发表于 2020-4-3 22:01

先收藏,纯小白有空来玩一下,最近有一个软件网上没找到pj的,自己又一点基础没有很是无奈。

hhjjxx2046 发表于 2020-4-4 09:03

会的人觉得超级简单,不会的就...。就像辅导孩子作业,明明超级简单,这货愣是不会?

endriver 发表于 2020-4-4 10:46

楼主自己破解自己是什么感觉,左右互博{:1_921:}
页: [1] 2
查看完整版本: 给新手的KeyGenMe,超级简单