1397 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-10-11
  • 打赏
  • 举报
回复
引用 16 楼 xiaoyao961 的回复:
[quote=引用 15 楼 赵4老师的回复:]解决多开最完美的方法我觉得是多个虚拟机。
什么虚拟机啊我只是想把一个dll注入ie[/quote] 你将dll注入ie的目的不是想多开ie关联的用户吗?
赵4老师 2016-10-11
  • 打赏
  • 举报
回复
多个虚拟机中的IE肯定可以隔离。 HyperV、VMWare、VirtualBox都是虚拟机。
  • 打赏
  • 举报
回复
引用 17 楼 zhao4zhong1 的回复:
[quote=引用 16 楼 xiaoyao961 的回复:] [quote=引用 15 楼 赵4老师的回复:]解决多开最完美的方法我觉得是多个虚拟机。
什么虚拟机啊我只是想把一个dll注入ie[/quote] 你将dll注入ie的目的不是想多开ie关联的用户吗?[/quote] 注入IE主要是用来取COOKIE,同时一个IE中创建10个100个线程,指定时间批量抢手机。 另一个问题也碰到了多个IE COOKIE没法隔离的事情。我不知你说的虚拟机是什么东西。 虚拟桌面这回事你前面另一个贴和我回了,但是那个虚拟桌面里面的IE是否COOKIE隔离我不知道,不知多创建一些虚拟桌面需要额外占用多少系统开销》
  • 打赏
  • 举报
回复
引用 15 楼 赵4老师的回复:
解决多开最完美的方法我觉得是多个虚拟机。
什么虚拟机啊我只是想把一个dll注入ie
赵4老师 2016-10-10
  • 打赏
  • 举报
回复
解决多开最完美的方法我觉得是多个虚拟机。
  • 打赏
  • 举报
回复
引用 13 楼 赵4老师的回复:
同时运行多个虚拟机?
老师这里有什么虚拟机,你是不是回复错了?
赵4老师 2016-10-08
  • 打赏
  • 举报
回复
同时运行多个虚拟机?
  • 打赏
  • 举报
回复
早上我在网上看了好多文章,发现别人是用两个方法,第一个在dll加载的时候创建一个线程,然后在里面再创建一个线程,打开窗体form1.show 1
一笑拔剑 2016-10-07
  • 打赏
  • 举报
回复
引用 8 楼 Chen8013 的回复:
[quote=引用 7 楼 aspower_ 的回复:] VB那有什么多线程? 这事要VC 或者C#来写,不轻轻松松 然后你中途一段代码卡住了,就整个进程卡住了 你这样吧,不如多进程,多开几个程序,然后程序间想个办法协同一下, 估计效果还比你现在的好.
VB6完全可以“多线程”。 [/quote] 讲真,VB的那些多线程我都看过, 都假.以前老马不是弄过一个ACTIVEX的多线程 明明是两个进程,也叫多线程!?
  • 打赏
  • 举报
回复
第5楼我已经完美实现了多线程,只是注入的dll好像没办法内存变量共享。只是想优化一下,不修改一样可以运行时 普通exe方式的多线程完美实现内存共用,并且实现ui同步更新
  • 打赏
  • 举报
回复
引用 9 楼 aspower_的回复:
[quote=引用 8 楼 Chen8013 的回复:] [quote=引用 7 楼 aspower_ 的回复:] VB那有什么多线程? 这事要VC 或者C#来写,不轻轻松松 然后你中途一段代码卡住了,就整个进程卡住了 你这样吧,不如多进程,多开几个程序,然后程序间想个办法协同一下, 估计效果还比你现在的好.
VB6完全可以“多线程”。 [/quote] 讲真,VB的那些多线程我都看过, 都假.以前老马不是弄过一个ACTIVEX的多线程 明明是两个进程,也叫多线程!?[/quote] 这个active.exe完全可以做到只有一个线程,只是创建一个新线程需要25毫秒左右,exe越大越慢。而且也可以另一个方法直接用createthread api创建新线程,5毫秒左右一个线程。只是需要初始化载入一下msvbvm60.dll。最多我试过1000-2000线程同时运行。 第三,还可以直接生成标准dll注入其他程序,第四,还可以无dll方式hook其他进程api调用。 vb6功能好多,只是需要一些取巧。
舉杯邀明月 2016-10-06
  • 打赏
  • 举报
回复
引用 7 楼 aspower_ 的回复:
VB那有什么多线程? 这事要VC 或者C#来写,不轻轻松松 然后你中途一段代码卡住了,就整个进程卡住了 你这样吧,不如多进程,多开几个程序,然后程序间想个办法协同一下, 估计效果还比你现在的好.
VB6完全可以“多线程”。
一笑拔剑 2016-10-06
  • 打赏
  • 举报
回复
VB那有什么多线程? 这事要VC 或者C#来写,不轻轻松松 然后你中途一段代码卡住了,就整个进程卡住了 你这样吧,不如多进程,多开几个程序,然后程序间想个办法协同一下, 估计效果还比你现在的好.
  • 打赏
  • 举报
回复
一个关键问题,我用5个winhttp带事件数组对象,多个get收到数据的地方msgbox然后延时5秒再完成。理论上需要25秒,结果却同时弹出msgbox窗口,并且没有关闭的情况下他代码继续运行并且几乎同时结束,相当于msgbox拥有模态窗口的显示方式,却又回被多线程自动跳过不会堵塞。 我现在就是用msgbox把多线程给暂停却又回继续的原理,dll主线程不卡住却又没有停下来的原理完成 可是检查线程id好像一样,app.threadid? 是不是我错了?应该用。getcurentthreadid? 高手试试 dim withevents httpsz(5) as winhttp.*
  • 打赏
  • 举报
