Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/23: Рейтинг темы: голосов - 23, средняя оценка - 4.65
14 / 7 / 0
Регистрация: 20.09.2009
Сообщений: 89
1

Обфусцированный код

15.07.2010, 09:25. Показов 4521. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется вот такой код...

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
main(int t, int _, char *a){return!0<t?t<3?main(-79, -13, a+main(-87, 1-_,
main(-86, 0, a+1)+a)): 1,t<_ ? main(t+1,_, a):3,main(-94, -27+t, a)&&t==2\
?_<13?main(2, _+1, "%s %d %d\n"):9:16:t<0?t<-72?
main(_, t, "@n'+,#'/*s{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n\
        {n+,/+#n+,/# ;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!\
        /+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!\
        /n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' iwk{KK{nl]!/\
        w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl'-{}rw]'/+,}##'*}\
        #nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')#}'+}##(!!/")
        :t<-50?_==*a?putchar(31[a]):
main(-65,_,a+1):
main((*a=='/')+t,_,a+1):
0<t?main(2,2,"%s")
:*a=='/'||main(0, main(-61,*a,
               "!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\numwloca-0;m .vpbks,fxntdCeghiry"
               ),a+1);
}
Кому не трудно откомпилируйте и соберите эту программу.
И покажите результат первой строки...

У меня результат первой строки выглядит таким образом:
-xmngCm,*hiknmtcrml",mdgihkn;ckm;rmniuCmwl.Cmec.Cmnlm.C;C
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2010, 09:25
Ответы с готовыми решениями:

Как расшифровать обфусцированный код
Есть код , который я достал посредством декомпиляции ехе сборки ,при помощи Reflector. Но весь код...

Как расшифровать обфусцированный код?
При декомпиляции получил вот такой код: internal class Class3 { internal static...

Обфусцированный код , как открыть?
Здравствуйте, есть конфигурация коммерческая Есть в нем модуль и обработка и отчеты (при открытие...

Как расшифровать обфусцированный код php
Как расшифровать обфусцированный код php. 2 дня копался в гугле, не смог расшифровать. Сам код ...

11
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
15.07.2010, 09:55 2
Господи... ВТФ?
Миниатюры
Обфусцированный код  
0
26 / 25 / 3
Регистрация: 19.03.2010
Сообщений: 57
15.07.2010, 12:29 3
-xmngCm,Рhiknmtcrml,mdgihkn;ckm;rmniuCmwl.Cmec.Cmnlm;C
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
15.07.2010, 13:53 4
Лучший ответ Сообщение было отмечено как решение

Решение

NightmareCode, это старенький прикол из Страуструпа или К&Р.
На сколько я понял, то здесь все дело в рекурсивном вызове main
Только у вас там ошибка, вот правильный вариант
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main(int t,int _,char*a)
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
http://codepad.org/5g0I1dKO
3
Padawan
473 / 323 / 30
Регистрация: 30.01.2010
Сообщений: 1,841
15.07.2010, 13:57 5
Цитата Сообщение от M128K145 Посмотреть сообщение
На сколько я понял, то здесь все дело в рекурсивном вызове main
а в чем фишка вообще конкретно этой обфускации?
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
15.07.2010, 14:05 6
Johny_D, чтобы вы не поняли что делает программа и как она это делает
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
15.07.2010, 14:34 7
M128K145, а как привести программу к такому виду и можно ли обратно код?
0
14 / 7 / 0
Регистрация: 20.09.2009
Сообщений: 89
15.07.2010, 15:37  [ТС] 8
Цитата Сообщение от M128K145 Посмотреть сообщение
NightmareCode, это старенький прикол из Страуструпа или К&Р.
На сколько я понял, то здесь все дело в рекурсивном вызове main
Только у вас там ошибка, вот правильный вариант
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main(int t,int _,char*a)
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
http://codepad.org/5g0I1dKO
Допустил одну ошибку и вместо стиха выдало абракадабру(в 5 строчки в параметре символьного указатель не поставил {n)

Да действительно программа для понимания синтаксиса хороша. К тому же что узнал можно последовательно располагать тернарные операции вида
condition1 : condition2 : condition3 : result1 ? result2 ? result3
0
1 / 1 / 0
Регистрация: 14.08.2010
Сообщений: 10
14.08.2010, 18:27 9
Цитата Сообщение от NightmareCode Посмотреть сообщение
Допустил одну ошибку и вместо стиха выдало абракадабру(в 5 строчки в параметре символьного указатель не поставил {n)

Да действительно программа для понимания синтаксиса хороша. К тому же что узнал можно последовательно располагать тернарные операции вида
condition1 : condition2 : condition3 : result1 ? result2 ? result3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 main(int t,int _,char*a)
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
1)Как прибегая к минимальным изменениям в данном коде подсчитать количество рекурсивных
вызовов функции main?
2)Получить всю строку из символов a[31] за время работы программы?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.08.2010, 00:05 10
EruptionEssay, Выводит колличество вызовов main по идее... 67000 с чем-то. Реально-ли это? Не знаю. Но вроде как считает. Правда стих больше не выводит) Поэтому надо еще поковыряться

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main(int t,int _,char*a)
{static int cnt; cnt++; printf("%d\n", cnt); return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n"):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.08.2010, 01:29 11
Выводит вроде как. Только выводит часто. То есть сколько символов вывелось, столько раз выводит промежуточное число. Поэтому стоит Sleep(500). Так можно и текст почитать, и на вывод посмотреть. Правда надоедает конкретно. Слип по желанию можно отключить. Всего 69729 вызовов мейн.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <windows.h>
 
int main(int t,int _,char*a)
{static int cnt=0; cnt++; return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1)?Sleep(500),printf("\n%d\n",cnt):0;}
0
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
17.08.2010, 07:00 12
Народ, кто нить подскажите, где можно про "это" прочитать? Очень хочу разобрать, что тут...
0
17.08.2010, 07:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2010, 07:00
Помогаю со студенческими работами здесь

Как дополнить обфусцированный код методом main?
Имеется игра с редактором карт, но из класса выпилили метод main и обфусцировали код. В ранней...

Надо написать код программы (код есть оформить в маткад не могу_
Видео файл меньше весит чем картинка :D Вот этот код If r1=X0 then g4(r1)=... Как его записать...

Нашел код в интернете. Можно ли этот код из С++ преобразовать в язык программирования C#?
Нашел код в интернете можно ли этот код из С++ преобразовать в язык программирования C#. Язык...

Написать код дешифровщика для Delphi 7, если есть код шифровщика?
Вот всё что есть, нужно дополнить дешифровщик, заранее спасибо кто не пройдет стороной и не будет...

Очередной код с возможным вирусом. Как думаете этот код опасен?
&lt;?php // no direct access defined('_JEXEC') or die('Restricted access'); ?&gt; &lt;ul...

Если мне не нужно привязывать код к событию, то где размещать код?
Кто-нибудь умный ответьте. Если мне не нужно привязывать код к событию. Если мне не нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru