zq3344 发表于 2016-10-14 15:50

谢谢好文啊

lyrong 发表于 2016-10-14 16:49

呵呵 够实力 谢谢分享

andydau 发表于 2016-10-14 17:15

学校一下总是好的 感谢你们的教程

lyrong 发表于 2016-10-14 18:44

您好 sky大牛 我想请问一个问题
下MessageBoxA断点,会断在调用API的汇编代码段
一般恒大的教程是叫我们直接改跳转实现跳过对话框
但是我按照以往的思路,直接修改跳转实现跳过对话框 结果运行程序崩溃
你回溯到下面的地方,是F8跟过了好像两个MessageBox调用段
https://www.52hb.com/data/attachment/forum/201610/11/233415d4jid2dg7t6zgqdm.jpg
我的疑问就在这,你怎么知道就是这个CALL呢?这个CALL固然有跳转跳过MessageBox,但是这个CALL的内部,也有实现跳过MessageBox的跳转呀?你能告诉我你是怎么想的吗?麻烦你了,谢谢!

Shy 发表于 2016-10-14 19:53

lyrong 发表于 2016-10-14 18:44
您好 sky大牛 我想请问一个问题
下MessageBoxA断点,会断在调用API的汇编代码段
一般恒大的教程是叫我们 ...

懂你的意思,就是说两个call分别为A跟B,A Call调用B call,Bcall直接调用MessageBoxA,那么我们从MessageBoxA出来就妥妥的在B call对不对?这时候你就要想,这个Bcall内是否有跳可以跳过,另外还要看一个代码段的问题,一般来说Acall所在的代码段是在区段名为Text段,大概的范围是00401000-00402000内,而Bcall一般不在此范围,最后,就跟MessageBoxA一样,所有代码都可以调用,那么Bcall也只是这个代码的执行者,而不是真正的发布者,,希望能帮到你

lyrong 发表于 2016-10-14 20:09

Shy 发表于 2016-10-14 19:53
懂你的意思,就是说两个call分别为A跟B,A Call调用B call,Bcall直接调用MessageBoxA,那么我们从Messag ...

恩 理解了大部分 但是你怎么知道BCALL只是执行者而不是发布者呢?这是不是凭借经验来着?

一般来说Acall所在的代码段是在区段名为Text段,大概的范围是00401000-00402000内,而Bcall一般不在此范围

范围在00401000-00402000区间内有什么含义吗?

Shy 发表于 2016-10-14 20:42

lyrong 发表于 2016-10-14 20:09
恩 理解了大部分 但是你怎么知道BCALL只是执行者而不是发布者呢?这是不是凭借经验来着?

一般来说Aca ...

这个Bcall是不是执行者,其实你自己可以去用易语言编译个信息框,然后你去返回一下就会知道,含义的话,这个就是个人理解吧,也不能说是特别专业,,具体你可以自己编译一个试一下,直接在易语言里面用信息框命令跟直接用MessageBoxA函数是不一样的,,,

lyrong 发表于 2016-10-15 00:28

Shy 发表于 2016-10-14 20:42
这个Bcall是不是执行者,其实你自己可以去用易语言编译个信息框,然后你去返回一下就会知道,含义的话, ...

懂了,光看到messagebox还不行,这个只是调用了他的函数,还需要回溯到发布者,也就是关键点,是什么导致出现弹窗错误提示。

hsjboy 发表于 2016-10-15 09:49

感谢分享,学习了。

zhao1509841 发表于 2016-10-15 10:15

这个要支持的,好好
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: VC照样一字节任意Key注册成功并Patch Hwid