能力值:
( LV9,RANK:3410 )
|
-
-
2 楼
脱的那个记事本无法在98下运行?
|
能力值:
( LV12,RANK:730 )
|
-
-
3 楼
Oh,fly你好!
以下是引用你的文章(情况雷同,你有除下面所述更好的方法吗?)
ASProtect V1.3B脱壳――飞速的UnPackMe
运行ImportREC,选择这个进程。把OEP改为000010CC,RVA=0000C000,大小=CB0
点“Get Import”,函数排列的比较“难看”,但全部是有效的。FixDump,正常运行!
修改以下几个函数,脱壳后的程序就也可以在Win98上运行了:
代码:
--------------------------------------------------------------------------------
0000C148 ntdll.dll 0255 RtlGetLastWin32Error//改为:kernel32.dll GetLastError
0000C3B8 ntdll.dll 02B3 RtlMoveMemory //改为:kernel32.dll RtlMoveMemory
0000C450 ntdll.dll 0255 RtlGetLastWin32Error//改为:kernel32.dll GetLastError
0000C4F0 ntdll.dll 0255 RtlGetLastWin32Error//改为:kernel32.dll GetLastError
0000C970 ntdll.dll 0255 RtlGetLastWin32Error//改为:kernel32.dll GetLastError
--------------------------------------------------------------------------------
另外发现脱壳后的记事本当进行“保存”和“另存为”操作时会非法操作。把以下2处修改一下就正常了。
代码:
--------------------------------------------------------------------------------
00404FB0 FF15 80CC4000 call dword ptr ds:[40CC80];comdlg32.GetSaveFileNameA
//修改为:jmp dword ptr ds:[40CCA0]
00404FC8 FF15 A0CC4000 call dword ptr ds:[40CCA0];comdlg32.GetOpenFileNameA
//修改为:jmp dword ptr ds:[40CCA0]
--------------------------------------------------------------------------------
―――――――――――――――――――――――――――――――――
|
能力值:
( LV9,RANK:3410 )
|
-
-
4 楼
这个是IAT处理的问题
当时没有妥善解决
更好的方法应该有,但是我不知道
|
能力值:
( LV12,RANK:730 )
|
-
-
5 楼
:p 当时没有妥善解决?
我意思是:壳会根据运行时的平台,而作出正确的选择DLL,能否将这功能做成到脱件中?但壳的做法又好像不同于“天生”编译==未加壳前的?我也觉得自己问得很古怪!
|
|
|