回复
利用VB编写dll注入其他进程的源代码(3) - 豆丁网
http://www.docin.com/p-46367578.html

又碰到一个问题,想找被注处程序的主窗口句柄,又是个难题了,一个接一个。

舉杯邀明月 2016-10-03
  • 打赏
  • 举报
回复
1楼的那段C++代码转为VB6代码,并没有什么难度吧,你还会搞不定?
引用 1 楼 xiaoyao961 的回复:
想改成VB代码,主要用途,把VB的DLL注入了其他进程,然后想隔段时间发送一个消息过去。 注入的DLL加载后自动就退出了,如果一调用DLL里的标准函数,就崩溃了。(被注入程序一般正常) 但是如果想删卸载这个DLL,被注程序也崩了 ........
这估计是你的DLL编写、编译的问题了。 你有没有试过,你的“标准DLL”能不能被其它开发环境(比如C++、Delphi等)正常调用? 也可以用Rundll32.exe来测试。 注意,如果只是来个什么加减乘除运算的DLL函数就免谈了,那些基本没有什么实用价值、也不能说明问题。 必须要能在函数(或过程)中调用别的API(系统提供的API函数),或者创建对象、显示窗口等; 也可以“被调用”用来创建新线程。 要能做到这一步的用VB6编译的DLL,才能算“成功”。
  • 打赏
  • 举报
回复
想改成VB代码,主要用途,把VB的DLL注入了其他进程,然后想隔段时间发送一个消息过去。 注入的DLL加载后自动就退出了,如果一调用DLL里的标准函数,就崩溃了。(被注入程序一般正常) 但是如果想删卸载这个DLL,被注程序也崩了 想加上模态窗口不让DLL加载后跳出,但是被注程序就被卡死了。 比如FORM1.SHOW 1 所以现在就想用DO WHILE方式 或加一个API TIMER等方式把注入状态保住。 要是能够2个不同进程还能交互就最好了。
struct handle_data {
	unsigned long process_id;
	HWND best_handle;
};

BOOL IsMainWindow(HWND handle)
{   
	return GetWindow(handle, GW_OWNER) == (HWND)0 && IsWindowVisible(handle);
}


HWND FindMainWindow(unsigned long process_id)
{
	handle_data data;
	data.process_id = process_id;
	data.best_handle = 0;
	EnumWindows(EnumWindowsCallback, (LPARAM)&data);
	return data.best_handle;
}

BOOL CALLBACK EnumWindowsCallback(HWND handle, LPARAM lParam)
{
	handle_data& data = *(handle_data*)lParam;
	unsigned long process_id = 0;
	GetWindowThreadProcessId(handle, &process_id);
	if (data.process_id != process_id || !IsMainWindow(handle)) {
		return TRUE;
	}
	data.best_handle = handle;
	return FALSE;   
}
  • 打赏
  • 举报
回复
这个是我的作品,一元抢手机。(一个DLL注入到IE)然后得到COOKIE,DLL中弹出一个空口,然后不退出,相当于IE多显示了一个 开发工具一样

利用网上的代码改的,但是一旦form1.show 1
马上IE都卡住了,无意中找到一个方法花了好几个周转把这个窗口给定住,用了3个线程进行东转西转才实现。
不知大家还有什么好方法?

就和ACTIVEX.EXE一样,也是会卡住的用了其他方法才让他多个线程同时运行 ,有人可以用那个方法试试?

  • 打赏
  • 举报
回复
引用 3 楼 Chen8013 的回复:
1楼的那段C++代码转为VB6代码,并没有什么难度吧,你还会搞不定? [quote=引用 1 楼 xiaoyao961 的回复:] 想改成VB代码,主要用途,把VB的DLL注入了其他进程,然后想隔段时间发送一个消息过去。 注入的DLL加载后自动就退出了,如果一调用DLL里的标准函数,就崩溃了。(被注入程序一般正常) 但是如果想删卸载这个DLL,被注程序也崩了 ........
这估计是你的DLL编写、编译的问题了。 你有没有试过,你的“标准DLL”能不能被其它开发环境(比如C++、Delphi等)正常调用? 也可以用Rundll32.exe来测试。 注意,如果只是来个什么加减乘除运算的DLL函数就免谈了,那些基本没有什么实用价值、也不能说明问题。 必须要能在函数(或过程)中调用别的API(系统提供的API函数),或者创建对象、显示窗口等; 也可以“被调用”用来创建新线程。 要能做到这一步的用VB6编译的DLL,才能算“成功”。 [/quote] 嗯,现在已经弄成做了一个DLL,然后注入到IE,再调用IE相关的API,读取COOKIE之类成功了。另外如果有需要也可以做在HOOK IE的请求和得到的数据,或者更改请求或收到的HTM代码。这个以前有研究过,没弄完。 HTPTWATCH之类的东西真是强大,不得不服。 其实我的目的就是不想把HTTPWATCH发给客户,让他们去复制COoKIE,我做个DLL注入IE,得到COOKIE,然后另外写软件进行POST提交,多线程,并且账号隔几分钟刷新一下,防止退出,这样做的好,登录的账号说不定几天都不会失效。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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