Obfuscators

Posts   
 
    
CliffH
User
Posts: 52
Joined: 03-May-2006
# Posted on: 01-Aug-2006 21:52:54   

There are a few threads on this forum about obfuscation how to's. I came across an 'affordable' piece of protection software recently which I purchased called .NET Reactor, in preference to the over the $1500 plus tools that are out there.

http://www.eziriz.com/

Anyone have any experience of this. My experience is that code that woks in VS.NET 2003 debug and release versions throws a few exceptions when I run a protected version.

Here's a simple scenarion: a booking entity with a single attached passenger (travel domain speak), code that works perfectly OK unprotected, create a booking entity and attach a passenger entity.

Anyone of you knowledgeable guys have any idea. Anyone tried .NET Reactor with LLBLGen, interested to know.

************** Exception Text ************** SD.LLBLGen.Pro.ORMSupportClasses.ORMQueryExecutionException: An exception was caught during the execution of an action query: Cannot insert the value NULL into column 'Booking_ID', table 'Yatra_MidOffice.dbo.Passenger'; column does not allow nulls. INSERT fails. The statement has been terminated.. Check InnerException, QueryExecuted and Parameters of this exception to examine the cause of this exception. at SD.LLBLGen.Pro.ORMSupportClasses.ActionQuery.Execute() at SD.LLBLGen.Pro.ORMSupportClasses.BatchActionQuery.Execute() at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.ExecuteActionQuery(IActionQuery queryToExecute) at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.PersistQueue(ArrayList queueToPersist, Boolean insertActions) at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.SaveEntity(IEntity2 entityToSave, Boolean refetchAfterSave, IPredicateExpression updateRestriction, Boolean recurse) at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.SaveEntity(IEntity2 entityToSave, Boolean refetchAfterSave) at Yatra.BL.BookingManager.SaveBooking(BookingEntity bk) at Yatra.MidOffice.frmBooking.(0(Object ((, EventArgs ()) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Walaa avatar
Walaa
Support Team
Posts: 14950
Joined: 21-Aug-2005
# Posted on: 02-Aug-2006 07:36:58   

Exception seems unrelated to protected version. Please examine the generated query and try to run it manually against the database.

CliffH
User
Posts: 52
Joined: 03-May-2006
# Posted on: 02-Aug-2006 10:30:44   

I get the same error with a simple bit of test code. I'll send these guys a bit of test code I think and see what their response is.

public bool SaveTestBooking() { BookingEntity booking = new BookingEntity(); booking.AppUser_ID = 2;; booking.CreationDate = DateTime.Now; booking.Client_ID = 1; booking.BookingSourceCode_ID = 3; booking.WebSiitBookingReferfence = "A1B2C3D4"; booking.BookingStatus_ID = 1;

PassengerEntity pax = new PassengerEntity();
pax.PassengerType_ID = 1;
pax.PassengerTitle_ID = 1;
pax.Initials_Forename = "C";
pax.Surname = "Test";
pax.LeadPassenger = true;
// assign pax to booking
booking.Passenger.Add( pax );

DataAccessAdapter adapter = new DataAccessAdapter();
bool IsSaved = adapter.SaveEntity( booking, true );

return IsSaved;

}

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 02-Aug-2006 11:30:15   

Just to be clear: when you don't obfuscate the code, it does work?

Also tried the dotfuscator community edition shipped with vs.net?

Frans Bouma | Lead developer LLBLGen Pro
CliffH
User
Posts: 52
Joined: 03-May-2006
# Posted on: 02-Aug-2006 11:55:54   

Yes that's right: unobfuscated code works fine, protected code not.

I really wanted to know if anyone else has used this .NET Reactor product. I didn't want to pay $1500 for obfuscation software, and at $175 this product seemed worth a go. My view of buying software is that there is decent software out there that is sensibly priced, e.g., LLBLGen, Sparx Enterprise Architect. As well as protection it also has a licensing system

Rather than me mailing their support with a sample app would you be interested in taking a look at .NET Reactor, maybe taking a sample app to see what results you get. If you can reproduce the same problem then I'll certainly follow up with their support team.

Kris
User
Posts: 79
Joined: 27-Oct-2005
# Posted on: 23-Feb-2008 15:29:03   

Did you use necrobit protection?