KeyGen для ToolBox

1,990
18
105
Для этого можно написать свой запускатор, который ололометодом находит место в коде, где идёт валидация и выпиливает её. И всё это происходит в рантайме.
 
471
5
wilah написал(а):
Не цепляйся к нему, гуманитарии слишком туго думают
Ты балабол.
[merge_posts_bbcode]Добавлено: 23.01.2016 05:37:31[/merge_posts_bbcode]

Oldestkon написал(а):
Drovosek написал(а):
Тогда какое правильное определение у выражения "маска ключа" ?
Ало, что за "маска ключа"?
Ты так тонко троллишь или что? Где ты вообще про это вычитал? У ключа есть паттерн, но какая к чёрту маска?
Паттерн, к слову, обычно получается не из ключиков, а путём дизассемблирования\дебага кода программы, где, собственно, происходит валидация ключа.
Можно мне ссылочку на статейку по этой тематике (на русском) ?
 
398
4
7
Если ты спрашиваешь об этом, то поверь, это не для тебя.
Попробуй разобраться с https://bitbucket.org/Shuleshkin/cortex-m3-forth/src/94236d0fe0f33bcbe8e7a0ff2954dc326c32fffa/forth.s?fileviewer=file-view-default (хотя это ARM, а не x86 ассемблер), то-то же. Да я сам еле разберусь со своим старым кодом на ассемблере.
А дизассемблер/отладчик тебе выдаст намного менее понятный код без более-менее понятных названий меток.

Судя по всему, этот ToolBox - .NET приложение, а значит google: реверсинг .net
 
1,137
5
3
http://habrahabr.ru/post/109117/
Код:
public void LicenceStuff()
{
    try
    {
        if (Module_Definition.DebugMode)
        {
            Module_Debug.WriteDebug(Module_Definition.DateStamp() + " Start: Form_ModelBuilder - Function 051");
        }
        if (!Module_Definition.TestVersion)
        {
            if (!Module_Definition.ValidateKey.IsValid)
            {
                MyProject.Forms.Form_Licence_Buy.Show();
            }
            else if ((!Module_Definition.ValidateKey.Features[0] | Module_Definition.ValidateKey.Features[1]) | Module_Definition.ValidateKey.Features[2])
            {
                this.AsJavaToolStripMenuItem.Visible = true;
                this.AsTurboModelThingyToolStripMenuItem.Visible = true;
                this.AsOBJModelToolStripMenuItem.Visible = true;
                this.AsObjModelAllPartsToolStripMenuItem.Visible = true;
                this.ToolStripMenuItem31.Visible = true;
                this.ToolStripMenuItem32.Visible = true;
                this.ToolStripMenuItem39.Visible = true;
                this.ToolStripMenuItem40.Visible = true;
                this.ToolStripMenuItem109.Visible = true;
            }
            else if (Module_Definition.ValidateKey.Features[0])
            {
                this.AsJavaToolStripMenuItem.Visible = true;
                this.AsTurboModelThingyToolStripMenuItem.Visible = true;
                this.AsOBJModelToolStripMenuItem.Visible = false;
                this.AsObjModelAllPartsToolStripMenuItem.Visible = false;
                this.ToolStripMenuItem31.Visible = true;
                this.ToolStripMenuItem32.Visible = true;
                this.ToolStripMenuItem39.Visible = false;
                this.ToolStripMenuItem40.Visible = false;
                this.ToolStripMenuItem109.Visible = true;
            }
            else
            {
                this.AsJavaToolStripMenuItem.Visible = false;
                this.AsTurboModelThingyToolStripMenuItem.Visible = false;
                this.AsOBJModelToolStripMenuItem.Visible = false;
                this.AsObjModelAllPartsToolStripMenuItem.Visible = false;
                this.ToolStripMenuItem31.Visible = false;
                this.ToolStripMenuItem32.Visible = false;
                this.ToolStripMenuItem39.Visible = false;
                this.ToolStripMenuItem40.Visible = false;
                this.ToolStripMenuItem109.Visible = false;
            }
        }
        else
        {
            this.AsJavaToolStripMenuItem.Visible = true;
            this.AsTurboModelThingyToolStripMenuItem.Visible = true;
            this.AsOBJModelToolStripMenuItem.Visible = true;
            this.AsObjModelAllPartsToolStripMenuItem.Visible = true;
            this.ToolStripMenuItem31.Visible = true;
            this.ToolStripMenuItem32.Visible = true;
            this.ToolStripMenuItem39.Visible = true;
            this.ToolStripMenuItem40.Visible = true;
            this.ToolStripMenuItem109.Visible = true;
        }
        if (Module_Definition.DebugMode)
        {
            Module_Debug.WriteDebug(Module_Definition.DateStamp() + " End:   Form_ModelBuilder - Function 051");
        }
    }
    catch (Exception exception1)
    {
        ProjectData.SetProjectError(exception1);
        Exception ex = exception1;
        string fehlerText = "Generic";
        string fehlerNo = "Form_ModelBuilder_051";
        string fehlerArt = "Minor";
        Module_Definition.LogWrite(fehlerText, fehlerNo, fehlerArt, ex);
        ProjectData.ClearProjectError();
    }
}
 
Сверху