混淆 [英] obfuscated

查看:70
本文介绍了混淆的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,


任何人都可以解释为什么这个代码


main(_){for(--_; putchar( _ ++ [" J!Mpwf!Zpv \ 1"] - 1););}


正在产生输出::我爱你

1)主括号内的得分是什么?

2)这是什么意思__初始条件为

循环

3)这个操作符的作用是什么_(一元减去我假设)

putchar

解决方案



< aa ***** @ gmail.comwrote in message

news:11 ************ **********@m73g2000cwd.googlegr oups.com ...


大家好,


任何人都可以解释为什么这个代码


main(_){for(--_; putchar(_ ++ [" J!Mpwf!Zpv \ 1"]] - 1););}


正在产生输出::我爱你



并非没有看到所有这些。
<块quote class =post_quotes>
>


1)主括号内的得分是多少?

2)这是什么--_表示初始化条件为

循环

3)这个运算符_(一元减去我假设)的作用是什么?

putchar



不,它根本不是运营商。它可能是一个宏,其

定义你没有向我们展示。


-Mike

aa*****@gmail.com 写道:


大家好,


任何人都可以解释为什么这个代码


main(_){for(--_; putchar(_ ++ [" J!Mpwf!Zpv \ 1"] - 1););}


正在产生输出::我爱你



我会咬人。我可能错了,但我会咬人。


1)主括号内的得分是什么?



这是对argc之类的非法(我推测)的引用。这是类似于main(int _)的
,但是非常不标准。


我希望那些接受这个的编译器会设置" _"

之前我们访问for循环。


2)这是什么意思__意味着在
循环



它预先填充C标识符_。


3 )这个算子的作用是什么_(一元减去我推测)

putchar



它不是运营商。它相当于计算(标准或

不是)到int _的方式。


因此,我们遍历char数组,得到数组中的第_个项目,

减去1并打印我们得到的字符。我想这假设

ASCII校对。



aa ***** @ gmail.com 写道:


大家好,


任何人都可以解释为什么这个代码


main(_){for(--_; putchar(_ ++ [" J!Mpwf!Zpv \ 1"] - 1 ););}


正在产生输出::我爱你



轻松。下划线是标识符中允许的字符。 main(_)

将其声明为argc的参数。 argc是1,所以如果你把它减去它,它会从零开始。

那个J!...字符串只是我爱你每增加一个

字符。


>


1什么是主括号内的得分内容?

2)这是什么 - 这意味着初始化条件为

循环

3)这个算子的作用是什么_(一元减去我假设)

putchar


Hi all,

can anybody please explain why this code

main(_) {for(--_;putchar(_++["J!Mpwf!Zpv\1"]-1););}

is producing the output:: I love you
1) what is this under score stuff inside main parenthesis?
2) what does this --_ mean in the initialization condition of for
loop
3) what is the role of this operator _ (unary minus i presume) in
putchar

解决方案


<aa*****@gmail.comwrote in message
news:11**********************@m73g2000cwd.googlegr oups.com...

Hi all,

can anybody please explain why this code

main(_) {for(--_;putchar(_++["J!Mpwf!Zpv\1"]-1););}

is producing the output:: I love you

Not without seeing all of it.

>

1) what is this under score stuff inside main parenthesis?
2) what does this --_ mean in the initialization condition of for
loop
3) what is the role of this operator _ (unary minus i presume) in
putchar

No, it''s not an operator at all. It''s probably a macro whose
definition you''re not showing us.

-Mike


aa*****@gmail.com wrote:

Hi all,

can anybody please explain why this code

main(_) {for(--_;putchar(_++["J!Mpwf!Zpv\1"]-1););}

is producing the output:: I love you

I''ll bite. I might be wrong, but I''ll bite.

1) what is this under score stuff inside main parenthesis?

It is an illegal (I presume) reference to something like argc. It is
similar to "main(int _)", but very non-standard.

I expect for those compilers that accept this will set "_" to 1 before
we visit the for loop.

2) what does this --_ mean in the initialization condition of for
loop

It predecrements the C identifier "_".

3) what is the role of this operator _ (unary minus i presume) in
putchar

It is not an operator. It is equivalent in ways that count (standard or
not) to "int _".

So, we loop through the char array, getting the _th item in the array,
subtracting 1 and printing the char we get. I suppose this presumes
ASCII collation.



aa*****@gmail.com wrote:

Hi all,

can anybody please explain why this code

main(_) {for(--_;putchar(_++["J!Mpwf!Zpv\1"]-1););}

is producing the output:: I love you


easy. Underscore is an allowed character in an identifier. main(_)
declares it as a parameter in place of argc. argc is 1, so if yo
decrement it, it starts out at zero.
That "J!... " string is just "I love you" with 1 added to each
character.

>

1) what is this under score stuff inside main parenthesis?
2) what does this --_ mean in the initialization condition of for
loop
3) what is the role of this operator _ (unary minus i presume) in
putchar


这篇关于混淆的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