Рейтинг темы:
  • 1 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Сломать О_о програмку
#41
Zubastic Написал:Немного не так действуешь. Тебе нужно заставить программу думать, что она не триальная, а нормальная. Смотрим где грузится файл с лицензией и меняем флаг на противоположный. И никаких мучений с таймером.
http://www.insidepro.com/kk/140/140r.shtml вот как это тут сделано.

Это было бы слишком легко, тут автор скорее всего какой-то трюк использует, наверняка есть где-то злостная проверка с таймером как всегда спрятанная в опе.

Мой совет попробовать запустить файл в IDA в режиме дебагера, и посмотреть ход загрузки программы, я думаю так будет проще понять что программа дергает во время загрузки и дождаться когда она выходит(завершает) свою работу чтобы поймать участки кода которые к этому приводят.
[Изображение: 61b684.png]
Ответ
#42
darkevil Написал:Это было бы слишком легко, тут автор скорее всего какой-то трюк использует, наверняка есть где-то злостная проверка с таймером как всегда спрятанная в опе.

Мой совет попробовать запустить файл в IDA в режиме дебагера, и посмотреть ход загрузки программы, я думаю так будет проще понять что программа дергает во время загрузки и дождаться когда она выходит(завершает) свою работу чтобы поймать участки кода которые к этому приводят.

У меня с IDA проблемы, так и не смог разобраться, зато с .NET Reflector 8.0 и SharpDevelop 4.3 начал разбираться.
И вот у меня появился такой вопрос, в программирования я не силен, но логику понять могу.
Код:
{
                    if (cce.Ve)
                    {
                        if (Cse.Qe != null)
                        {
                            Cse.Qe.method_0();
                        }
                        Cse.Qe = new Cse(cce, cme, type_0, Qoe, Qpe);
                        Cse.Qe.ge = new Timer(new TimerCallback(Cse.Qe.ke), null, 0xea60, 0xea60);
                    }
                    else if (Cse.Qe != null)
                    {
                        Cse.Qe.method_0();
                    }
                    if (cce.ye)
                    {
                        if (C1e.Qe != null)
                        {
                            C1e.Qe.method_0();
                        }
                        C1e.Qe = new C1e(cce, type_0.Assembly);
                        C1e.Qe.ge = new Timer(new TimerCallback(C1e.Qe.ke), null, cce.be * 0xea60, cce.be * 0xea60);
                    }
                    else if (C1e.Qe != null)
                    {
                        C1e.Qe.method_0();
                    }
                    if (cce.fe || cce.te)
                    {
                        if (cce.fe && !flag2)
                        {
                            if (Cbe.Qe != null)
                            {
                                Cbe.Qe.method_0();
                            }
                            Cbe.Qe = new Cbe(cce, cme, type_0, Qoe, Qpe);
                            Cbe.Qe.Ge = num2;
                            Cbe.Qe.Je = num;
                            Cbe.Qe.ge = new Timer(new TimerCallback(Cbe.Qe.ke), null, 0xea60, 0xea60);
                        }
                        if (cce.te && !flag6)
                        {
                            if (C2e.Qe != null)
                            {
                                C2e.Qe.method_0();
                            }
                            C2e.Qe = new C2e(cce, cme, type_0, Qoe, Qpe);
                            C2e.Qe.xe = num2;
                            C2e.Qe.int_0 = num;
                            C2e.Qe.ge = new Timer(new TimerCallback(C2e.Qe.ke), null, 0xea60, 0xea60);
                        }
                    }
                }
Этот код, я понимаю примерно так, если условия которые были выше выполнены или не выполнены, выполняется код вставленный мной.
А теперь детальнее, меня интересуют вот эти 2 места.
В первом случае:
Код:
C1e.Qe.ge = new Timer(new TimerCallback(C1e.Qe.ke), null, cce.be * 0xea60, cce.be * 0xea60);
Я так понимаю, если тут прошла проверка на лицензию, идет вычисление рабочего времени. Т.е. cce.be
Код:
private class Cce
        {
            internal bool ae = true;
            internal int Ae = 20;
            internal int be = 10;
Т.е. 0xea60*10, 0xea60*10
Код:
Cbe.Qe.ge = new Timer(new TimerCallback(Cbe.Qe.ke), null, 0xea60, 0xea60);
а тут в свою очередь просто просто 0xea60,0xea60
Но у меня появлялся вопрос, как разобрать, что же это такое.
http://msdn.microsoft.com/ru-ru/library/ah1h85ch.aspx - ссылко с инфой, а теперь по нашему пример
new Timer - создается таймер
new TimerCallback(Cbe.Qe.ke) - создание делегат
null - тут наверное должно быть описание или что то типа того
0xea60 - этот параметр означает сколько ждать до запуска самого TimerCallBack
0xea60 - а это уже сам таймер

Но возникает вопрос, когда у нас умножились
10*0xea60+10*0xea60 = 1200 минут, т.е программа всё равно должна выключатся или я что то не правильно понимаю из кода?

По ссылке полная версия откуда выдрал:
http://tny.cz/0735ec0a
1
Ответ
#43
Западло, нельзя Нет приложения отлаживать в IDA. Sad
А другого софта я даже и не знаю под Нет который бы пахал.
[Изображение: 61b684.png]
Ответ
#44
darkevil Написал:Западло, нельзя Нет приложения отлаживать в IDA. Sad
А другого софта я даже и не знаю под Нет который бы пахал.

ILDasm

http://msdn.microsoft.com/ru-ru/library/f7dy01k1.aspx
Ответ
#45
darkevil Написал:Западло, нельзя Нет приложения отлаживать в IDA. Sad
А другого софта я даже и не знаю под Нет который бы пахал.

Это ООП же а его отладить нельзя IDA как и в других отладчиках хотя есть какой то
Ответ
#46
PaINN Написал:ILDasm

http://msdn.microsoft.com/ru-ru/library/f7dy01k1.aspx

И что это даст? Я имею ввиду, что по этой ссылке ничего не нашел.
1
Ответ
#47
PaINN Написал:ILDasm

http://msdn.microsoft.com/ru-ru/library/f7dy01k1.aspx

Этож вроде для дезасемблирования? А нужен именно отладчик по типу IDA где я смогу запустить прогу в режиме отладки.
[Изображение: 61b684.png]
Ответ
#48
Все таки ошибался про иду, IDA pro кушает .NET Для ознакомления
Ответ
#49
Запустил на тест ещё 1 exe, через 2 часа посмотрю.

Добавлено через 9 минут
Хотя я походу "ЭТО" сделал.
[Изображение: 19:22:56_33633455.png]
Как видно из скрина программа работает уже больше 2х часов.

Надеюсь и дальше будет работать.

Добавлено через 11 минут
Ну и файлик, вдруг кому понадобится/пригодится.
http://rghost.ru/45924059
Парольчег
1
Ответ
#50
Fater Написал:Все таки ошибался про иду, IDA pro кушает .NET Для ознакомления

Код:
Отладка .NET-программ также не поддерживается, pdb-файлы не генерируются и еще куча других недостатков, затрудняющих взлом и вынуждающих пользоваться ildasm/ilasm: http://idapro.com;
[Изображение: 61b684.png]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Ищу програмку SmileForMe 3 1,506 05-01-2015, 11:46 AM
Последний пост: nn03
  Сломать звук Madnezz 21 5,387 08-31-2012, 01:46 PM
Последний пост: Madnezz

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)