Sorry i want to be more clarify, as i said all about "i cannot delete"
means "i cannot save after delete these items using
"asm.Write("ccc.exe");"

Thanks


On Jun 19, 11:41 am, david khan <[email protected]> wrote:
> Hello Evain,
>     Thanks for your info, today i have test about 7 EXE , they all the
> same, and notice that we cannot delete these classes, so if you test
> on any EXE with the code above , the result should be the same.
>
> Here is the stack trace
>
> ++++++++++++++++++++++++++++
>
> Mono.Cecil.dll!
> Mono.Cecil.MetadataBuilder.LookupToken(Mono.Cecil.IMetadataTokenProvider
> provider = null) + 0x75 bytes
>         Mono.Cecil.dll!
> Mono.Cecil.Cil.CodeReader.PatchRawCode(Mono.Cecil.PE.ByteBuffer buffer
> = {Mono.Cecil.PE.ByteBuffer}, int code_size = 15,
> Mono.Cecil.Cil.CodeWriter writer = {Mono.Cecil.Cil.CodeWriter}) +
> 0x3b7 bytes
>         Mono.Cecil.dll!
> Mono.Cecil.Cil.CodeReader.PatchRawFatMethod(Mono.Cecil.PE.ByteBuffer
> buffer = {Mono.Cecil.PE.ByteBuffer}, Mono.Cecil.Cil.MethodSymbols
> symbols = {Mono.Cecil.Cil.MethodSymbols}, Mono.Cecil.Cil.CodeWriter
> writer = {Mono.Cecil.Cil.CodeWriter}, out Mono.Cecil.MetadataToken
> local_var_token = {[Signature:0x0002]}) + 0x1c1 bytes
>         Mono.Cecil.dll!
> Mono.Cecil.Cil.CodeReader.PatchRawMethodBody(Mono.Cecil.MethodDefinition
> method = {System.Void
> test.Form1::button2_Click(System.Object,System.EventArgs)},
> Mono.Cecil.Cil.CodeWriter writer = {Mono.Cecil.Cil.CodeWriter}, out
> Mono.Cecil.Cil.MethodSymbols symbols = {Mono.Cecil.Cil.MethodSymbols})
> + 0x16f bytes
>         Mono.Cecil.dll!
> Mono.Cecil.Cil.CodeWriter.WriteUnresolvedMethodBody(Mono.Cecil.MethodDefinition
> method = {System.Void
> test.Form1::button2_Click(System.Object,System.EventArgs)}) + 0xe3
> bytes
>         Mono.Cecil.dll!
> Mono.Cecil.Cil.CodeWriter.WriteMethodBody(Mono.Cecil.MethodDefinition
> method = {System.Void
> test.Form1::button2_Click(System.Object,System.EventArgs)}) + 0x9d
> bytes
>         Mono.Cecil.dll!
> Mono.Cecil.MetadataBuilder.AddMethod(Mono.Cecil.MethodDefinition
> method = {System.Void
> test.Form1::button2_Click(System.Object,System.EventArgs)}) + 0x82
> bytes
>         Mono.Cecil.dll!
> Mono.Cecil.MetadataBuilder.AddMethods(Mono.Cecil.TypeDefinition type =
> {test.Form1}) + 0x80 bytes
>         Mono.Cecil.dll!
> Mono.Cecil.MetadataBuilder.AddType(Mono.Cecil.TypeDefinition type =
> {test.Form1}) + 0x22e bytes
>         Mono.Cecil.dll!Mono.Cecil.MetadataBuilder.AddTypeDefs() + 0x80
> bytes
>         Mono.Cecil.dll!Mono.Cecil.MetadataBuilder.BuildTypes() + 0x68 bytes
>         Mono.Cecil.dll!Mono.Cecil.MetadataBuilder.BuildModule() + 0x179
> bytes
>         Mono.Cecil.dll!Mono.Cecil.MetadataBuilder.BuildMetadata() + 0x2d
> bytes
>         Mono.Cecil.dll!
> Mono.Cecil.ModuleWriter.BuildMetadata.AnonymousMethod(Mono.Cecil.MetadataBuilder
> builder = {Mono.Cecil.MetadataBuilder}, Mono.Cecil.MetadataReader _ =
> {Mono.Cecil.MetadataReader}) + 0x42 bytes
>         Mono.Cecil.dll!
> Mono.Cecil.ModuleDefinition.Read<Mono.Cecil.MetadataBuilder,Mono.Cecil.MetadataBuilder>(Mono.Cecil.MetadataBuilder
> item = {Mono.Cecil.MetadataBuilder},
> Mono.Func<Mono.Cecil.MetadataBuilder,Mono.Cecil.MetadataReader,Mono.Cecil.MetadataBuilder>
> read = {Method = {Mono.Cecil.MetadataBuilder
> <BuildMetadata>b__0(Mono.Cecil.MetadataBuilder,
> Mono.Cecil.MetadataReader)}}) + 0x79 bytes
>         Mono.Cecil.dll!
> Mono.Cecil.ModuleWriter.BuildMetadata(Mono.Cecil.ModuleDefinition
> module = {test.exe}, Mono.Cecil.MetadataBuilder metadata =
> {Mono.Cecil.MetadataBuilder}) + 0xda bytes
>         Mono.Cecil.dll!
> Mono.Cecil.ModuleWriter.WriteModuleTo(Mono.Cecil.ModuleDefinition
> module = {test.exe}, System.IO.Stream stream = {System.IO.FileStream},
> Mono.Cecil.WriterParameters parameters =
> {Mono.Cecil.WriterParameters}) + 0x2db bytes
>         Mono.Cecil.dll!Mono.Cecil.ModuleDefinition.Write(System.IO.Stream
> stream = {System.IO.FileStream}, Mono.Cecil.WriterParameters
> parameters = {Mono.Cecil.WriterParameters}) + 0xaf bytes
>         Mono.Cecil.dll!Mono.Cecil.ModuleDefinition.Write(string fileName =
> "ccc.exe", Mono.Cecil.WriterParameters parameters =
> {Mono.Cecil.WriterParameters}) + 0x68 bytes
>         Mono.Cecil.dll!Mono.Cecil.ModuleDefinition.Write(string fileName =
> "ccc.exe") + 0x4b bytes
>         cecil.exe!cecil.Form1.button3_Click(object sender = {Text =
> "button3"}, System.EventArgs e = {X = 49 Y = 13 Button = Left}) Line
> 112 + 0x10 bytes        C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.Control.OnClick(System.EventArgs e) Line 8414      C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.Button.OnClick(System.EventArgs e) Line 279        C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs
> mevent = {X = 49 Y = 13 Button = Left}) Line 308        C#
>         System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseUp(ref
> System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons
> button, int clicks) Line 13042 + 0x2a5 bytes    C#
>         System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref
> System.Windows.Forms.Message m) Line 13772      C#
>         System.Windows.Forms.dll!System.Windows.Forms.ButtonBase.WndProc(ref
> System.Windows.Forms.Message m) Line 1306 + 0x9 bytes   C#>    
> System.Windows.Forms.dll!System.Windows.Forms.Button.WndProc(ref 
> System.Windows.Forms.Message m) Line 400       C#
>
>         System.Windows.Forms.dll!
> System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref
> System.Windows.Forms.Message m) Line 14059      C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref
> System.Windows.Forms.Message m) Line 14114      C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr
> hWnd, int msg = 514, System.IntPtr wparam, System.IntPtr lparam) Line
> 777 + 0xa bytes C#
>         [Native to Managed Transition]
>         [Managed to Native Transition]
>         System.Windows.Forms.dll!
> System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(int
> dwComponentID, int reason = -1, int pvLoopData = 0) Line 2106 + 0x8
> bytes   C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int
> reason = -1, System.Windows.Forms.ApplicationContext context =
> {System.Windows.Forms.ApplicationContext}) Line 3377 + 0x1b bytes       C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int
> reason, System.Windows.Forms.ApplicationContext context) Line 3261 +
> 0xc bytes       C#
>         System.Windows.Forms.dll!
> System.Windows.Forms.Application.Run(System.Windows.Forms.Form
> mainForm) Line 1466     C#
>         cecil.exe!cecil.Program.Main() Line 18 + 0x1e bytes     C#
>         [Native to Managed Transition]
>         [Managed to Native Transition]
>         mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile,
> System.Security.Policy.Evidence assemblySecurity, string[] args) Line
> 931 + 0x1f bytes        C#
>         Microsoft.VisualStudio.HostingProcess.Utilities.dll!
> Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() +
> 0x2b bytes
>         mscorlib.dll!
> System.Threading.ThreadHelper.ThreadStart_Context(object state) Line
> 55 + 0x29 bytes C#
>         mscorlib.dll!
> System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext
> executionContext, System.Threading.ContextCallback callback, object
> state) Line 355 + 0xd bytes     C#
>         mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() Line 82 +
> 0x21 bytes      C#
> ++++++++++++++++++++++++++++++++++++++
>
> and EXCEPTION
>
> +++++++++++++++++++++++++++++++++++++
>
> ************** Exception Text **************
> System.ArgumentNullException: Value cannot be null.
>    at Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider
> provider)
>    at Mono.Cecil.Cil.CodeReader.PatchRawCode(ByteBuffer buffer, Int32
> code_size, CodeWriter writer)
>    at Mono.Cecil.Cil.CodeReader.PatchRawFatMethod(ByteBuffer buffer,
> MethodSymbols symbols, CodeWriter writer, MetadataToken&
> local_var_token)
>    at Mono.Cecil.Cil.CodeReader.PatchRawMethodBody(MethodDefinition
> method, CodeWriter writer, MethodSymbols& symbols)
>    at
> Mono.Cecil.Cil.CodeWriter.WriteUnresolvedMethodBody(MethodDefinition
> method)
>    at Mono.Cecil.Cil.CodeWriter.WriteMethodBody(MethodDefinition
> method)
>    at Mono.Cecil.MetadataBuilder.AddMethod(MethodDefinition method)
>    at Mono.Cecil.MetadataBuilder.AddMethods(TypeDefinition type)
>    at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
>    at Mono.Cecil.MetadataBuilder.AddTypeDefs()
>    at Mono.Cecil.MetadataBuilder.BuildTypes()
>    at Mono.Cecil.MetadataBuilder.BuildModule()
>    at Mono.Cecil.MetadataBuilder.BuildMetadata()
>    at Mono.Cecil.ModuleWriter.<BuildMetadata>b__0(MetadataBuilder
> builder, MetadataReader _)
>    at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3
> read)
>    at Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module,
> MetadataBuilder metadata)
>    at Mono.Cecil.ModuleWriter.WriteModuleTo(ModuleDefinition module,
> Stream stream, WriterParameters parameters)
>    at Mono.Cecil.ModuleDefinition.Write(Stream stream,
> WriterParameters parameters)
>    at Mono.Cecil.ModuleDefinition.Write(String fileName,
> WriterParameters parameters)
>    at Mono.Cecil.ModuleDefinition.Write(String fileName)
>    at cecil.Form1.button3_Click(Object sender, EventArgs e) in C:\Users
> \Visual Studio 2008\Projects\ceciltest\ceciltest\Form1.cs:line 112
>    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.Control.ControlNativeWindow.OnMessage(Message& m)
>    at
> System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
>    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32
> msg, IntPtr wparam, IntPtr lparam)
>
> +++++++++++++++++++++++++++++++++++++++++
>
> Many Thanks
>
> On Jun 18, 10:36 pm, Jb Evain <[email protected]> wrote:
>
> > On Fri, Jun 18, 2010 at 9:52 PM, david khan <[email protected]> wrote:
> > > Hello Evain,
>
> > Hello Khan,
>
> ...
>
> read more »

-- 
--
mono-cecil

Reply via email to