能力值:
( LV4,RANK:50 )
|
-
-
2 楼
你又NB了,和谐前留名
|
能力值:
( LV12,RANK:270 )
|
-
-
3 楼
囧……比赛延时了吧……
|
能力值:
( LV12,RANK:1010 )
|
-
-
4 楼
nb~~~~~~~~
|
能力值:
( LV2,RANK:140 )
|
-
-
5 楼
我编辑不了, 管理员删贴吧.
|
能力值:
( LV12,RANK:1010 )
|
-
-
6 楼
~~~~~~~~~
|
能力值:
( LV15,RANK:3306 )
|
-
-
7 楼
..............
|
能力值:
( LV15,RANK:1473 )
|
-
-
8 楼
哈哈,这贴杯具了
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
虚拟机,貌似有点面熟
|
能力值:
( LV15,RANK:2473 )
|
-
-
10 楼
楼主不用怕
貌似只是第二题出题时间的延时,没说第一题答题时间延时
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
百度快照里面还有~~~~~~~~
|
能力值:
( LV2,RANK:140 )
|
-
-
12 楼
浪费我一篇精华...
|
能力值:
( LV15,RANK:3306 )
|
-
-
13 楼
修正了...........
|
能力值:
( LV2,RANK:140 )
|
-
-
14 楼
管理员动作真快,修改、恢复挥手之间。
多谢了!
|
能力值:
( LV9,RANK:210 )
|
-
-
15 楼
貌似题意理解有偏差
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
剑走偏峰!!!
|
能力值:
( LV13,RANK:350 )
|
-
-
17 楼
应该是这样估计
DWORD GetVerifyValue(LPCTSTR Str,DWORD Len)
{
DWORD VerifyValue=0xFFFFFFFF,Temp;
DWORD i=0;
for (i=0;i<Len;i++)
{
Temp=VerifyValue&0xFF;
Temp^=*(PBYTE)(Str+i);
VerifyValue>>=8;
Temp*=4;
Temp=*(PDWORD)(Key+Temp);
VerifyValue^=Temp;//Bug 原本该异或运算的 写成了或运算了
// VerifyValue|=Temp;
}
return ~VerifyValue;
}
|
能力值:
( LV3,RANK:30 )
|
-
-
18 楼
楼主第一个问题解决貌似不是本质吧。
应该是
0040DC38 0D 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00
还原:MOV VM_Stack[9], ZFSF(VM_Stack[8])
OP1=2 意思是检测ZF位,应该检测SF
这条指令原来意图应该是检测SF位而不是ZF位,所以这里传递02参数不对改成04就检测SF位。
|
能力值:
( LV15,RANK:2473 )
|
-
-
19 楼
题目的言外之意是如果正确解决了问题,再给你若干个输入文件,都要有正确的输出结果
题目提供的3个输入文件只是3种不同的样本,答题者完美的解决方案要适用于所有的样本
|
能力值:
(RANK:1130 )
|
-
-
20 楼
不急,还有2天时间,大家讨论一下,给个最完美的方案一起提交,都是满分
|
能力值:
( LV4,RANK:50 )
|
-
-
21 楼
楼主对问题二解决的也不是很完美啊,应该要改为检测byte长度,如果按楼主的解决办法修改EXE文件。那把.dat文件中记录的字串长度由0x10016改为0xFFFF,楼主的改法仍然会引起Crash。
|
能力值:
( LV3,RANK:30 )
|
-
-
22 楼
你如何知道用户要输入多大范围。
|
能力值:
( LV15,RANK:2473 )
|
-
-
23 楼
局部变量里有个文件大小的值[ebp-20h],可以用来参考计算
|
能力值:
( LV4,RANK:50 )
|
-
-
24 楼
限定字串的计算长度即可。不管dat中记录的字符串有多长,最多只计算前面的0xFF字节的CRC32。
既然题目要求的是修正EXE读取DAT时判断字串长度有错误的语句,而不是修正读crash.dat文件错误的问题,按楼主所说的去修改当然会显得不完美了。
题目要求:
1 描述正确文件也会检验失败的问题的原因并进行修正
2 描述异常文件会导致Crash的原因并进行修正
评分标准
4 修正题目要求中的第二点得20分。
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
题目要求一
描述正确文件也会检验失败的问题的原因并进行修正?
原因:校验函数(地址401000) 成功与否标志变量未初始化
正确bool result=?
变量result未初始化
解决方法 变量定义时给result=1或者true就可以了
题目二
描述异常文件会导致Crash的原因并进行修正?
原因:两次关闭同一打开文件句柄
解决方法 NOP掉其中一处CALL即可
|
|
|