[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 51# 3dnowex
这正是我在开发手记里面说的那个想法,结果是失败了
一切都做得很正常,但是唯一的问题在于,新线程返回到旧的执行点的时候,会有问题
CMD不是用独立的内存保存批处理代码执行位置的,也就是说新线程的批处理代码执行位置会把旧线程的位置代替掉
所以说杯具了,尽管调用了新线程,但是没办法返回到之前执行的位置
PS 有另外一个新想法,正在试验中
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

回复 50# defanive
在想bat是否能联合vbs通过这种方法做界面。
capi如果能自带一个调用函数,把其地址传给RegisterClass的参量WNDCLASS的lpfnWndProc,系统执行这个窗口消息处理函数的时候即跳入capi的内函数,capi开一个cmd新线程,将主动权bat指定的函数,执行到goto :EOF再次返回capi的内函数随后返回系统←不知这样是否可行呢?

TOP

回复 49# 3dnowex
这个比较奇怪,我试了一下,IE对象的其他方法和属性调用都正常
但是Navigate和Navigate2调用会导致崩溃
原因暂时不明,正在研究中
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

求助一下这种方式为何内存会出现读取错误?
  1. @echo off
  2. ..\CAPI
  3. set CAPI=COM Init
  4. set CAPI=COM Create InternetExplorer.Application
  5. set obj=%CAPI_Ret%
  6. set CAPI=COM Method %obj% Navigate $about:blank
  7. set CAPI=COM PUT %obj% Visible ;1"
复制代码
执行obj.navigate("about:blank")时内存出错

TOP

回复 47# defanive


    我用的是笨方法啊,又学一招了,谢谢!

TOP

回复 46# garyng
嗯都是这样的,不是么
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

回复 45# defanive


    跳到自定义函数后ret? 求解释啊

TOP

回复 44# garyng
我的方法比较巧妙,不需要恢复API
原理很简单,仔细研究一下API的函数头就知道了
而且你说的也对,CMD是单线程的,不会出现这种情况
我的方法只是为了提高速度而已
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

回复 43# defanive

当调用HOOKED API时,就会jmp到自定义函数,当自定义函数处理玩后,就会把Api恢复,然后就返回,
可是在恢复api时刚刚好别的线程调用怎么办?


但是,cmd下应该不会发生这种事吧,毕竟是单线程的

TOP

回复 42# garyng
不会,怎么会呢?
执行API都是把代码跳转到API的代码处执行,我把API的代码改成了JMP到我的函数
因此只要是调用API都会JMP到我的函数
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

回复 41# defanive


   这种方法不会漏钩子么?

TOP

回复 32# garyng
修改函数头的JMP跳转
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

更新:1.1, Build 1D8B0, x32
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

回复 38# 3dnowex
我的意思就是这样,批处理要判断自己是不是在x64环境下
如果是的话,批处理需要自己启动WOW64下的cmd.exe,这时候才是32位进程,才可以注入
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

本帖最后由 3dnowex 于 2012-10-8 21:08 编辑

实测win7x64下出错,0xc0000018
用lordpe修改.text区段标志为内存中可共享,修改.rdata区段标志位内存中可共享,可写入。至此capi在win7x64下注入成功。
因为win7x64下windows\system32\cmd.exe比win7x32下的大100多KB,貌似实现了一个转向功能,就是运行cmd.exe时候根据系统自动转入windows\syswow64\cmd.exe,此时会注入失败。单独使用win7x64的syswow64下的cmd.exe和win7x32下的system32\cmd.exe均可以注入成功。实测在reactos的cmd.exe中也可以注入成功。

TOP

返回列表