如何修改一个exe或dll文件,在其中增加一段代码(新增代码比较大)
永夜星空 2012-03-14 10:45:21 我有个这样的需求:将别人软件中的dll的某个函数Hook到自己指定的代码中(这段代码会继续载入一个dll.)
我以前的做法是在进程创建后写进程内存,把jmp指令写到要Hook的函数位置.本来一切都很好,但是如果用户安装了杀毒软件(特别是360)就出问题了,而且如果用户的操作系统是Win7,vista也很麻烦.所以我想直接修改那个要Hook的dll的文件,做到一劳永逸.但是有一个问题难到了我,就是我的这段用来载入dll的代码比较大,在原dll文件里实在找不出够大的空白区域装下这段代码。因此我想问一下,如果想为exe或dll文件增加一段代码该怎么做,难道直接在文件后面接一段内容么?那样会破坏文件么,这样的文件还能运行么。而且不是说PE文件中有某个位置记录了文件的校验码么