能力值:
( LV6,RANK:93 )
|
-
-
2 楼
就是换个台机子,就不再能用的“编码”
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
写死的代码
|
能力值:
( LV7,RANK:110 )
|
-
-
4 楼
硬编码就是什么都在你的程序代码里面写死了,你想稍微修改一下效果,都得修改你的代码。
做的比较灵活的就是,你想稍微修改得到一点其他的效果,不用修改你的代码,使用比较常用的配置文件来实现!
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
举个简单的例子:
在某种特定条件下(软硬环境)
EBX=0X00400000
JMP EBX
就是要跳转到0X00400000处,我们代码里可以写成JMP 0X00400000(这就是硬编码)
但环境发生改变EBX里的值可能会变化,那么 JMP 0X00400000就会出错。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
新人来学习的,我的理解是不能修改的代码。
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
硬编码就是直接使用API函数的内存地址进行调用。。。
例如一般的调用过程应该是:
hDLL = LoadLibaray("USER32.DLL");
pfnAddr = GetProcAddress(hDLL, "MessageBoxA");
pfnAddr(NULL, "动态调用MsgBox函数", "测试", MB_OK);
但是有时候使用LoadLibaray和GetProcAddress的时候会被杀毒软件的主动防御监控到,那么咋办呢?
我就在我的电脑上执行上面的那三行代码,然后发现pfnAddr的值0x12345678。
我记住0x12345678这个值,然后以后我的程序都改成:
pfnAddr = 0x12345678;
pfnAddr(NULL, "动态调用MsgBox函数", "测试", MB_OK);
在后面这个方法里,对于函数地址的调用就叫做硬编码。
但是这个编码只在相同的系统上有用。
例如我实在XP SP2上得到的0x12345678,那么我的程序就只在XP SP2上有效。
如果换成SP3,或者换成win2000,win7,就不好用了。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
学习了!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
开始不懂 现在看了评论就懂了 哈哈
|
|
|