关于编译器设置的问题 来者有分

ziplj 2010-02-26 12:39:10
最近由于工作需要 需要做一个远程线程的例子 不知道为什么 每次创建远程线程的时候目标进程总是挂掉

我在网上找到一个类似的例子 在他的线程函数前面下了一个断点 反汇编出来的代码如下

static DWORD WINAPI ThreadFunc (INJDATA *pData)
{
0042DB00 push ebp
0042DB01 mov ebp,esp
0042DB03 sub esp,44h
0042DB06 push ebx
0042DB07 push esi
0042DB08 push edi
int nXferred = 0; // number of chars retrieved by WM_GETTEXT
0042DB09 mov dword ptr [nXferred],0


而我的线程函数下了一个断点 反汇编出来的内容如下

static DWORD WINAPI RemoteThreadProc(PRemotePara lpData)
{
00413870 push ebp
00413871 mov ebp,esp
00413873 sub esp,10Ch
00413879 push ebx
0041387A push esi
0041387B push edi
0041387C lea edi,[ebp-10Ch]
00413882 mov ecx,43h
00413887 mov eax,0CCCCCCCCh
0041388C rep stos dword ptr es:[edi]
0041388E mov eax,dword ptr [___security_cookie (421190h)]
00413893 xor eax,ebp
00413895 mov dword ptr [ebp-4],eax
char pStatckDebugString1[] = "进入远程线程";
00413898 mov eax,dword ptr [string "\xbd\xf8\xc8\xeb\xd4\xb6\xb3\xcc\xcf\xdf\xb3\xcc" (41DFF4h)]


根据我的猜想 我认为目标程序挂掉的主要原因就是编译器加了好多绝对地址的指令

因此 我想问 是什么编译器设置会产生这些不同的汇编代码?
...全文
232 35 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
密斯刘 2010-03-02
  • 打赏
  • 举报
回复
友情帮顶 …… 顺便接分
SiGoYi 2010-03-02
  • 打赏
  • 举报
回复
帮顶~~~~~~~~~~~~~~~~~~~~~~~~
sunlin7 2010-03-02
  • 打赏
  • 举报
回复
我写了个RawPeApi的库,可以轻松的实现远线程注入,楼主要不要试试啊,说不定很有用呢,呵呵
Eleven 2010-03-02
  • 打赏
  • 举报
回复
引用 33 楼 bragi523 的回复:
纯jf
加长回复长度

一样
bragi523 2010-03-02
  • 打赏
  • 举报
回复
纯jf
加长回复长度
lmxmx 2010-03-02
  • 打赏
  • 举报
回复
……

我是来接分的,听说来者有分?
sjdev 2010-03-02
  • 打赏
  • 举报
回复
等看你博客上的文章吧。

发博客的时候别忘记再发一贴散分
cdsnpeter 2010-03-02
  • 打赏
  • 举报
回复
自问自答,分散给谁呢??请楼主思考下这个问题。
Qliliming 2010-03-02
  • 打赏
  • 举报
回复
我刚学习多线程,大概浏览了一下《Win32多线程程序设计》,对于多线程完全还是雾里看花。我来观摩学习。
WizardK 2010-03-02
  • 打赏
  • 举报
回复
好快就终结的帖子。。。
ziplj 2010-02-27
  • 打赏
  • 举报
回复
乱挖坟
stjay 2010-02-27
  • 打赏
  • 举报
回复
1.禁用运行时库检查
2.不用运行时库函数,要重定位
3.部分API可能也要重定位,可用LoadLibrary,GetProcAddress
4.常量字符串,可转为16进制数组
如DWORD sz[]={0x31323334, 0x00003536}表示ANSI的"432165"
密斯刘 2010-02-27
  • 打赏
  • 举报
回复
帮顶
jingzhongrong 2010-02-27
  • 打赏
  • 举报
回复
ziplj 2010-02-26
  • 打赏
  • 举报
回复
算了 找到了设置地址 散分了 版主移到非技术区去吧
siLence_Again 2010-02-26
  • 打赏
  • 举报
回复
没见到过相关的设置 楼下解释。

看到有分所以占个楼
dubiousway 2010-02-26
  • 打赏
  • 举报
回复
先来再看
先来再看
先来再看
先来再看
ziplj 2010-02-26
  • 打赏
  • 举报
回复
汗 CSDN咋了? 排半天版成这个样子 ...


我想问的是 到底是什么编译器设置会产生这些不同的汇编代码?
ameyume 2010-02-26
  • 打赏
  • 举报
回复
学习,接分。刚接触者方面,看的一头雾水。
长尾巴的悟空 2010-02-26
  • 打赏
  • 举报
回复
自问自答吗?很好,我就喜欢这样!
加载更多回复(15)

15,473

社区成员

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

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