160个crackme03
打开页面首先是一个7秒的等待NEG,OD打开。
猜测程序一开始的初始401000地址运行这个命令,先内存定位到401000处,搜索time,找到如图
看到timer命令后往下面找7秒,这里是小端存储,7秒是7000毫秒,0x1B58就是需要的时间,这里直接改为0001。
接下来就是要破解序列号,F9运行
通过找到字符串定位判断函数,往上找到该函数的起点,下断点,单步运行
获取用户名长度 然后根据得到的结果算出来一个值 我这里这个结果为622335
首先将刚才计算的结果转为浮点数 放入到FPU栈 然后将结果加上2.0 得到622337。逆向这个程序你并不需要 看懂每一条浮点指令,只需要单步跟踪 然后时时观察FPU栈的情况。
还是将刚才的结果转为浮点数并入栈 然后将622289乘以一个值再减去一个值 最后得到结果ST0=1867009,最后减一个数就是正确的序列号。
1867024