Raised This Month: $51 Target: $400
 12% 

Lysis: An experimental .smx decompiler


Post New Thread Reply   
 
Thread Tools Display Modes
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 12-09-2015 , 06:06   Re: Lysis: An experimental .smx decompiler
Reply With Quote #241

PHP Code:
public PlVers:__version =
{
    
version 5,
    
filevers "1.6.0-dev+3885",
    
date "01/29/2015",
    
time "16:21:47"
};
new 
Float:NULL_VECTOR[3];
new 
String:NULL_STRING[4];
public 
Extension:__ext_core =
{
    
name "Core",
    
file "core",
    
autoload 0,
    
required 0,
};
new 
MaxClients;
new 
bool:g_bHaveUCP[66];
public 
Plugin:myinfo =
{
    
name "UCP Players List",
    
description "",
    
author "R1KO & Karlson site : http://www.sourcemod-plugins.ru/",
    
version "1.3",
    
url ""
};
public 
NodeBlock()
{
    
decl i;
    
i++;
    while (
true)
    {
        
i++;
    }
}

public 
__ext_core_SetNTVOptional()
{
    
MarkNativeAsOptional("GetFeatureStatus");
    
MarkNativeAsOptional("RequireFeature");
    
MarkNativeAsOptional("AddCommandListener");
    
MarkNativeAsOptional("RemoveCommandListener");
    
MarkNativeAsOptional("BfWriteBool");
    
MarkNativeAsOptional("BfWriteByte");
    
MarkNativeAsOptional("BfWriteChar");
    
MarkNativeAsOptional("BfWriteShort");
    
MarkNativeAsOptional("BfWriteWord");
    
MarkNativeAsOptional("BfWriteNum");
    
MarkNativeAsOptional("BfWriteFloat");
    
MarkNativeAsOptional("BfWriteString");
    
MarkNativeAsOptional("BfWriteEntity");
    
MarkNativeAsOptional("BfWriteAngle");
    
MarkNativeAsOptional("BfWriteCoord");
    
MarkNativeAsOptional("BfWriteVecCoord");
    
MarkNativeAsOptional("BfWriteVecNormal");
    
MarkNativeAsOptional("BfWriteAngles");
    
MarkNativeAsOptional("BfReadBool");
    
MarkNativeAsOptional("BfReadByte");
    
MarkNativeAsOptional("BfReadChar");
    
MarkNativeAsOptional("BfReadShort");
    
MarkNativeAsOptional("BfReadWord");
    
MarkNativeAsOptional("BfReadNum");
    
MarkNativeAsOptional("BfReadFloat");
    
MarkNativeAsOptional("BfReadString");
    
MarkNativeAsOptional("BfReadEntity");
    
MarkNativeAsOptional("BfReadAngle");
    
MarkNativeAsOptional("BfReadCoord");
    
MarkNativeAsOptional("BfReadVecCoord");
    
MarkNativeAsOptional("BfReadVecNormal");
    
MarkNativeAsOptional("BfReadAngles");
    
MarkNativeAsOptional("BfGetNumBytesLeft");
    
MarkNativeAsOptional("PbReadInt");
    
MarkNativeAsOptional("PbReadFloat");
    
MarkNativeAsOptional("PbReadBool");
    
MarkNativeAsOptional("PbReadString");
    
MarkNativeAsOptional("PbReadColor");
    
MarkNativeAsOptional("PbReadAngle");
    
MarkNativeAsOptional("PbReadVector");
    
MarkNativeAsOptional("PbReadVector2D");
    
MarkNativeAsOptional("PbGetRepeatedFieldCount");
    
MarkNativeAsOptional("PbReadRepeatedInt");
    
MarkNativeAsOptional("PbReadRepeatedFloat");
    
MarkNativeAsOptional("PbReadRepeatedBool");
    
MarkNativeAsOptional("PbReadRepeatedString");
    
MarkNativeAsOptional("PbReadRepeatedColor");
    
MarkNativeAsOptional("PbReadRepeatedAngle");
    
MarkNativeAsOptional("PbReadRepeatedVector");
    
MarkNativeAsOptional("PbReadRepeatedVector2D");
    
MarkNativeAsOptional("PbSetInt");
    
MarkNativeAsOptional("PbSetFloat");
    
MarkNativeAsOptional("PbSetBool");
    
MarkNativeAsOptional("PbSetString");
    
MarkNativeAsOptional("PbSetColor");
    
MarkNativeAsOptional("PbSetAngle");
    
MarkNativeAsOptional("PbSetVector");
    
MarkNativeAsOptional("PbSetVector2D");
    
MarkNativeAsOptional("PbAddInt");
    
MarkNativeAsOptional("PbAddFloat");
    
MarkNativeAsOptional("PbAddBool");
    
MarkNativeAsOptional("PbAddString");
    
MarkNativeAsOptional("PbAddColor");
    
MarkNativeAsOptional("PbAddAngle");
    
MarkNativeAsOptional("PbAddVector");
    
MarkNativeAsOptional("PbAddVector2D");
    
MarkNativeAsOptional("PbReadMessage");
    
MarkNativeAsOptional("PbReadRepeatedMessage");
    
MarkNativeAsOptional("PbAddMessage");
    
VerifyCoreVersion();
    return 
0;
}

