首页
社区
课程
招聘
[求助]请大家帮我看看这个函数GetPrivateProfileStringA
发表于: 2007-4-17 21:40 8971

[求助]请大家帮我看看这个函数GetPrivateProfileStringA

2007-4-17 21:40
8971
0040A21C  |.  50            push    eax                              ; /IniFileName
0040A21D  |.  6A 0C         push    0C                               ; |BufSize = C (12.)
0040A21F  |.  FFB5 F4FBFFFF push    dword ptr [ebp-40C]              ; |ReturnBuffer
0040A225  |.  68 888D4F00   push    004F8D88                         ; |Default = "2.00"
0040A22A  |.  68 818D4F00   push    004F8D81                         ; |Key = "QSize7"
0040A22F  |.  68 778D4F00   push    004F8D77                         ; |Section = "ChangSize"
0040A234  |.  E8 4DC70E00   call    <jmp.&KERNEL32.GetPrivateProfile>; \GetPrivateProfileStringA
0040A239  |.  BA 8D8D4F00   mov     edx, 004F8D8D                    ;  ASCII "(NULL)"

上面的代码是我从程序中复制下来的,代码中的
push 0C
push    dword ptr [ebp-40C]

有什么作用

下面的是我加的代码,程序通不过!
00552360    60              pushad
00552361    68 00235500     push    00552300                         ; ASCII "\Pds.ini"
00552366    68 09235500     push    00552309                         ; ASCII "E:\Gms\User"
0055236B    68 15235500     push    00552315                         ; ASCII "FilesPath"
00552370    68 1F235500     push    0055231F                         ; ASCII "Program"
00552375  - FF25 34534F00   jmp     dword ptr [<&kernel32.GetPrivate>; kernel32.GetPrivateProfileStringA
0055237B    A3 C3254F00     mov     dword ptr [4F25C3], eax
00552380    33C0            xor     eax, eax
00552382    61              popad

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 62
活跃值: (2057)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
问了很久没人回答,只好自己找了一下API参考手册,还有一个疑问,请大家一定要告诉我啊
如何设置一个一个字串缓冲区
2007-4-17 23:17
0
雪    币: 50161
活跃值: (20610)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
在PE文件找一个可读写的区块,在区块的空白处(一般是尾部),这个地址就可当你的缓冲区。
2007-4-18 09:32
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
好像就是坛主说的这个问题吧1现在有没有解决!我对这个也是刚刚接触,还不太懂!呵呵
2007-4-18 11:02
0
雪    币: 62
活跃值: (2057)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我是想把程序中这个路径,通过INI给定,现在我已自己写了一个DLL,DLL中就一个函数,就是返回一个路径,我已把它加入这个程序中了,并把它送到这里 mov dword ptr ds:[552360],eax

在程序中的有四个地方需要这个路径,我应该如何把从DLL传回的值替换程序中的这个路径?
004AA514   .  45 3A 5C 47 6>ascii   "E:\Gms\user\",0
:004AA4A8 BA14A54A00              mov edx, 004AA514

004AA6B8   .  45 3A 5C 47 6>ascii   "E:\Gms\user\",0
:004AA64F 68B8A64A00              push 004AA6B8

004AAB2C   .  45 3A 5C 47 6>ascii   "E:\Gms\user\",0
:004AA987 682CAB4A00              push 004AAB2C

004EF75B  |.  BE D8F74E00   mov     esi, 004EF7D8                               ;  ASCII 0C,"E:\Gms\user\"

004EF7D8   .  45 3A 5C 47 6>ascii   0C,"E:\Gms\user\"
2007-4-18 12:24
0
游客
登录 | 注册 方可回帖
返回
//