能力值:
( LV2,RANK:10 )
|
-
-
2 楼
爆破是成功的,算法???,它的要求是你输入的密码
经过运算后是 EDI= C1D (3101) ,EDI原值是 7D5
0040E498 |> 8BC6 /MOV EAX,ESI ; EAX 累加
0040E49A |. 51 |PUSH ECX ; ECX=0012F244, (ASCII "989898") 第一次
0040E49B |. B9 05000000 |MOV ECX,5
0040E4A1 |. F7F9 |IDIV ECX
0040E4A3 |. 59 |POP ECX ; 把 假码 反出来
0040E4A4 |. 03C6 |ADD EAX,ESI
0040E4A6 |. 40 |INC EAX ; 第一个循环 AX = 0+1
0040E4A7 |. 33D2 |XOR EDX,EDX
0040E4A9 |. 8AD3 |MOV DL,BL ; 将假码第一位的 ASCII 入 DL
0040E4AB |. F7EA |IMUL EDX ; 用 AX * DX 结果入 AX
0040E4AD |. 03F8 |ADD EDI,EAX ; 最后结果入 EDI
0040E4AF |. 46 |INC ESI
0040E4B0 |. 41 |INC ECX
0040E4B1 |> 8A19 MOV BL,BYTE PTR DS:[ECX] ; 循环次数等于你输入的假码的位数
0040E4B3 |. 84DB |TEST BL,BL ; 这里是测试密码计算完没有,完就跳出
0040E4B5 |.^ 75 E1 \JNZ SHORT 加密1.0040E498
0040E4B7 |. 8BC7 MOV EAX,EDI
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
最初由 小剑 发布 爆破是成功的,算法???,它的要求是你输入的密码 经过运算后是 EDI= C1D (3101) ,EDI原值是 7D5
0040E498 |> 8BC6 /MOV EAX,ESI ; EAX 累加 0040E49A |. 51 |PUSH ECX ; ECX=0012F244, (ASCII "989898") 第一次 ........
谢谢指教。单修改跳转语句,跳过密码验证之后,程序还是无法运行下去的。因为内存中没有正确的密码,后续还有些操作是要用到正确的密码的。那么如何反推出正确的密码呢?上面这段程序的算法是哪种加密算法?
换句话说,如何根据这段代码写出破解出密码的程序?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我已经按上述算法编了一个穷举密码的程序,但是穷举出来的密码不唯一,很多,仍然不解决问题。还得再跟踪续程序?!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我要崩溃了,那位高手能指点一下!!
|
能力值:
(RANK:215 )
|
-
-
6 楼
文件是坏的吗?
我找出一组mmom,也是提示高度无损解压错误
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
最初由 china 发布 文件是坏的吗?
我找出一组mmom,也是提示高度无损解压错误
文件是好的,“提示高度无损解压错误”是因为你找出的密码不对,只有完全正确的密码才会不出错。
|
能力值:
( LV9,RANK:850 )
|
-
-
8 楼
密码有19位,而且都是数字。CHINA算出的密码中有字母,所以不能通过。
|
能力值:
( LV9,RANK:850 )
|
-
-
9 楼
后面的确还有检验密码的地方。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
最初由 wofan[OCN] 发布 后面的确还有检验密码的地方。
关键点我还没找到,能指点一下吗?另外密码的位数只有4位。
|
|
|