1/
找出扫雷的具体地址
找啊找 终于 发现01005361 是数据的起始地址
8f 是雷子,0f 是没有雷子,8e表明之歌雷子已经被标记(就是右键),基本就是这么多了
记住要用readmemory是读取玩一行数据后,要条过16个数据(0x10)
2/
以错为对
0100390E 68 B2010000 PUSH 1B2
;1b2 是失败时候的 声 音,1b1是成功的声音现在就要把1b2改为1b1
01003913 /EB 22 JMP SHORT 1.01003937
01003915 |> |68 05000400 PUSH 40005 ; Case 2 of switch 010038FA
0100391A |. |FF35 305B0001 PUSH DWORD PTR DS:[1005B30]
01003920 |68 B1010000 PUSH 1B1
01003925 |EB 10 JMP SHORT 1.01003937
01003927 |> |68 05000400 PUSH 40005 ; Case 1 of switch 010038FA
0100392C |. |FF35 305B0001 PUSH DWORD PTR DS:[1005B30]
01003932 |. |68 B0010000 PUSH 1B0
01003937 |> \FF15 68110001 CALL DWORD PTR DS:[<&WINMM.PlaySoundW>] ; WINMM.PlaySoundW
010034E1 /74 2C JE SHORT 1.0100350F
010034E3 |. |66:A1 A056000>MOV AX,WORD PTR DS:[10056A0]
010034E9 |. |66:3D 0300 CMP AX,3
010034ED |74 20 JE SHORT 1.0100350F
010034EF |8B0D 9C570001 MOV ECX,DWORD PTR DS:[100579C]
010034F5 |. |0FB7C0 MOVZX EAX,AX
010034F8 |. |8D0485 CC5600>LEA EAX,DWORD PTR DS:[EAX*4+10056CC]
010034FF |. |3B08 CMP ECX,DWORD PTR DS:[EAX]
01003501 |7D 0C JGE SHORT 1.0100350F
01003503 |. |8908 MOV DWORD PTR DS:[EAX],ECX
01003505 |. |E8 77E6FFFF CALL 1.01001B81
0100350A |. |E8 9BE6FFFF CALL 1.01001BAA
0100350F \> \C2 0400 RETN 4
这里0100350f 就是跳转 所以要把有关的地方nop ,010034e1,010034ed,3501
向高手学习,大家一起努力!!
[课程]Linux pwn 探索篇!