首页
社区
课程
招聘
[原创]我做的第3个CRACKME
发表于: 2008-11-18 22:19 4481

[原创]我做的第3个CRACKME

2008-11-18 22:19
4481
嘿嘿!这个是我的第三个CRACKME。大家支持一下啊。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 295
活跃值: (11)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
1336-3348-2443-3465
2008-11-18 23:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
偷了一个来。。。

好像是第一个框和第3个框是浮点算法是么。
上传的附件:
2008-11-19 00:55
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
4
注册码共4段,记为x1,x2,x3,x4

这4个值由一个四元一次线性方程组解得。

x1 + 1107 - x3 == 0;
3 * x1 - x2 - 660 == 0;
2 * x1 - x2 + 676 == 0;
x1 + x2 - x3 - x4 +1224 == 0

写成矩阵A x = b,其中A和b分别为

                           |
1     0    -1     0        |        -1107
3    -1     0     0        |        660
2    -1     0     0        |        -676
1     1    -1    -1        |        -1224
                           |

方程的解findlakes已经给出来了,正是

x1=1336
x2=3348
x3=2443
x4=3465
2008-11-19 03:16
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
5
飘渺是不是看到浮点指令有些畏惧呢?

其实看到浮点指令不要怕。也很好掌握的。

你只要记住浮点指令的助词符前面是一个F,去掉F就是它执行的操作

因为80x87处理器是基于寄存器栈的,它是经典的store/load结构

并且一般由编译器生成的浮点运算,不会使用超过3个寄存器。

并且记住,虽然硬件支持使用8个寄存器中的任意寄存器进行运算,但通常情况下,人们和编译器都只会使用基于栈格式隐式寻址的浮点运算。

比如,计算加法C = A + B,因为浮点寄存器是栈式的,所以不用指明往哪个寄存器里加载,只管加载就是了。上面这个算式,一般指令就是这样的:

FLD   A    //将A装入寄存器栈的栈顶
FLD   B    //将B装入栈顶,则A位于栈顶下一个的寄存器中
FADD     //计算寄存器栈最顶端的两个寄存器的和
FSTP C    //将结果保存到C,并从FPU弹出,现在FPU栈是平衡的。

有时不也可以直接与内存中的变量进行运算。试试看下面一串操作是一个什么样的表达式:

FLD    A
LADD   B
FLD    C
FLD    D
FADD
FMUL
FSTP   A

是不是很简单?
2008-11-19 03:29
0
游客
登录 | 注册 方可回帖
返回
//