首页
社区
课程
招聘
[求助]程序如何得到自己的文件名?
发表于: 2013-7-15 18:08 6862

[求助]程序如何得到自己的文件名?

2013-7-15 18:08
6862
程序在启动后,怎么样得到自身的文件名?

我想的到的方法:
1.GetCommandLine
2.GetModuleName

除了这两种   还有没有其他的方法呢? 有没有比较偏门的方法?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
#include <iostream>
using namespace std;
int main()
{
        cout<<__FILE__<<endl;
        return 0;
}

这代码可以么,预定义的宏__FILE__?
2013-7-15 18:14
0
雪    币: 297
活跃值: (235)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
3
toolhelp32枚举自身模块,第一个就是自己的名字
2013-7-15 18:15
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
那这个宏本质上是用了哪个api呢?
2013-7-15 18:18
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是C/C++里面预定义的,看头文件就知道了,至于实现细节就不知道是用的什么API了
2013-7-15 18:20
0
雪    币: 538
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这就是个宏,没用什么API ,编译后被替换为宏被引用的文件名(源文件名)

比如 在  hehe.c 中引用 __FILE__  就替换为  ....../hehe.c

恩,就是这么的
2013-7-15 18:53
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
那就是说  如果别人在运行之前   把文件名改掉    就没用了
2013-7-15 18:59
0
雪    币: 6003
活跃值: (3490)
能力值: ( LV6,RANK:96 )
在线值:
发帖
回帖
粉丝
8
通过PEB可以获得.

  __asm
  {
    mov eax, fs:[0x18]
    mov eax, [eax + 0x30]
    mov eax, [eax + 0xc]
    mov eax, [eax + 0xc]
    mov eax, [eax + 0x30]
  }
上传的附件:
2013-7-15 20:53
0
雪    币: 9
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
api:  PathFindFileName
2013-7-15 22:40
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=Imyang;1199221]通过PEB可以获得.
80850
  __asm
  {
    mov eax, fs:[0x18]
    mov eax, [eax + 0x30]
    mov eax, [eax + 0xc]
    mov eax, [eax + 0xc]
    mov eax, [eax + 0...[/QUOTE]

原来那程序  使用了这个方法      怪不得hook  api  木有用
2013-7-16 02:06
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
GetModuleFileName
2013-7-16 09:29
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=Imyang;1199221]通过PEB可以获得.
80850
  __asm
  {
    mov eax, fs:[0x18]
    mov eax, [eax + 0x30]
    mov eax, [eax + 0xc]
    mov eax, [eax + 0xc]
    mov eax, [eax + 0...[/QUOTE]

膜拜大牛一下
2013-7-16 12:15
0
雪    币: 12
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
GetInstanceHandle
2013-7-20 17:28
0
游客
登录 | 注册 方可回帖
返回
//