终于成功了,散分

rickerliang 2007-01-24 09:53:18
wrtm,终于成功了,进程注入终于成功了
wr啊,要我出动汇编才把tmd搞掂
最后要提出的是,很多朋友在debug下会出现access violation,这是因为在debug下,vc默认在函数返回前调用_checkstack这个crt函数导致的(该函数以偏移量调用,当去到另一个进程时,偏移量就不准确了),可以去掉/Gz编译器选项以解决这个问题。

以后还要请大家多多指教,谢谢
...全文
455 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
Y___Y 2007-01-26
  • 打赏
  • 举报
回复
jiefen
xuxingok 2007-01-26
  • 打赏
  • 举报
回复
恭喜恭喜
davyaxl 2007-01-26
  • 打赏
  • 举报
回复
学习,接分
pomelowu 2007-01-26
  • 打赏
  • 举报
回复
恭喜~
shan48 2007-01-26
  • 打赏
  • 举报
回复
恭喜一下啊
six2me 2007-01-26
  • 打赏
  • 举报
回复
不错,值得收藏一下,比较高深的.
definegg 2007-01-26
  • 打赏
  • 举报
回复
gx
zdleek 2007-01-26
  • 打赏
  • 举报
回复
up,mark
mynamelj 2007-01-26
  • 打赏
  • 举报
回复
恭喜
东文-桑晨 2007-01-26
  • 打赏
  • 举报
回复
gx
东文-桑晨 2007-01-26
  • 打赏
  • 举报
回复
jf
cutftp 2007-01-26
  • 打赏
  • 举报
回复
恭喜下
rickerliang 2007-01-25
  • 打赏
  • 举报
回复
就是那个createremotethread
使用它之前需要准备:
1.提升本进程特权,通常debug就够了
2.准备线程函数
3.使用writeprocessmemory把线程函数写到目标进程
4.createremotethread启动线程
ok
其他什么的如何获取进程句柄,virtualallocex之类就不多说了,msdn上大把事例代码
最为重要的就是那个线程函数,即step2
该函数在正常情况下是不能调用任何函数的,包括crt、api和自定义的函数。但有些是例外的,例如kernel32.dll内的,因为这些函数总是映射到每一个进程的特定位置,有了kernel32.dll的loadlibrary和getprocaddress,你就可以为所欲为了,要注意的是,loadlibrary和getprocaddress也不能用函数名来调用,一定要通过地址来调用,就像:
PLoadLibraryA pllba = (PLoadLibraryA)0x7C801D77;
HMODULE huser32 = pllba(tmp);// tmp="my.dll"
还有就是在线程内不能使用常量,特别是字符串常量,因为常量的地址不是对应目标进程的
必要时可在线程内嵌入汇编
_asm
{
int 3;// 这个的作用不用说了吧
}
这是为了在release下也能启动调试器来调试目标进程内我注入的那个线程
以上,个人见解
请指点一下,谢了
zdleek 2007-01-25
  • 打赏
  • 举报
回复
jf
lsmartt 2007-01-25
  • 打赏
  • 举报
回复
来者有分?
vcnewer 2007-01-25
  • 打赏
  • 举报
回复
呵呵
whiteclouds 2007-01-25
  • 打赏
  • 举报
回复
不知道,从来没遇到过这种情况
xuelong20080115 2007-01-25
  • 打赏
  • 举报
回复
恭喜
祝福
继续加油!
toxyboy 2007-01-25
  • 打赏
  • 举报
回复
没搞过进程注入,楼主说说怎么搞?
uoice 2007-01-25
  • 打赏
  • 举报
回复
jf
加载更多回复(28)

1,650

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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