能力值:
( LV9,RANK:3410 )
|
-
-
2 楼
9X系统
切换一下ImportREC选项试试
试试原版ImportREC
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我试了所有选项,也脱了几个不同的软件,这几个API就是识别错误,只有手工更改函数名才行,用ImportREC V1.42也同样,真是不明白呀。
这个跟系统有关系吗?
我是在winme系统,不知有没有关系,有用winme的吗?是否也有这样的问题?
|
能力值:
( LV9,RANK:3410 )
|
-
-
4 楼
用ImportREC英文原版看看是否还有2个函数无法识别
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
英文版的也一样呀。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
另一个软件。曾经发过,没有解决,放在一起,希望那位大侠帮忙看看。多谢!
【求助】为什么ImportREC会错认函数
为什么ImportREC会错认函数。
脱壳后用ImportREC修复时,发现在Kernel32.dll中有许多API错认了。
系统:WINME
ImportREC :V1.6汉化版
壳:ASProtect 1.22 - 1.23 Beta 21
OEP正确。
求教:这种情况要怎样处理,总不会是一个一个核对吧。
这个跟系统有关吗?为什么会这样呢?
以下是用ImportREC提取的IAT-------错误。
1 0010A1B4 kernel32.dll 0081 BackupSeek
1 0010A1BC kernel32.dll 00B8 CreateEventW
1 0010A1C4 kernel32.dll 0220 IsBadHugeReadPtr
1 0010A1D4 kernel32.dll 0081 BackupSeek
1 0010A1DC kernel32.dll 0221 IsBadHugeWritePtr
1 0010A208 kernel32.dll 00A2 CloseProfileUserMapping
1 0010A20C kernel32.dll 0172 GetEnvironmentStrings
1 0010A294 kernel32.dll 0314 TlsFree
1 0010A2A0 kernel32.dll 0312 TlsAlloc
1 0010A2A8 kernel32.dll 01F3 GlobalAlloc
1 0010A310 kernel32.dll 00A1 CloseHandle
1 0010A350 kernel32.dll 036C lstrcpyn
1 0010A354 kernel32.dll 0363 lstrcmp
1 0010A384 kernel32.dll 0366 lstrcmpi
1 0010A3A0 kernel32.dll 0360 lstrcat
1 0010A3A4 kernel32.dll 036F lstrlen
0 0010A3A8 ? 0000 86C5A7F8
1 0010A3AC kernel32.dll 0369 lstrcpy
0 0010A3B4 ? 0000 86C5A828
==================
以下是Olly中显示的IAT――正确,修复后程序正常运行。
1 0010A1B4 kernel32.dll 0326 UpdateResourceW
1 0010A1BC kernel32.dll 034B WritePrivateProfileStringA
1 0010A1C4 kernel32.dll 0222 IsBadReadPtr
1 0010A1D4 kernel32.dll 0326 UpdateResourceW
1 0010A1DC kernel32.dll 0225 IsBadWritePtr
1 0010A208 kernel32.dll 030A SwitchToThread
1 0010A20C kernel32.dll 0173 GetEnvironmentStringsA
1 0010A294 kernel32.dll 0315 TlsFreeInternal
1 0010A2A0 kernel32.dll 0313 TlsAllocInternal
1 0010A2A8 kernel32.dll 023F LocalAlloc
1 0010A310 kernel32.dll 0121 FindCloseChangeNotification
1 0010A350 kernel32.dll 036D lstrcpynA
1 0010A354 kernel32.dll 0364 lstrcmpA
1 0010A384 kernel32.dll 0367 lstrcmpiA
1 0010A3A0 kernel32.dll 0361 lstrcatA
1 0010A3A4 kernel32.dll 0370 lstrlenA
1 0010A3A8 kernel32.dll 033C WinExec
1 0010A3AC kernel32.dll 036A lstrcpyA
1 0010A3B4 kernel32.dll 0239 LoadLibraryA
|
能力值:
( LV7,RANK:100 )
|
-
-
7 楼
最初由 dongfang 发布 在我的系统中这些函数都不能正常识别? 这个是UPX壳,OD在OEP,应该可以正确修复IAT的。为什么会有这么多的API识别错误。
........
兄弟把加壳的东东的下载地址给一下.偶试试看~目前还没发现兄弟说的这个问题,偶系统XP,2000的时候也没发现~:D
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
|
能力值:
( LV9,RANK:3410 )
|
-
-
9 楼
WinME平台用的很少
建议安装双操作系统吧
用Ollydbg脱壳推荐在Win2K/XP等NT系统平台上操作
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
谢谢fly,由于某些原因暂时不想换系统。
我想搞明白的问题是:
1.UPX这样的壳,并没有破坏输入表,在OD中可以看到。ImportREC也能准确地定位IAT的地址和大小,同样的数据,为什么会得出不同的结果?ImportREC和OD是根据什么确定函数名的?
2.当我们能在内存中获得完整的IAT时,如果不用ImportREC,有没有其他方法重建IAT?比如象AsPack,dump后修改一下EP和IID的地址就能搞定。可是UPX的IID好像是被破坏了,手工修复就晕了。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
双系统~
我现在98+XP
明年计划Linux+XP
|
|
|