首页
社区
课程
招聘
[求助]程序打开文本文件后,不知道怎么跟踪调用的DLL的函数,exe又是传什么参数给这个函数的
发表于: 2021-7-15 00:13 3683

[求助]程序打开文本文件后,不知道怎么跟踪调用的DLL的函数,exe又是传什么参数给这个函数的

2021-7-15 00:13
3683

怎么查找到exe程序中谁调用了GetOpenFileNameA的路径名,然后他是怎么传给dll的函数sub_1002B392的,自己尝试找ifstream 还有realfile并没有找到有调用GetOpenFileNameA的路径名。

 

大家好,刚学IDA还不是很熟悉,请多多指教,表达如果不清晰还请见谅,以下是我是我在学习过程中遇上的问题
图片描述
上图是DLL文件中处理文本字符串的最顶端的函数,这里有8个形参不知道是怎么样,所以我就打开EXE也IDA先看了sub_418334函数下面有一个GetOpenFileNameA附近的代码,发现没有调用这个DLL的函数的地方,然后我有打了断点执行了一遍,然后没有找到调用这个函数的地方,EXE下图 图片描述看了一下GetOpenFileNameA的内容最终是return了,然后我就找到上级函数sub_401A2E 图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
图片描述
最后就是整个过程看下来没有找到有关这个dll调用的函数,断点跑过,但是按了好多次才发现自己要找的dll显示两次,然后还看不到伪代码,求大佬指点,我要怎么找到这个exe是怎么调用这个dll并给他传的什么参数


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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 3741
活跃值: (5896)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
尝试  查找对CreateFileA的调用   动态调试可以在CreateFileA  CreateFileW下断点
2021-7-15 09:45
0
雪    币: 12
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
大佬,我两个createfile都打断点了,但是运行后没有在这两个端点停下
2021-7-16 20:34
0
雪    币: 12
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
也没有看到这个上下文有ifstream的,realfile倒是有两处,一样是打了断点没有反应的
2021-7-16 20:36
0
雪    币: 12
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
我回头又去看了一下GetOpenFileNameA(v8),发现路径应该是创给v8的,但是v8是这个结构体struct tagOFNA *v8;,也看到不结构体张什么样,应该跟FileOpen 差不多吧,然后我就看了v8的赋值 
v8 = (struct tagOFNA *)((char *)v1 + 92); 而v1 = this;又是this的赋值,v1是个CDialog 对象指针,CDialog *v1;,this是个形参CDialog *this,接着我又调到上级看,他又是一个char v21的单字符。。。我就懵了
2021-7-16 20:43
0
雪    币: 12
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
发现多个电脑反汇编的伪代码类型都不一样,而且MFC的又没多少人会,不纠结了,请问怎么结贴
2021-7-18 23:09
0
雪    币: 220
活跃值: (493)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
看不懂你在说什么...
我只能回复我看得懂的, ifstream是c++的模板库, 编译成汇编以后,你在ida等调试器里面不可能找得到ifstream的;

你截图里面都识别出mfc的符号了,说明你有pdb对吧? 所以你是在干啥? 逆向别人的还是调试自己的? 调试自己的为什么不用源码呢? 代码丢失?
2021-7-18 23:25
0
雪    币: 3741
活跃值: (5896)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
8
方便把文件发出来看看吗?
2021-7-19 10:19
0
游客
登录 | 注册 方可回帖
返回
//