能力值:
( LV13,RANK:240 )
|
-
-
2 楼
EAX就是返回值。
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
[QUOTE=ffggddss;1276574]不太懂dll的返回值 运行机制 找找半天堆栈 寄存器 都没找到返回值放在哪里- -
直接把函数入口处 修改成 ret 0x10 可以直接返回0
谁能教下 怎么让他返回1 或者2 呢
[/QUOTE]
这个与“dll”有什么直接或者间接关系吗……你这不叫“不怎么懂dll”,是不怎么懂“什么叫计算机”
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
现在这些人,全都是急功近利的伸手党……从来不会考虑自己真正去学点东西……连最起码的基础都没有,就开始搞这些了……挂钩,外挂这些,真是一门神奇的技术啊,感觉貌似扫地大妈哪天厌倦了,也随便搞点代码玩玩……不过人家扫地大妈做事够踏实
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
哈哈 我笑喷了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
该怎么做才能让他正常运行呢 直接给eax值后 ret od里没事 调试器里输出返回值 会崩溃
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
无语 我这跟外挂 伸手党有什么关系? 我直接从调用处改他返回值不就行了 我何必非要从函数这里改他返回值呢? 懂的话 说 要么给文章 你没新手过?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
你跑人家MessageBoxA里改什么咯。 你直接在CALL下面 加一条 改EAX的值就好了啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
晕死 我只是想知道这怎么改 到外面直接改 我知道 但我只是想知道该怎么里面改!
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
。。。。 你看那个地址。 MessageBoxA 是一个函数,他只是个调用。怎么能在里面改。不信,你试试 改掉能保存呢
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
不可能吧 MessageBoxA 是有返回值的 点的确定 返回0 点的取消返回1 我只是想改下这个返回值!!! 难道这个函数的返回值只能到外面改- -!
|
能力值:
( LV3,RANK:30 )
|
-
-
12 楼
我会先学好起码的常识再做该做的事
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
删了回复吧
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
算了,还是删了回复吧
|
能力值:
( LV3,RANK:30 )
|
-
-
15 楼
你这不叫“技多”,你这是起码的基础都没有,与学没学过某个具体的技能比如逆向没有任何关系
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
删了回复吧
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
恩 数值这个我注意到了 测试了下VB里 直接ret返回值 是不会出问题的 返回值输出增长 程序也没崩溃 E里就崩溃 鬼知道咋回事 !
|
能力值:
( LV13,RANK:240 )
|
-
-
18 楼
mov eax,1
retn 0x10
注意堆栈平衡retn 0x10就可以了。返回的就是1了
想返回0
mov eax,0
ret 0x10
崩溃一般是堆栈没有平衡好
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
楼主我是来虚心学习的
看你这图,好像根本就没对messagebox的返回值进行处理啊。
你这里的返回根本不是它的返回值
一般api函数的话
call xxx
mov xx,eax
这个时候的eax就是返回值
你这里估计就是起个提示作业
我也是新手,不敢妄评
|
能力值:
( LV3,RANK:20 )
|
-
-
20 楼
MessageBox存在于User32.dll中,这个是系统文件。
你不会为了修改一个程序而把他修改了吧,那么其他程序调用这个API时就不正常啦
所以如果想修改消息框的消息,只能从程序传递参数时入手,还要涉及一点点汇编
建议楼主看一看动态链接库(dll)方面的知识,有了基础这些就自然知道了,加油~
另外可以看看MSDN的帮助文档,了解API后才能胸有成竹嘛。
|
|
|