public 
OnPluginStart()
{
    
RegConsoleCmd("sm_ucp"UCP_PL_CMD""0);
    return 
0;
}

public 
OnClientPostAdminCheck(iClient)
{
    new 
var1;
    if (
iClient && !IsFakeClient(iClient))
    {
        
decl String:sUCPID[16];
        
GetClientInfo(iClient"ucp_id"sUCPID13);
        
decl String:fUCPID[12];
        
SubStr(sUCPID08fUCPID11);
        if (
strlen(sUCPID) == 11)
        {
            if (
GetClientInfo(iClientfUCPID_NULLVAR_500000))
            {
                
g_bHaveUCP[iClient] = 1;
            }
            
g_bHaveUCP[iClient] = 0;
            return 
0;
        }
        else
        {
            
g_bHaveUCP[iClient] = 0;
        }
    }
    else
    {
        
g_bHaveUCP[iClient] = 0;
    }
    return 
0;
}

public 
Action:UCP_PL_CMD(iClientargs)
{
    if (
iClient)
    {
        
DisplayMenu(UCP_PL_Menu(), iClient0);
    }
    return 
Action:3;
}

Handle:UCP_PL_Menu()
{
    new 
Handle:hMenu CreateMenu(UCP_PL_Menu_andlerMenuAction:28);
    
SetMenuTitle(hMenu"Игроки играющие с UCP:\n \n");
    
SetMenuExitButton(hMenutrue);
    
decl String:sUserID[16];
    
decl String:sName[32];
    new 
1;
    while (
<= MaxClients)
    {
        new 
var1;
        if (
IsClientInGame(i) && !IsFakeClient(i) && g_bHaveUCP[i])
        {
            
GetClientName(isName32);
            
IntToString(GetClientUserId(i), sUserID15);
            
AddMenuItem(hMenusUserIDsName0);
        }
        
i++;
    }
    if (!(
GetMenuItemCount(hMenu)))
    {
        
AddMenuItem(hMenu"""Нет игроков играющих с UCP"1);
    }
    return 
hMenu;
}

public 
UCP_PL_Menu_andler(Handle:hMenuMenuAction:actioniClientparam)
{
    if (
action == MenuAction:16)
    {
        
CloseHandle(hMenu);
    }
    return 
0;
}

SubStr(String:sIn[], start_indxchar_countString:sOut[], sizeofOut)
{
    
strcopy(sOutsizeofOutsIn[start_indx]);
    
sOut[char_count] = MissingTAG:0;
    return 
0;

__________________
Peace-Maker is offline
keygens
Senior Member
Join Date: Mar 2010
Location: Somewhere
Old 12-16-2015 , 10:01   Re: Lysis: An experimental .smx decompiler
Reply With Quote #242

Hello again guys. How to understand that?
Code:
new var1 = isNotAvailable[get];
if (2048 > var1 & -1 < var1)
keygens is offline
Chrisber
AlliedModders Donor
Join Date: Jul 2007
Location: localhost
Old 12-16-2015 , 10:16   Re: Lysis: An experimental .smx decompiler
Reply With Quote #243

Seems like a check whether the given index (var1) is a valid entity or edict (?)
Chrisber is offline
sahapro33
Member
Join Date: Mar 2014
Old 01-06-2016 , 15:20   Re: Lysis: An experimental .smx decompiler
Reply With Quote #244

Hello! Tell me where you can get the current version lysis and how to collect for Windows OS?
sahapro33 is offline
sahapro33
Member
Join Date: Mar 2014
Old 01-16-2016 , 11:53   Re: Lysis: An experimental .smx decompiler
Reply With Quote #245

Quote:
Originally Posted by Pcsl View Post
I have compiled the last release from Peace-maker for Windows. I have added a bat file (based on the one from Dr. McKay and shavit) that lets you to drag and drop multiple files at the same time. However they have to be in the same folder as the bat file.

I hope you find it useful

EDIT: It's working again.

Prompt how to create a .jar file of it - https://github.com/peace-maker/lysis-java
sahapro33 is offline
sahapro33
Member
Join Date: Mar 2014
Old 01-17-2016 , 01:31   Re: Lysis: An experimental .smx decompiler
Reply With Quote #246

Hi. Help! pls.

PHP Code:
C:\Users\&#1040;дмин\Desktop\Плагины\lysis-java-master\src\lysis>javac Lysis.java
Lysis.java:8errorpackage lysis.builder does not exist
import lysis
.builder.MethodParser;
                    ^
Lysis.java:9errorpackage lysis.builder does not exist
import lysis
.builder.SourceBuilder;
                    ^
Lysis.java:10errorpackage lysis.builder.structure does not exist
import lysis
.builder.structure.ControlBlock;
                              ^
Lysis.java:11errorpackage lysis.builder.structure does not exist
import lysis
.builder.structure.SourceStructureBuilder;
                              ^
Lysis.java:12errorpackage lysis.lstructure does not exist
import lysis
.lstructure.Argument;
                       ^
Lysis.java:13errorpackage lysis.lstructure does not exist
import lysis
.lstructure.Function;
                       ^
Lysis.java:14errorpackage lysis.lstructure does not exist
import lysis
.lstructure.LGraph;
                       ^
Lysis.java:15errorpackage lysis.lstructure does not exist
import lysis
.lstructure.VariableType;
                       ^
Lysis.java:16errorpackage lysis.nodes does not exist
import lysis
.nodes.NodeAnalysis;
                  ^
Lysis.java:17errorpackage lysis.nodes does not exist
import lysis
.nodes.NodeBlock;
                  ^
Lysis.java:18errorpackage lysis.nodes does not exist
import lysis
.nodes.NodeBuilder;
                  ^
Lysis.java:19errorpackage lysis.nodes does not exist
import lysis
.nodes.NodeGraph;
                  ^
Lysis.java:20errorpackage lysis.nodes does not exist
import lysis
.nodes.NodeRenamer;
                  ^
Lysis.java:21errorpackage lysis.nodes does not exist
import lysis
.nodes.NodeRewriter;
                  ^
Lysis.java:22errorpackage lysis.sourcepawn does not exist
import lysis
.sourcepawn.SourcePawnFile;
                       ^
Lysis.java:23errorpackage lysis.types does not exist
import lysis
.types.BackwardTypePropagation;
                  ^
Lysis.java:24errorpackage lysis.types does not exist
import lysis
.types.ForwardTypePropagation;
                  ^
Lysis.java:30errorcannot find symbol
    
static void PreprocessMethod(SourcePawnFile file, Function functhrows Exception
                                 
^
  
symbol:   class SourcePawnFile
  location
: class Lysis
Lysis
.java:30errorcannot find symbol
    
static void PreprocessMethod(SourcePawnFile file, Function functhrows Exception
                                                      
^
  
symbol:   class Function
  
location: class Lysis
Lysis
.java:63errorcannot find symbol
    
static void DumpMethod(SourcePawnFile fileSourceBuilder sourcelong addrthrows Exception
                           
^
  
symbol:   class SourcePawnFile
  location
: class Lysis
Lysis
.java:63errorcannot find symbol
    
static void DumpMethod(SourcePawnFile fileSourceBuilder sourcelong addrthrows Exception
                                                
^
  
symbol:   class SourceBuilder
  location
: class Lysis
Lysis
.java:131errorcannot find symbol
        
static Function FunctionByName(SourcePawnFile fileString name)
                                       ^
  
symbol:   class SourcePawnFile
  location
: class Lysis
Lysis
.java:131errorcannot find symbol
        
static Function FunctionByName(SourcePawnFile fileString name)
               ^
  
symbol:   class Function
  
location: class Lysis
Lysis
.java:32errorcannot find symbol
        MethodParser mp 
= new MethodParser(filefunc.address());
        ^
  
symbol:   class MethodParser
  location
: class Lysis
Lysis
.java:32errorcannot find symbol
        MethodParser mp 
= new MethodParser(filefunc.address());
                              ^
  
symbol:   class MethodParser
  location
: class Lysis
Lysis
.java:33errorcannot find symbol
        LGraph graph 
mp.parse();
        ^
  
symbol:   class LGraph
  location
: class Lysis
Lysis
.java:42errorcannot find symbol
            LinkedList
<Argumentargs = new LinkedList<Argument>();
                       ^
  
symbol:   class Argument
  location
: class Lysis
Lysis
.java:42errorcannot find symbol
            LinkedList
<Argumentargs = new LinkedList<Argument>();
                                                       ^
  
symbol:   class Argument
  location
: class Lysis
Lysis
.java:49errorcannot find symbol
                
for (Argument argfunc.args())
                     ^
  
symbol:   class Argument
  location
: class Lysis
Lysis
.java:54errorcannot find symbol
                Argument arg 
= new Argument(VariableType.Normal"_arg" i0nullnull);
                ^
  
symbol:   class Argument
  location
: class Lysis
Lysis
.java:54errorcannot find symbol
                Argument arg 
= new Argument(VariableType.Normal"_arg" i0nullnull);
                                   ^
  
symbol:   class Argument
  location
: class Lysis
Lysis
.java:54errorcannot find symbol
                Argument arg 
= new Argument(VariableType.Normal"_arg" i0nullnull);
                                            ^
  
symbol:   variable VariableType
  location
: class Lysis
Lysis
.java:65errorcannot find symbol
        MethodParser mp 
= new MethodParser(fileaddr);
        ^
  
symbol:   class MethodParser
  location
: class Lysis
Lysis
.java:65errorcannot find symbol
        MethodParser mp 
= new MethodParser(fileaddr);
                              ^
  
symbol:   class MethodParser
  location
: class Lysis
Lysis
.java:66errorcannot find symbol
        LGraph graph 
mp.parse();
        ^
  
symbol:   class LGraph
  location
: class Lysis
Lysis
.java:69errorcannot find symbol
        NodeBuilder nb 
= new NodeBuilder(filegraph);
        ^
  
symbol:   class NodeBuilder
  location
: class Lysis
Lysis
.java:69errorcannot find symbol
        NodeBuilder nb 
= new NodeBuilder(filegraph);
                             ^
  
symbol:   class NodeBuilder
  location
: class Lysis
Lysis
.java:70errorcannot find symbol
        NodeBlock
[] nblocks nb.buildNodes();
        ^
  
symbol:   class NodeBlock
  location
: class Lysis
Lysis
.java:72errorcannot find symbol
        NodeGraph ngraph 
= new NodeGraph(filenblocks);
        ^
  
symbol:   class NodeGraph
  location
: class Lysis
Lysis
.java:72errorcannot find symbol
        NodeGraph ngraph 
= new NodeGraph(filenblocks);
                               ^
  
symbol:   class NodeGraph
  location
: class Lysis
Lysis
.java:75errorcannot find symbol
        NodeAnalysis
.RemoveDeadCode(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:77errorcannot find symbol
        NodeRewriter rewriter 
= new NodeRewriter(ngraph);
        ^
  
symbol:   class NodeRewriter
  location
: class Lysis
Lysis
.java:77errorcannot find symbol
        NodeRewriter rewriter 
= new NodeRewriter(ngraph);
                                    ^
  
symbol:   class NodeRewriter
  location
: class Lysis
Lysis
.java:80errorcannot find symbol
        NodeAnalysis
.CollapseArrayReferences(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:83errorcannot find symbol
        ForwardTypePropagation ftypes 
= new ForwardTypePropagation(ngraph);
        ^
  
symbol:   class ForwardTypePropagation
  location
: class Lysis
Lysis
.java:83errorcannot find symbol
        ForwardTypePropagation ftypes 
= new ForwardTypePropagation(ngraph);
                                            ^
  
symbol:   class ForwardTypePropagation
  location
: class Lysis
Lysis
.java:86errorcannot find symbol
        BackwardTypePropagation btypes 
= new BackwardTypePropagation(ngraph);
        ^
  
symbol:   class BackwardTypePropagation
  location
: class Lysis
Lysis
.java:86errorcannot find symbol
        BackwardTypePropagation btypes 
= new BackwardTypePropagation(ngraph);
                                             ^
  
symbol:   class BackwardTypePropagation
  location
: class Lysis
Lysis
.java:94errorcannot find symbol
        NodeAnalysis
.CollapseArrayReferences(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:100errorcannot find symbol
        NodeAnalysis
.CoalesceLoadStores(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:103errorcannot find symbol
        NodeAnalysis
.HandleMemCopys(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:108errorcannot find symbol
        NodeAnalysis
.AnalyzeHeapUsage(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:111errorcannot find symbol
        NodeAnalysis
.RemoveGuards(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:112errorcannot find symbol
        NodeAnalysis
.RemoveDeadCode(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:114errorcannot find symbol
        NodeRenamer renamer 
= new NodeRenamer(ngraph);
        ^
  
symbol:   class NodeRenamer
  location
: class Lysis
Lysis
.java:114errorcannot find symbol
        NodeRenamer renamer 
= new NodeRenamer(ngraph);
                                  ^
  
symbol:   class NodeRenamer
  location
: class Lysis
Lysis
.java:118errorcannot find symbol
        NodeAnalysis
.CoalesceLoadsAndDeclarations(ngraph);
        ^
  
symbol:   variable NodeAnalysis
  location
: class Lysis
Lysis
.java:122errorcannot find symbol
        SourceStructureBuilder sb 
= new SourceStructureBuilder(ngraph);
        ^
  
symbol:   class SourceStructureBuilder
  location
: class Lysis
Lysis
.java:122errorcannot find symbol
        SourceStructureBuilder sb 
= new SourceStructureBuilder(ngraph);
                                        ^
  
symbol:   class SourceStructureBuilder
  location
: class Lysis
Lysis
.java:123errorcannot find symbol
        ControlBlock structure 
sb.build();
        ^
  
symbol:   class ControlBlock
  location
: class Lysis
Lysis
.java:160errorcannot find symbol
        PawnFile file 
null;
        ^
  
symbol:   class PawnFile
  location
: class Lysis
Lysis
.java:162errorcannot find symbol
                        file 
PawnFile.FromFile(path);
                               ^
  
symbol:   variable PawnFile
  location
: class Lysis
Lysis
.java:178errorcannot find symbol
            
Function fun file.functions()[i];
            ^
  
symbol:   class Function
  
location: class Lysis
Lysis
.java:181errorcannot find symbol
                PreprocessMethod
((SourcePawnFile)filefun);
                                  ^
  
symbol:   class SourcePawnFile
  location
: class Lysis
Lysis
.java:192errorcannot find symbol
        SourceBuilder source 
= new SourceBuilder(fileSystem.out);
        ^
  
symbol:   class SourceBuilder
  location
: class Lysis
Lysis
.java:192errorcannot find symbol
        SourceBuilder source 
= new SourceBuilder(fileSystem.out);
                                   ^
  
symbol:   class SourceBuilder
  location
: class Lysis
Lysis
.java:202errorcannot find symbol
            
Function fun file.functions()[i];
            ^
  
symbol:   class Function
  
location: class Lysis
Lysis
.java:206errorcannot find symbol
                DumpMethod
((SourcePawnFile)filesourcefun.address());
                            ^
  
symbol:   class SourcePawnFile
  location
: class Lysis
Lysis
.java:215errorcannot find symbol
                source 
= new SourceBuilder((SourcePawnFile)fileSystem.out);
                             ^
  
symbol:   class SourceBuilder
  location
: class Lysis
Lysis
.java:215errorcannot find symbol
                source 
= new SourceBuilder((SourcePawnFile)fileSystem.out);
                                            ^
  
symbol:   class SourcePawnFile
  location
: class Lysis
70 errors 
sahapro33 is offline
SourceSamil
Junior Member
Join Date: Feb 2016
Old 02-10-2016 , 14:21   Lysis: An experimental .smx decompiler
Reply With Quote #247

Hey, decompile it plugin, please
Attached Files
File Type: smx ucplist.smx (3.6 KB, 210 views)

Last edited by SourceSamil; 02-10-2016 at 14:21.
SourceSamil is offline
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 02-11-2016 , 09:48   Re: Lysis: An experimental .smx decompiler
Reply With Quote #248

Quote:
Originally Posted by SourceSamil View Post
Hey, decompile it plugin, please
That looks like a clone from the previously posted plugin.
The webversion gives you an idea of the logic already. Nothing newly breaking in there.
__________________
Peace-Maker is offline
SourceSamil
Junior Member
Join Date: Feb 2016
Old 02-11-2016 , 11:48   Re: Lysis: An experimental .smx decompiler
Reply With Quote #249

Quote:
Originally Posted by Peace-Maker View Post
That looks like a clone from the previously posted plugin.
The webversion gives you an idea of the logic already. Nothing newly breaking in there.
Can you give me decompile c++ version for windows, so java version isn't stable? (More errors)

Last edited by SourceSamil; 02-12-2016 at 12:03.
SourceSamil is offline
Dr. McKay
Sir Dr. SourceMod Plugin Approver Esq. Ltd. M.D. PhD
Join Date: Aug 2011
Location: Atlantis
Old 02-16-2016 , 17:26   Re: Lysis: An experimental .smx decompiler
Reply With Quote #250

The Java version works fine for me in Firefox.
__________________
Dr. McKay is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:48.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode