能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我再表述一下我的目的! 我现在手上有一个程序,比如a.exe,a.exe在执行的过程中会调用上述那一段代码来执行写操作,写的对象就是另外一个数据文件,假设为b.dat;写的内容就是a.exe在WriteFile函数之前申请的内存空间,大小为调用WriteFile函数参数指定的大小,内容是通过读取自身指定数据段并通过一系列解密生成的. 我现在的目的是想绕过其解密这一块,修改其在WriteFile函数中buffer的指针,指向我准备写入的内容. 我的问题也在这里,这个准备写入的内容我应该怎么组织,我目前的想法是通过PE工具在这个程序的数据段增加我准备写入大小的0字段,并用我准备写入的数据填充它,然后在WriteFile函数中直接将我增加的内容的指针提交给函数,不知道这样能否行~ 请各位大大,赐教!
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
看不懂你的意思,你要写的东西是什么?固定的还是动态生成的
如果只是要绕过解密,只要把writefile字符串那个参数地址改成未解密之前的地址就ok,还有写入长度
|
能力值:
( LV7,RANK:140 )
|
-
-
4 楼
楼上的正解。
补充一下,直接把加密解密的操作跳掉,就不用管WriteFile了
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
0040124B push dword ptr [ebp-550]
;把这句改在你的数据的地址就行了。比如
push xxxxxxxx ; 这里的xxxxxxxx是你的数据所在地址(VA)
至于数据块的大小,改这句00401244 push eax ;pBytesWritten参数
|
|
|