用dll,去call别人程序的内部函数

caplee 2006-04-25 03:06:22
我还没怎么入门,用dll可以call别人程序的内部函数。
一般的只要注意调用方式和传参顺序就可以了。
但是我碰到一个简单的call,却不调用
是这样
00574A18 |. 6A 01 push 1
00574A1A |. 68 55550098 push 985555 ;
00574A1F |. 68 85070000 push 785 ;
00574A24 |. 8B4D F4 mov ecx,dword ptr ss:[ebp-C] ;
00574A27 |. E8 A47C0B00 call unpack.0062C6D0 ;

这个ecx需要如何处理一下?
0062c6d0这个函数里需要ecx的值.
请知道的指点我入门吧~谢谢大家!!
...全文
275 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
caplee 2006-04-25
  • 打赏
  • 举报
回复
明白了,那我就比较郁闷了,我用的od,很方便~
结贴
大熊猫侯佩 2006-04-25
  • 打赏
  • 举报
回复
没你想的这么简单,光是重定位就有的搞了。我不知道你要 call 的 functiong
功能是什么?向我前面说的那样,如果是第一种情况,那就比较难搞,同时也说明
你对该 functiong 的实参分析不透澈。反之,比较好搞,只需要将判断的代码 fix
即可。你是用 w32dasm 的么?用 ollydbg 单步应该不难搞定。
caplee 2006-04-25
  • 打赏
  • 举报
回复
恩....我不太会在vc里嵌入汇编,我是说如果把这段代码都嵌到vc
里,是不是可以呢?我只知道嵌入的格式是
_asm{
}
不知道里面是照样写啊,还是什么样子的.
大熊猫侯佩 2006-04-25
  • 打赏
  • 举报
回复
一定有判断 ecx 的代码存在,有2种可能?

1 该 ecx 是子函数的必要参数,若该值不正确就会导致该子函数无法正常完成其
功能。

2 该 ecx 只是一个额外的东西,在 子函数中只是出于其他目的对他进行了判断
它的值不影响子函数的正常运行。

你要搞清楚到底是哪种情况。
caplee 2006-04-25
  • 打赏
  • 举报
回复
程序就因错误而退出了.错误提示闪一下就没了....没办法反应给你看
大熊猫侯佩 2006-04-25
  • 打赏
  • 举报
回复
如果输入了不合要求的 ecx 值会怎样?
caplee 2006-04-25
  • 打赏
  • 举报
回复
用它的值给函数里面又调用的一个函数传参.
大熊猫侯佩 2006-04-25
  • 打赏
  • 举报
回复
进入该子函数,看看他对 ecx 是如何需求的?作了如何的处理?

21,496

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