6 / 6 / 0
Регистрация: 05.11.2010
Сообщений: 60
1

Hello, word! Предлагаю разобраться в исходнике.

06.11.2010, 23:52. Показов 3123. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мы с другом, когда то пол часа вместе думали. Дошли до середины второй строчки )))

C
1
2
3
main(t,O){int _=main;char m[]=",!((+hd3+6( e";return 
O==_?((int(*)())O)(_,t+1),68:
t==_?(*(char*)O?*(char*)O^=((int(*)())t)(O,t):17),O:printf(((int(*)())_)(_,m));}
Написано на С. Результат работы можно проверить запустив исходник из cmd или фар.
2
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2010, 23:52
Ответы с готовыми решениями:

Разобраться в исходнике
Помогите разобраться, что какая переменная,функция, процедура означает, желательно в исходник...

Нужно разобраться с абзацами в Word (VBA)
Есть документ word с таким содержанием (файл во вложении): Слово1 слово2 слово3 Слово4 слово5 ...

Не могу разобраться с чтением данных из Word файлов
Я начинающий программист. Стоит задача считать текстовые данные и изображения из файла Word и...

Не могу разобраться, в ООП с MS Office (word, excel). Именно для VB
Всем привет) Я ток начал разбираться в Visual Basic. До этого, активно юзал VBA. Создавал,...

28
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
07.11.2010, 15:18 21
Author24 — интернет-сервис помощи студентам
Аналогичный код, но проще.

C
1
2
3
4
5
6
main(a,b){
  int f=main;
  char m[]=",!((+hd3+6( e";
return 
b==f?((int(*)())b)(f,a+1),68:a==f?(*(char*)b?*(char*)b^=((int(*)())a)(b,a):17),b:printf(((int(*)())f)(f,m));
}
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,678
07.11.2010, 15:28 22
Зайдите на govnokod и поугорайте
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
07.11.2010, 15:32 23
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
main(a,b){
   int f=main;
   char m[]=",!((+hd3+6( e";
   return 
   b==f?
      ((int(*)())b)(f,a+1),68
   :
      a==f?
         (*(char*)b?
               *(char*)b^=((int(*)())a)(b,a)
          :
               17),b  //Здесть 17 ничего не решает
      :
         printf(((int(*)())f)(f,m));
}
0
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
07.11.2010, 15:56 24
C
1
2
3
4
5
6
7
8
9
10
11
12
main(a,b){
  int f=main;
  char m[]=",!((+hd3+6( e";
  /*return b==f?((int(*)())b)(f,a+1),68:a==f?(*(char*)b?*(char*)b^=((int(*)())a)(b,a):17),b:printf(((int(*)())f)(f,m));*/
    if( b == f )
        return ((int(*)())b)(f,a+1),68;
    else
        if( a == f )
            return (*(char*)b?*(char*)b^=((int(*)())a)(b,a):17),b;
        else
            return printf(((int(*)())f)(f,m));
}
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
07.11.2010, 16:55 25
return ((int(*)())b)(f,a+1),68; что значит Запятая 68?

Добавлено через 46 минут
((int(*)())f) - это вызов функции по адресу f

Добавлено через 6 минут
C
1
2
3
4
5
6
7
8
9
10
11
main(a,b){
  int f=main;
  char m[]=",!((+hd3+6( e";
        if( b == f )
                return (main(f,a+1),68;
        else
                if( a == f )
                        return (*(char*)b?*(char*)b^=(main(b,f):17),b;
                else
                        return printf(main(f,m));
}
Заменил а и b на f, где можно было. И на main вызов функции по адресу f
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
07.11.2010, 17:00 26
Цитата Сообщение от silent_1991 Посмотреть сообщение
M128K145, в той теме так и не сказали, где про это можно инфу найти... Может кто сейчас ответит? А то всё же хочется понять, как нормальный симпотишный код довести до такого состояния)))
wiki. обфускация
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
07.11.2010, 17:06 27
return (main(f,a+1),68; Кто может сказать что значит ,68? и ^=
0
Эксперт С++
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,879
07.11.2010, 17:33 28
Лучший ответ Сообщение было отмечено как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdlib.h>
#include <stdio.h>
 
main(t, O)
{
    int _= main; // берем указатель на функцию main()
    char m[] = ",!((+hd'=&!6\"+61)j61eND"; // заксоренная строка    
    if (O != _)
    {
        if (t != _)
        {
            // БЛОК 1
            // этот блок выполняется сразу после того как запускается программа
            // в нем передается управление блоку 2. Здесь рекурентный вызов
            // main() с аргументами:
            // 1) указатель на main()
            // 2) указатель на массив char m[]
            return printf(((int(*)())_)(_, m));
        }
        if (*(char*)O)
        {
            // БЛОК 2
            // Передаем управление блоку 3.
            // Рекурентный вызов main() c аргументами:
            // 1) указатель на символ, который будет ксорится
            // 2) указатель на функцию main(),
            // которая будет вызвана для получения XOR ключа
            int r = ((int(*)())t)(O, t);
            // ксорим, в r XOR-маска
            *(char*)O ^= r;
        }
        // возвращаем отксориный символ или завершающий ноль
        // т.е. то что содержится по указателю O
        return O;
    }
    else
    {
        // БЛОК 3
        // Передаем управление блоку 2. Рекурентный вызов main() с аргументами:
        // 1: указатель на main()
        // 2: указатель на символ, который будем XOR-ить
        ((int(*)())O)(_, t + 1);
        // возвращаем XOR-маску, с помощью которой был заксорен массив char m[]
        return 68;
    }
}
Добавлено через 15 минут
Цитата Сообщение от freest Посмотреть сообщение
что значит ,68
результатом выполнения оператора запятая является самое правое выражение, например:
C
1
2
3
4
5
6
7
int main ()
{
    int a;
    a = (10, 255);
    printf("%d\n", a);
    return 0;
}
3
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
07.11.2010, 17:47 29
Халява короче)
0
07.11.2010, 17:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2010, 17:47
Помогаю со студенческими работами здесь

Разобраться с sql запросом в vba и правильным подключением базы access - word
Добрый день. Хочу замутить кнопку в форме базы по нажатию которой будет открываться шаблон word и...

Ошибки в исходнике
Скачал исходник, следуя инструкциям, подключил SDK. Вот ошибка, из-за которой проект не...

Что это в исходнике?
есть код IDI_ICON EQU 1001 что он значит? это в описании находиться

Объясните строку в исходнике
Смотрю исходники архиватора. Натолкнулся на такую строчку. function...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

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