首页
社区
课程
招聘
[求助]关于反汇编VC++生成的程序调用API时的参数问题
发表于: 2004-12-9 15:15 4591

[求助]关于反汇编VC++生成的程序调用API时的参数问题

2004-12-9 15:15
4591
关于反汇编VC++生成的程序调用API时的参数问题

举例说明:
push 0043000
push 0043004
push 0043008
push ecx
push eax
call esi

如上所示,前3个堆栈的是内存中的地址
如果动态跟踪到call esi处很容易获得其中的参数值

联系上下文感觉这些应该是程序编制时的常量值(不知理解是否正确)

我的问题是能否不运行这个程序而把这些参数值取出来,(那个软件做了
在线验证。可是服务器早没了。所以软件运行不起来)

高手们给点提示。或介绍些关于追踪破解在线验证程序的文章。

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

收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 161
活跃值: (231)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
编译器优化。全部都是参数,ESI指向一个函数,ESI的赋值语句可以向前找得到的。
2004-12-9 15:19
0
雪    币: 1790
活跃值: (3786)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
那个CALL ESI我知道是什么因为一分析就能得出

我的问题是怎么获得push 0043000
push 0043004
push 0043008
这三个里的值。因为它的验证服务器早没了。所以运行不到该处。
查找时这些地址为空。

能利用别的方法获得这里面的数据吗
2004-12-9 15:30
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
4
最初由 拍拖 发布
我的问题是怎么获得push 0043000
........


显然这是编译器写死了的
2004-12-9 15:45
0
雪    币: 161
活跃值: (231)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
静态成员,用在程序中用交差引用的方法来搜索写入到这个内存的代码。
2004-12-9 15:56
0
雪    币: 1790
活跃值: (3786)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
能不能查到到底是什么时候程序往这里予的值
2004-12-9 16:02
0
雪    币: 161
活跃值: (231)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
当然可以了,除非是从服务器中接收到的数据
2004-12-9 16:42
0
游客
登录 | 注册 方可回帖
返回
//