能力值:
( LV9,RANK:490 )
|
-
-
2 楼
小菜学了几个月也不明白修复IAT是不是必要的,所以请问各位大侠,如果不修复IAT而把所有API构建新成IAT可行吗? 比如我不管一个程序用到什么API而把所有(或大部分)API构个新IAT可以吗?
估计比写个程序的工程量要大。。。。
|
能力值:
(RANK:210 )
|
-
-
3 楼
把所有的api都写进去,不仅麻烦还得修改一堆东西
.CODE段不在原位置也是可以运行的
因为代码中的跳转指令(包括call)的"操作数"是:目标地址与下一条指令位置之间的差值
比如:
00433399 . /EB 13 JMP SHORT Systemom.004333AE
0043339B . |33C0 XOR EAX,EAX
0043339D . |40 INC EAX
0043339E . |C3 RETN
0043339F . |8B65 E8 MOV ESP,DWORD PTR SS:[EBP-18]
004333A2 . |C745 FC FEFFF>MOV DWORD PTR SS:[EBP-4],-2
004333A9 > |B8 FF000000 MOV EAX,0FF
004333AE > \E8 56100000 CALL Systemom.00434409
004333ae-0043339b=13h
重定位主要是定位数据,只要代码中所使用数据的地址没有改变,程序就能够正常运行
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢两位大哥!我明白多了
|
|
|