【塞北雪貂】变态VB之HookAPI(陈辉作品)
标题的名字本身就变态,因为VB做HookAPI的确让人难以理解,没两把刷子的人也不敢轻易尝试。但陈辉兄弟写出了目前最简单的Hook代码,初步测试效果还不错。
早期研究过憨豆豆(超级绿豆)的版本,也是一部惊世之作。现在,VB的Fans们又多了一项选择。
这个HookAPI,在注入的目标为VB编译的EXE或Explorer可以正常工作,其他的exe会有问题,希望有高人能跟踪测试一下问题之所在,造福VB一方网民。
http://blog.csdn.net/Modest/archive/2007/09/18/1789758.aspx
PS:陈辉就是现在COM版小版主chenhui530
[解决办法]
收藏,学习!
[解决办法]
JF,学习,
[解决办法]
关注中。。。
[解决办法]
强烈支持,随便请各位高手看看我现在遇到的难题:
http://community.csdn.net/Expert/topic/5745/5745403.xml?temp=.0952875
我是没办法了才在这个帖子里面这样写的,谢谢
[解决办法]
狠狠T楼主一脚.............
[解决办法]
我怎么没测出什么来?
运行 HookAPI 毫无声息地退出了。
[解决办法]
呵呵老魏可能少传了个东西~~~
最近出差在外忙~~~
[解决办法]
狠狠T楼主下面一脚.............
呵呵
[解决办法]
把豆豆拉上来活活B4一下好了
偶已经B4过这个死BT了
[解决办法]
高科技啊~~支持,顶起`~~~学习~~~
[解决办法]
注入代码的主要问题是你的代码用到的东西在目标进程可能没有,比如VB runtime, vc runtime等等,而你也不能确定加载的DLL都是在相同的位置。所以我写诸如函数的时候都是只用Windows API的。
[解决办法]
收藏,学习!
[解决办法]
偶最欣赏楼主的分:)
[解决办法]
运行无效!
[解决办法]
哈哈,看过了,不错!
[解决办法]
借鉴一下
[解决办法]
看不懂的都要顶
[解决办法]
300/100=3分
顶了 不过说到底 用VB玩HOOK就是自杀
[解决办法]
看不懂,收藏,学习!
[解决办法]
接分才是王道
[解决办法]
mark up
[解决办法]
学习
[解决办法]
学习一下,
----------
该文中的HookInfo在编译的时候需要修改Base参数值为52000000才可以正常工作,本文附件中为vb的插件,可以在编译的过程中修改编译参数。
http://dl2.csdn.net/down4/20070919/19092707312.rar
----------------
这个在我电脑里怎么安装不上,总是说“Missing "
[解决办法]
来学习的!
[解决办法]
js
[解决办法]
mark
[解决办法]
不知道大家有没有测试成功的,我把hookinfo.exe的base address(&H400000)改为&H1100000,52000000都无法正常打开hookinfo.exe,不过我不是在编译时改的,是在编译后改的基址
[解决办法]
实际上VB编译时向link.exe传递的参数序列中有这样的一个参数/BASE:0x400000,只要截获向link.exe传递的参数序列并修改/BASE:0x400000,然后再传到link.exe就可以轻松修改基址了!
为此,可以编一个名link.exe程序,将原来的link.exe改为link1.exe,并将link.exe和link1.exe放在同一目录
link.exe代码:
sub main()
dim cmd as string
cmd=command
cmd=replace(cmd, "/BASE:0x400000 ", "/BASE:0x1100000 ")
shell app.path & "\ " & "link1.exe " & cmd
end sub
[解决办法]
我是来学习的~~
[解决办法]
都是玩高科技的,强得不行了,偶像啊………………
[解决办法]
也许我的blog中有你感兴趣的文章:
blog.csdn.net/mydo
[解决办法]
运行 HookAPI 毫无声息地退出了。
具体是到这句:hNewMod = VirtualAllocEx(hProcess, hMod, nSize, MEM_RESERVE Or MEM_COMMIT, PAGE_EXECUTE_READWRITE)时就退出了,hNewMod =0
[解决办法]
'*************************************************************************
''这里要做下判断如果是注入非VB程序得拷贝VB库如果是VB程序则不需要下面代码
' Copy VB Runtime to EXE memory (same code as to copy our EXE, so I won't comment it again.
' Dim hVBMod As Long, lngVBnSize As Long, hVBNewMod As Long
' hVBMod = GetModuleHandleA("msvbvm60.dll")
' If hVBMod = 0 Then End
' CopyMemory objPImageDosHeader, ByVal hVBMod, Len(objPImageDosHeader)
' CopyMemory objPImageOptionalHeader, ByVal (hVBMod + objPImageDosHeader.e_lfanew + 4 + Len(objTImageFileHeader)), Len(objPImageOptionalHeader)
' lngVBnSize = objPImageOptionalHeader.SizeOfImage
' hVBNewMod = VirtualAllocEx(hProcess, hVBMod, lngVBnSize, MEM_RESERVE Or MEM_COMMIT, PAGE_EXECUTE_READWRITE)
' If hVBNewMod = 0 Then End
' If WriteProcessMemory(hProcess, ByVal hVBNewMod, ByVal hVBMod, lngVBnSize, lngBytesWritten) = 0 Then End
'**************************************************************************
在注入的目标为VB编译的EXE或Explorer可以正常工作,其他的exe会有问题
是不是因为没有去掉上面的代码注释?