Quantcast
Channel: 《C语言函数实现的另类方法》的评论
Browsing all 16 articles
Browse latest View live

作者:杭州-木风

“那堆乱七八糟的东西说白了就是汇编。” — 这个描述有点不科学! “那堆乱七八糟的东西说白了就是机器码。” — 这样才对吧? 和thunk有点类似么,数据和代码本无界限~ 不过linux内核不是有保护的么?数据页的内容不让执行,代码页的不让修改! 哪位大侠知道这种保护linux上怎么去设置,也就是说表现为代码侧是怎么样的?

View Article


作者:杭州-木风

“那堆乱七八糟的东西说白了就是汇编。” — 这个描述有点不科学! “那堆乱七八糟的东西说白了就是机器码。” — 这样才对吧? 和thunk有点类似么,数据和代码本无界限~ 不过linux内核不是有保护的么?数据页的内容不让执行,代码页的不让修改! 哪位大侠知道这种保护linux上怎么去设置,也就是说表现为代码侧是怎么样的? PS: 评论没法成功重新发的时候怎么提示说我好像发过类似评论?— bug啊~~~

View Article


作者:OwnWaterloo

小心DEP……

View Article

作者:islet8

这类技巧权当娱乐就好了,千万别让孩子们觉得是在鼓励他们写出“奇妙”的程序。 另外,很严重的一个问题是,这个交换内存的方法,当传入a和b的地址是同一个地址时,就杯具了。

View Article

作者:Javran

如果a和b指向的是同一个内存地址的话,这么写swap不好使.

View Article


作者:muzuiget

<blockquote cite="#commentbody-25233"> <strong><a href="#comment-25233" rel="nofollow">Iven</a> :</strong> 换成 64 位还能编译吗?哈哈~ </blockquote> 我真的试了,段错误。

View Article

作者:qeewe

这是shellcode,黑客常用手法,所以现在linux和windows等加了DEP防止栈执行。

View Article

作者:嗷嗷

这个a^=b^=a^=b是有问题的,不妨看看 http://c-faq.com/expr/xorswapexpr.html

View Article


作者:在星星上摇摆

<a href="#comment-25266" rel="nofollow">@杭州-木风 </a> 这种字符串的定义方式是把东西放到了正文段的上半部,还是在代码部分呢,没在数据部分。

View Article


作者:Sorawa

果然是 SMC手法

View Article

作者:Williams

做3次异或的方法不如用临时变量高效

View Article

作者:Xsoda

其实也可以这么写: void swap(int *a,int *b) { __asm{ push a push b pop a pop b } }

View Article

作者:musiclife

shellcode ,大学的时候看老师演示过,目瞪口呆啊!

View Article


作者:zyx

以前写过这个,在mingw gcc 3.4.5 下测试通过 #include unsigned int main[]={0x0000a268,0xb8909000,(int)(void*)putchar,0x6858D0FF,0x000000e1,0xb8909090, (int)(void*)putchar,0xb858d0ff,(int)(void*)getchar,0xc390d0ff};

View Article

作者:菜鸟

a^=b^=a^=b;行为undefined,两个顺序点之间变量值多次改变.

View Article


作者:OGM

shellcode 最基本的东西

View Article
Browsing all 16 articles
Browse latest View live