那估计是系统原因了,我SP2(打上最新补丁)和SP3两个系统中都没有弹出对话框或错误提示,不得已,改用了一堆Beep()
另:Loader打上UPX后,脱下来的程序还可以正常执行吗?
我只试过手脱ASPack 2.12,脱下来的程序可以跑起来:
(脱了ASPack后,修改这个就能正常加载)
18216381 /EB 1E JMP SHORT FlowIt_d.182163A1
18216383 -|E9 DCD8FEFF JMP FlowIt_d.18203C64
18216388 |A1 7CEA2118 MOV EAX,DWORD PTR DS:[1821EA7C]
1821638D |E8 E2D4FEFF CALL FlowIt_d.18203874
18216392 |E8 55DBFEFF CALL FlowIt_d.18203EEC
18216397 |E9 99010000 JMP FlowIt_d.18216535
1821639C |E8 4BDBFEFF CALL FlowIt_d.18203EEC
182163A1 \3BDE CMP EBX,ESI
182163A3 0F85 25010000 JNZ FlowIt_d.182164CE ; 判断Hash结果,改JZ
182163A9 A1 7CEA2118 MOV EAX,DWORD PTR DS:[1821EA7C]
182163AE 8B10 MOV EDX,DWORD PTR DS:[EAX]
182164CE 6A 30 PUSH 30 ; Hash出错时跳到这里
182164D0 68 60652118 PUSH FlowIt_d.18216560 ; ASCII "WARNING!"
但UPX 2.02的用UPX -d脱了后,修改jnz -> jz也无法执行,难道是UPX修改了文件尾部的压缩流的数据?
只手动脱过ASPack,以前遇到UPX都是直接UPX -d来着