Обфускация кода (вопросы, просьбы зашифровать/расшифровать скрипт )

Discussion in 'PHP' started by Sharky, 29 Sep 2009.

  1. Poccu9

    Poccu9 New Member

    Joined:
    8 May 2017
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Здрасти, может я не так понял что делается в этой теме на форуме, но мне нужен алгоритм выпадения числа, не могу понять откуда что берется, растолкуйте чайнику, пожалуйста. Я так понимаю все заложено здесь:

    Code:
    animateRoulette: function(digit, callback) {
    
            var that = this,
                animation_time = 15000,
                sector = 360 / 15,
                circle_count = 10,
                deg, dx, normalize;
    
            if(digit <= 7) {
                dx = (digit * 2 - 1);
            }
            else {
                dx = (digit - (14 - digit));
            }
            if(digit == 0) {
                dx = 0;
            }
    
            deg = that.markup.roulette.circle.data('deg');
    
            normalize = deg == 0 ? 0 : 360 * (1 - (deg / 360) % 1);
    
            deg =  deg + normalize + 360 * circle_count - dx * sector;
    
            that.markup.roulette.circle.data('deg', deg);
    
            that.markup.roulette.circle.css({
                "-webkit-transition": "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                "-moz-transition": "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                "-o-transition": "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                transition: "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                "-webkit-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                "-moz-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                "-ms-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                "-o-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                transform: "rotate3d(0, 0, 1, " + deg + "deg)"
            });
    вот все полностью:

    Code:
    var App = App || {};
    
    App.Games.double = {
    
        GAME_STATE_WAIT: 'wait',
        GAME_STATE_GAME: 'game',
        GAME_STATE_PROCESS_WINNER: 'winner',
    
        GAME_TIME: 30,
    
        socket : undefined,
    
        game: {
            id: null,
            hash: null,
            bank: 0,
            bets: [],
            state: null
        },
        /*bet: {
            username: 'USER1',
            avatar: 'ab99f8d7008edafbb759787cfb0575df990da54b_full.jpg',
            amount: 34.56576878,
            type: 'zero'
        }*/
    
        request: {
            sending: false,
            sending_time: 0
        },
    
        history: [4, 5, 1, 0, 4, 5, 9, 6, 7],
        history_limit: 9,
    
        colors: {},
    
        timer: undefined,
        interval_handler: undefined,
    
        init: function() {
    
            this.game.state = this.GAME_STATE_WAIT;
            this.timer = this.GAME_TIME;
    
            var that = this;
    
            this.socket = App.Sockets.sockets.double;
    
            this.socket.on('newBet', function (bet) {
                App.Tools.log('double - newBet', bet);
                that.newBet(bet);
            });
    
            this.socket.on('newGame', function (game) {
                App.Tools.log('double - newGame', game);
                that.newGame(game['id'], game['hash']);
            });
    
            this.socket.on('startGame', function (game_id) {
                App.Tools.log('double - startGame', game_id);
                that.startGame(game_id);
            });
    
            this.socket.on('digit', function (digit) {
                App.Tools.log('double - digit', digit);
                that.newDigit(digit);
            });
    
            this._initMarkup();
    
            this._initEvents();
    
            this.preload();
    
        },
    
        sendBet: function(amount, type) {
    
            if(amount > App.Balance.get()) {
                alert2('Не достаточно средств на балансе');
                return;
            }
    
            var that = this;
    
            this.request.sending = true;
            this.request.sending_time = new Date().getTime();
    
            App.Sockets.ping(function() {
    
                var time = new Date().getTime();
                if((time - that.request.sending_time) / 1000 > 10) {
                    that.request.sending = false;
                    return;
                }
    
                $.ajax({
                    url: 'ajax/bet.php',
                    type: 'POST',
                    data: {
                        amount: amount,
                        type: type
                    },
                    dataType: 'JSON',
                    method:'POST',
                    beforeSend: function() {
                        that.markup.bets.buttons.addClass('double_bet_animation');
                    },
                    success: function(response){
    
                        if(response['status'] == 'error') {
                            that.markup.bets.buttons.removeClass('double_bet_animation');
                            that.request.sending = false;
                            alert2(response['message']);
                            return;
                        }
    
                        App.Balance.set(response['balance']);
    
                        App.Sockets.transfer('double.bet', response['bet']);
                        if(response['start']) {
                            App.Sockets.transfer('double.start', response['game_id']);
                        }
    
                        that.markup.bets.buttons.removeClass('double_bet_animation');
                        that.markup.input.val('');
    
                        that.request.sending = false;
    
                    }
                });
    
            });
    
        },
    
        newBet: function(bet) {
    
            this.game.bank += bet['amount'];
            this.game.bets.push(bet);
    
            this.renderStatistics();
            this.renderBets();
    
            App.Beeper.beep();
    
        },
    
        newGame: function(id, hash) {
    
            this.game.id = id;
            this.game.hash = hash;
            this.game.bank = 0;
            this.game.bets = [];
            this.game.state = this.GAME_STATE_WAIT;
            this.timer = this.GAME_TIME;
    
        },
    
        startGame: function(game_id) {
    
            if(this.game.id !== game_id) {
                return;
            }
    
            if(this.game.state == this.GAME_STATE_GAME) {
                return;
            }
    
            this.game.state = this.GAME_STATE_GAME;
    
            var that = this;
    
            this.interval_handler = window.setInterval(function(){
    
                that.timer --;
    
                if(that.timer < 1) {
                    that.stopGame();
                }
    
                that.renderTimer();
    
            }, 1000);
    
        },
    
        stopGame: function() {
    
            window.clearInterval(this.interval_handler);
    
            this.timer = 0;
            this.game.state = this.GAME_STATE_PROCESS_WINNER;
    
            this.renderTimer();
            this.markup.roulette.labels.winning.show();
    
        },
    
        newDigit: function(digit) {
    
            if(this.game.state == this.GAME_STATE_GAME) {
                this.stopGame();
            }
    
            this.history.push(digit);
    
            this.game.state = this.GAME_STATE_WAIT;
    
            this.appendToHistory(digit);
    
            this.animateRoulette(digit);
    
        },
    
        animateRoulette: function(digit, callback) {
    
            var that = this,
                animation_time = 15000,
                sector = 360 / 15,
                circle_count = 10,
                deg, dx, normalize;
    
            if(digit <= 7) {
                dx = (digit * 2 - 1);
            }
            else {
                dx = (digit - (14 - digit));
            }
            if(digit == 0) {
                dx = 0;
            }
    
            deg = that.markup.roulette.circle.data('deg');
    
            normalize = deg == 0 ? 0 : 360 * (1 - (deg / 360) % 1);
    
            deg =  deg + normalize + 360 * circle_count - dx * sector;
    
            that.markup.roulette.circle.data('deg', deg);
    
            that.markup.roulette.circle.css({
                "-webkit-transition": "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                "-moz-transition": "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                "-o-transition": "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                transition: "transform " + animation_time + "ms cubic-bezier(.32,.64,.45,1)",
                "-webkit-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                "-moz-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                "-ms-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                "-o-transform": "rotate3d(0, 0, 1, " + deg + "deg)",
                transform: "rotate3d(0, 0, 1, " + deg + "deg)"
            });
    
            that.markup.roulette.labels.winning.show();
    
            setTimeout(function () {
    
                that.markup.roulette.labels.end.show(digit);
    
                that.animateAppendToHistory(digit);
    
                setTimeout(function () {
    
                    that.markup.roulette.labels.counter.show();
    
                    that.renderAll();
    
                    if(callback != undefined) {
                        callback();
                    }
    
                }, 4000);
    
                that.markup.roulette.circle.css({
                    "-webkit-transition": "transform 0ms",
                    "-moz-transition": "transform 0ms",
                    "-o-transition": "transform 0ms",
                    transition: "transform 0ms"
                });
    
            }, 15000);
    
        },
    
        appendToHistory: function(digit) {
    
            this.history.splice(0, 0, digit);
    
            if(this.history.length > this.history_limit) {
    
                this.history.splice(this.history_limit, this.history.length - this.history_limit);
    
            }
    
        },
    
        preload: function() {
    
            $.extend(this.game, App.boot['double']['game']);
            $.extend(this.history, App.boot['double']['history']);
            this.timer = App.boot['double']['timer'];
            $.extend(this.colors, App.boot['double']['colors']);
    
            this.renderAll();
    
            if(this.timer > 0 && this.timer < this.GAME_TIME) {
                this.startGame(this.game.id);
            }
    
            if(this.timer == 0) {
                this.stopGame();
            }
    
        },
    
        renderGame: function() {
    
            this.markup.game_id.html(this.game.id);
            this.markup.game_hash.html(this.game.hash);
    
        },
    
        renderAll: function() {
    
            this.renderGame();
            this.renderStatistics();
            this.renderBets();
            this.renderTimer();
            this.renderHistory();
    
        },
    
        renderBets: function() {
    
            var markup = '';
    
            for(var i = this.game.bets.length - 1; i >= 0; i--) {
    
                markup += App.Tools.template(this.markup.bets.li, this.game.bets[i]);
    
            }
    
            this.markup.bets.container.empty().html(markup);
    
        },
    
        renderStatistics: function() {
    
            var groups = {
                    red: 0,
                    black: 0,
                    zero: 0
                };
    
            for(var i = 0; i < this.game.bets.length; i++) {
    
                groups[ this.game.bets[i]['type'] ] += this.game.bets[i]['amount'];
    
            }
    
            this.markup.bank_tab.html(this.game.bank);
    
            this.markup.statistics.red.html( groups.red );
            this.markup.statistics.black.html( groups.black );
            this.markup.statistics.zero.html( groups.zero );
    
            var red_percent = parseInt(groups.red / this.game.bank * 100),
                zero_percent = parseInt(groups.zero / this.game.bank * 100),
                black_percent = parseInt(groups.black / this.game.bank * 100);
            this.markup.statistics.red_percent.css('width', red_percent > 0 ? (red_percent + '%') : 0);
            this.markup.statistics.zero_percent.css('width', zero_percent > 0 ? (zero_percent + '%') : 0);
            this.markup.statistics.black_percent.css('width', black_percent > 0 ? (black_percent + '%') : 0);
    
        },
    
        renderTimer: function() {
    
            var timer_as_string = this.timer.toString();
    
            while(timer_as_string.length < 3) {
                timer_as_string = '0' + timer_as_string;
            }
    
            this.markup.timer.s1.html( timer_as_string.charAt(0) );
            this.markup.timer.s2.html( timer_as_string.charAt(1) );
            this.markup.timer.s3.html( timer_as_string.charAt(2) );
    
        },
    
        renderHistory: function() {
    
            var markup = '',
                data,
                n;
    
            n = this.history.length <= this.history_limit ? this.history.length : this.history_limit;
    
            for(var i = 0; i < n; i++) {
    
                data = {
                    type: this.colors[ this.history[i] ],
                    digit: this.history[i]
                };
    
                markup += App.Tools.template(this.markup.history.item_template, data);
    
            }
    
            this.markup.history.container.empty().html(markup);
    
        },
    
        animateAppendToHistory: function(digit) {
    
            var markup;
    
            markup = App.Tools.template(this.markup.history.item_template, {
                type: this.colors[ digit ],
                digit: digit
            });
    
            this.markup.history.container.prepend(markup);
    
            var items = this.markup.history.container.children();
    
            if(items.length > this.history_limit) {
                items[ items.length - 1 ].remove();
            }
    
        },
    
        markup: {
            bank_tab: undefined,
            game_id: undefined,
            game_hash: undefined,
            input: undefined,
            input_buttons: undefined,
            bets: {
                buttons: undefined,
                container: undefined,
                li: undefined
            },
            statistics: {
                red:undefined,
                zero: undefined,
                black: undefined,
                red_percent:undefined,
                zero_percent: undefined,
                black_percent: undefined
            },
            timer:{
                s1:undefined,
                s2:undefined,
                s3:undefined
            },
            history: {
                container: undefined,
                item_template: undefined
            },
            roulette: {
                circle: undefined,
                labels: {
                    processing: undefined,
                    winning: undefined,
                    end: undefined,
                    counter:undefined
                }
            }
        },
    
        _initMarkup: function() {
    
            var that = this;
    
            this.markup.bank_tab = $('.game_switch').find('.sum_bet_2');
            this.markup.game_id = $('.roulette_content .game_num');
            this.markup.game_hash = $('.roulette_content #roundHash');
            this.markup.input = $('.roulette_content .bonus_game_bet_input');
            this.markup.input.data('amount', 0);
            this.markup.input_buttons = $('.roulette_content .bonus_game_calc_button_list li');
            this.markup.statistics.red = $('.roulette_content .bonus_game_bet_value_container.red .bonus_game_bet_value');
            this.markup.statistics.zero = $('.roulette_content .bonus_game_bet_value_container.zero .bonus_game_bet_value');
            this.markup.statistics.black = $('.roulette_content .bonus_game_bet_value_container.black .bonus_game_bet_value');
            this.markup.statistics.red_percent = $('.roulette_content .bonus_game_bet_value_container.red .bonus_game_bet_value_progress');
            this.markup.statistics.zero_percent = $('.roulette_content .bonus_game_bet_value_container.zero .bonus_game_bet_value_progress');
            this.markup.statistics.black_percent = $('.roulette_content .bonus_game_bet_value_container.black .bonus_game_bet_value_progress');
            this.markup.bets.container = $('.roulette_content .game_bets_list');
            this.markup.bets.li = $('.roulette_content .template_game_bets_list').html();
            this.markup.bets.buttons = $('.roulette_content .place_bet_buttons li');
            var timer = $('.roulette_content .roulette_counter .span_2');
            this.markup.timer.s1 = timer.eq(0);
            this.markup.timer.s2 = timer.eq(1);
            this.markup.timer.s3 = timer.eq(2);
            this.markup.history.container = $('.roulette_content .game_roulette_history_list');
            this.markup.history.item_template = $('.roulette_content .template_game_roulette_history_list').html();
            this.markup.roulette.circle = $('.roulette_content .roulette_numbers');
            this.markup.roulette.labels.processing = $('.roulette_content .bonus_game_pre_end.processing');
            this.markup.roulette.labels.winning = $('.roulette_content .bonus_game_pre_end.winning');
            this.markup.roulette.labels.end = $('.roulette_content .bonus_game_end');
            this.markup.roulette.labels.counter = $('.roulette_content .roulette_counter');
    
            var show = function() {
                $('.roulette_content .bonus_game_state').removeClass('front').addClass('back');
                this.removeClass('back').addClass('front');
            };
    
            this.markup.roulette.circle.data('deg', 0);
            this.markup.roulette.labels.processing.show =     function() { show.call(this); };
            this.markup.roulette.labels.winning.show =         function() { show.call(this); };
            this.markup.roulette.labels.counter.show =         function() { show.call(this); };
            this.markup.roulette.labels.end.show = function(digit) {
                this.removeClass('red').removeClass('black').removeClass('zero').addClass(that.colors[digit]).html(digit);
                show.call(this);
            };
    
        },
    
        _initEvents: function() {
    
            var that = this;
    
            this.markup.input_buttons.on('click', function(){
    
                var bet_amount = 0;
    
                if($(this).data('cost') == 'all') {
    
                    bet_amount = App.Balance.get();
    
                }
                else if($(this).data('cost') == 'clear_bet') {
                    bet_amount = 0;
                }
                else {
    
                    var current_amount = parseInt(that.markup.input.val());
                    if(isNaN(current_amount)) {
                        current_amount = 0;
                    }
                    bet_amount = current_amount + parseInt($(this).data('cost'));
    
                }
    
                if(bet_amount > App.Balance.get()) {
                    alert2('На балансе не достаточно средств');
                    return;
                }
    
                that.markup.input.val(bet_amount);
    
            });
    
    
            this.markup.bets.buttons.on('click', function(){
    
                var amount = parseInt(that.markup.input.val()),
                    type = $(this).data('betType');
    
                if(isNaN(amount)) {
                    alert2('Сперва укажите сумму ставки');
                    return;
                }
    
                that.sendBet(amount, type);
    
            });
    
        }
    
    };
     
  2. hotreboot

    hotreboot New Member

    Joined:
    17 Aug 2017
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. Нужно деобфусцировать 2 php файла общий вес ~400 кб. Всё не так просто и всякие online сервисы, а так же free soft не помогают. Договоримся. Оставляйте согласие в личку.
     
  3. YaroslavT

    YaroslavT New Member

    Joined:
    6 Mar 2017
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Помогите с этим плиз
     

    Attached Files:

  4. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    795
    Likes Received:
    140
    Reputations:
    73
  5. GSLLL

    GSLLL New Member

    Joined:
    9 Dec 2015
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
  6. artkar

    artkar Well-Known Member

    Joined:
    14 Nov 2016
    Messages:
    351
    Likes Received:
    330
    Reputations:
    6
    #1006 artkar, 26 Sep 2017
    Last edited: 26 Sep 2017
    GSLLL likes this.
  7. GSLLL

    GSLLL New Member

    Joined:
    9 Dec 2015
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0

    Большое спасибо.
     
  8. Dark_SteeL

    Dark_SteeL New Member

    Joined:
    18 Nov 2017
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Всем привет. Помогите пожалуйста деобфусцировать (так вроде это называется) 2 файла. Зашифрованы с помощью fopo.com.ar
    Я в этом полнейший чайник, никогда раньше не пробовал даже. Уже второй день копаюсь в инете и без толку
     

    Attached Files:

  9. artkar

    artkar Well-Known Member

    Joined:
    14 Nov 2016
    Messages:
    351
    Likes Received:
    330
    Reputations:
    6
    Там не всё однозначно, нужно для детализации смотреть проект целиком.

    там условие:
    PHP:
    strcmp(sha1(preg_replace("\xбла-бла",preg_replace("\xбла-бла","",file_get_contents(reset(Array))))),"\xбла-бла-бла")
    и если срабатывает то у functions.php
    то генериться код:
    PHP:
    <?php
    <!DOCTYPE HTML>
    <
    html>
      <
    head>
      <
    title>Enigma SMM Panel Installer</title>
      <
    style>
      
    body {
      
    margin0;
      
    font-familyArial;
      }

      .
    wrapper {
      
    width600px;
      
    margin-leftauto;
      
    margin-rightauto;
      }

      
    input[type="text"], input[type="password"] {
      
    bordernone;
      
    box-shadow0px 0px 15px 0px;
      
    width400px;
      
    padding10px;
      }

      .
    inputs {
      
    text-aligncenter;
      }

      
    input[type="submit"] {
      
    width300px;
      
    padding20px;
      
    background#0095FF;
      
    color#FFFFFF;
      
    bordernone;
      
    box-shadow0px 0px 5px 0px #fff;
      
    margin-top20px;
      }

      
    #result {
      
    text-aligncenter;
      
    margin-top15px;
      
    font-weightbold;
      }
      </
    style>
      </
    head>
      <
    body>
      <
    div class="wrapper">
      <
    form method="POST" id="installation">
      <
    div class="inputs">
      <
    div>
      <
    p><label>MySQL Hosting</p></label>
      <
    input type="text" name="hostname" placeholder="127.0.0.1">
      </
    div>
      <
    div>
      <
    p><label>MySQL Username</p></label>
      <
    input type="text" name="username" placeholder="root">
      </
    div>
      <
    div>
      <
    p><label>MySQL Password</p></label>
      <
    input type="password" name="password" placeholder="root_password">
      </
    div>
      <
    div>
      <
    p><label>MySQL Database</p></label>
      <
    input type="text" name="database" placeholder="database_name">
      </
    div>
      <
    div>
      <
    p><label>License Code</p></label>
      <
    input type="text" name="license" placeholder="xxxx-xxxx-xxxx" maxlength="32">
      </
    div>
      </
    div>
      <
    div style="text-align: center;">
      <
    input type="submit" name="install" value="Install">
      </
    div>
      </
    form>
      <
    div id="result">
      </
    div>
      </
    div>
      </
    body>
    </
    html>
    ?>
    а у install.php тупо сообщение:
    PHP:
    MySQL connection is not configured correct.Check your MySQL connection settings.
     
  10. Dark_SteeL

    Dark_SteeL New Member

    Joined:
    18 Nov 2017
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Отписал в ЛС
     
  11. testumadio

    testumadio New Member

    Joined:
    21 Dec 2017
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помоги и мне, у меня один в один скрипт, у этих пидоров лёг сайт и перестала работать панель :(
    Готов даже заплатить :)

    telegram
    @TSavchuk
     
  12. artkar

    artkar Well-Known Member

    Joined:
    14 Nov 2016
    Messages:
    351
    Likes Received:
    330
    Reputations:
    6
    у меня телеграмма нет,
    и я не беру деньги за крак, хак или криптоанализ в соответствии с "A Cypherpunk's Manifesto".
    Кидай в личку Джаббер, посмотрю, но оставляю за собой право отказаться без объяснения причин.
     
  13. Venera

    Venera New Member

    Joined:
    13 Aug 2015
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте!
    Завис сайт на openCart 2x из за покупных модулей, т.к. сайт разрабов сегодня 15-01-2018 в 15:15 перестал работать.
    Если эти модули отключить сайт отображается, но большинство функционала не работает!!!
    Покупные модули содержат шифрованные файлы, предполагаем что в них есть некий механизм защиты с проверкой IP-шников "91.240.85.191" и "62.109.8.29"

    Вот что выдал strace:
    connect(9, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("91.240.85.191")}, 16) = -1 EINPROGRESS (Operation now in progress) clock_gettime(CLOCK_MONOTONIC, {4246, 717606269}) = 0 poll([{fd=9, events=POLLOUT|POLLWRNORM}], 1, 1500) = 0 (Timeout) getsockopt(9, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 close(9)

    connect(9, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("62.109.8.29")}, 16) = -1 EINPROGRESS (Operation now in progress) clock_gettime(CLOCK_MONOTONIC, {4254, 237651313}) = 0 poll([{fd=9, events=POLLOUT|POLLWRNORM}], 1, 3000) = 0 (Timeout) getsockopt(9, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 close(9)

    Испробовали бесплатные утилиты по расшифровке - результата нет
    Вот первый файл на пробу

    помогите пожалуйста
    заплатим не вопрос!
     
  14. arobesky

    arobesky New Member

    Joined:
    17 Dec 2015
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. Такая же проблема. Определили какие модули приводят к эависанию?
     
  15. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    831
    Likes Received:
    816
    Reputations:
    90
    Code:
    ~$ dig -x 62.109.8.29 +short
    u-coder.ru.
    ~$ dig -x 91.240.85.191 +short
    addist.ru.
    
    ~$ ping 62.109.8.29
    PING 62.109.8.29 (62.109.8.29) 56(84) bytes of data.
    ^C
    --- 62.109.8.29 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2029ms
    
    ~$ ping 91.240.85.191
    PING 91.240.85.191 (91.240.85.191) 56(84) bytes of data.
    ^C
    --- 91.240.85.191 ping statistics ---
    9 packets transmitted, 0 received, 100% packet loss, time 8186ms
    
    выкидывайте эти модули, в strace должно быть видно из какого файла вызов идёт
     
    _________________________
  16. Venera

    Venera New Member

    Joined:
    13 Aug 2015
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    да все от addist.ru

    Addist framework [by addist.ru]
    OcSEO Plus - One click solution v0.10.6 [by addist.ru]
    Breadcrumbs + v0.1.2 [by addist.ru]

    Пришлось отключить и переписать функционал, вот уже вторые сутки восстанавливаем сайт
    Во всех них есть шифрованные файлы которые долбятся на addist.ru с условием, если не виден сайт, то ждать секунду и повторить еще раз подключение - от чего сайт повисает!
     
  17. artkar

    artkar Well-Known Member

    Joined:
    14 Nov 2016
    Messages:
    351
    Likes Received:
    330
    Reputations:
    6
    можно уточнить версию ПЭХОПЭ и ионкуб экстеншн, а лучше всю папку с пэхопэ для анализа или ещё лучше под винду.

    И я чёта читнул про ионкуб нихрена не понял где он там шифрует? Расскажите процедуру, вы им даете файли пэхопэ, а они возвращают их зашифрованными? Или сами шифруете? Если сами расскажите как.

    Оцениваю вероятность деобфускации как => 0,36
     
  18. paha1

    paha1 New Member

    Joined:
    1 Feb 2018
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    Помогите с расшифровкой JavaScript
     

    Attached Files:

  19. artkar

    artkar Well-Known Member

    Joined:
    14 Nov 2016
    Messages:
    351
    Likes Received:
    330
    Reputations:
    6
    Выполняет функцию
    Code:
    
    
    function anonymous() {
    var _0x13817=["script","getElementsByTagName","45","src","length",".","split","","game-gear.ru/neptun/NeptunJS.gge","neptunjs.xyz/neptun/gge/NeptunJS.gge","neptunjs.com/neptun/gge/NeptunJS.gge","neptunjs.xyz/neptun/gge/njsLoader.","neptunjs.com/neptun/gge/njsLoader.","neptunjs.com/njs/njsLoader.","neptunjs.xyz/njs/njsLoader.","neptunjs.xyz/njs/NeptunJS.gge","neptunjs.neptunjsv2/nv2/njsLoader.","removeChild","parentNode","createElement","//mem.neptunjs.com/njs/njsLoader.js","appendChild","body","data-name","njs2","setAttribute","//proteus.neptunjs.com/njs/gge/NJS.gge","head","link","href","//proteus.neptunjs.com/njs/css/neptun.css","rel","stylesheet","type","text/css"];
    scriptster= document[_0x13817[1]](_0x13817[0]);
    a251sw8q4s= _0x13817[2];
    ssdw213= scriptster[scriptster[_0x13817[4]]- 1][_0x13817[3]];
    sswq98745= scriptster[scriptster[_0x13817[4]]- 1];
    ddls= ssdw213[_0x13817[6]](_0x13817[5]);
    sdwyyqt51= ddls[ddls[_0x13817[4]]- 2]+ _0x13817[7];
    sdqw4587= ddls[ddls[_0x13817[4]]- 3]+ _0x13817[7];
    smls= ddls[ddls[_0x13817[4]]- 1]+ _0x13817[7];
    lbsc= sdqw4587+ _0x13817[5]+ sdwyyqt51+ _0x13817[5];
    if(lbsc=== _0x13817[8]|| lbsc=== _0x13817[9]|| lbsc=== _0x13817[10]|| lbsc=== _0x13817[11]|| lbsc=== _0x13817[12]|| lbsc=== _0x13817[13]|| lbsc=== _0x13817[14]|| lbsc=== _0x13817[15]|| lbsc=== _0x13817[16])
       {
       nnmvx= 1
       }
    else {
       sswq98745[_0x13817[18]][_0x13817[17]](sswq98745);
       script= document[_0x13817[19]](_0x13817[0]);
       script[_0x13817[3]]= _0x13817[20];
       document[_0x13817[22]][_0x13817[21]](script)
        };
       if(nnmvx=== 1)
           {
           scriptsus= document[_0x13817[19]](_0x13817[0]);
           scriptsus[_0x13817[25]](_0x13817[23],_0x13817[24]);
           scriptsus[_0x13817[3]]= _0x13817[26];
           document[_0x13817[27]][_0x13817[21]](scriptsus);
           style= document[_0x13817[19]](_0x13817[28]);
           style[_0x13817[29]]= _0x13817[30];
           style[_0x13817[31]]= _0x13817[32];
           style[_0x13817[33]]= _0x13817[34];
           document[_0x13817[27]][_0x13817[21]](style)
           }
    }
    
    
    И возвращает 3624
     
    #1019 artkar, 3 Feb 2018
    Last edited: 3 Feb 2018
    paha1 and panic.ker like this.
  20. paha1

    paha1 New Member

    Joined:
    1 Feb 2018
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    Спасибо, а не подскажите, что это за кодировка и как или чем ее можно раскодировать?
     
Loading...
Similar Threads - Обфускация кода вопросы
  1. PalaceCash
    Replies:
    4
    Views:
    968
  2. gentype
    Replies:
    3
    Views:
    2,700
  3. SuNDowN
    Replies:
    20
    Views:
    7,290
  4. vvs777
    Replies:
    2
    Views:
    2,222