alterMW3 Client Decompiled + Analysis

Posts 16–26 of 26 · Page 2 of 2
Thanks, I've read on several sites you need to complete the code and also I figured out that I need that dll file as a reference. I have looked for diffirencies between your decompiled file and mine. Thank you for information. One more thing that I understand.
Quote Originally Posted by majeric View Post
Thanks, I've read on several sites you need to complete the code and also I figured out that I need that dll file as a reference. I have looked for diffirencies between your decompiled file and mine. Thank you for information. One more thing that I understand.
mkay no problem... greetings from cro
Quote Originally Posted by House View Post


mkay no problem... greetings from cro

Niga u neva synical :-/ @offtopicigotnoPMSYSTEM btw did u photoshop that avatar yourself?
Quote Originally Posted by Rkafisking View Post
Niga u neva synical :-/ @offtopicigotnoPMSYSTEM btw did u photoshop that avatar yourself?
no...............
wow nice thenks
file creator ?
Code:
' Listing created by VB Decompiler v7.6.295
' Application: C:\Users\james\Desktop\alterMW3.exe
' Compiled to: .NET Assembly
' Compiler version: 0

Object: aIW2.Properties.Resources
.ctor

  Code: TinyFormat
  Start: 402051
  Size: 7

  loc_402051: ldarg.0
  loc_402052: call .ctor
  loc_402057: ret


get_ResourceManager

  Code: FatFormat
  Start: 402064
  Size: 45
  Flag: InitLocals
  Max Stack: 3
  Local Variables: 11000001

  loc_402064: ldsfld resourceMan
  loc_402069: brtrue.sbrinst.s loc_40208B
  loc_40206B: ldstr "aIW2.Properties.Resources"
  loc_402070: ldtoken aIW2.Properties.Resources
  loc_402075: call GetTypeFromHandle
  loc_40207A: callvirt get_Assembly
  loc_40207F: newobj .ctor
  loc_402084: stloc.0
  loc_402085: ldloc.0
  loc_402086: stsfld resourceMan
  loc_40208B: ldsfld resourceMan
  loc_402090: ret


get_Culture

  Code: TinyFormat
  Start: 402092
  Size: 6

  loc_402092: ldsfld resourceCulture
  loc_402097: ret


set_Culture

  Code: TinyFormat
  Start: 402099
  Size: 7

  loc_402099: ldarg.0
  loc_40209A: stsfld resourceCulture
  loc_40209F: ret


Object: aIW2.Properties.Settings
get_Default

  Code: TinyFormat
  Start: 4020A1
  Size: 6

  loc_4020A1: ldsfld defaultInstance
  loc_4020A6: ret


.ctor

  Code: TinyFormat
  Start: 4020BE
  Size: 7

  loc_4020BE: ldarg.0
  loc_4020BF: call .ctor
  loc_4020C4: ret


.cctor

  Code: TinyFormat
  Start: 4020A8
  Size: 21

  loc_4020A8: newobj .ctor
  loc_4020AD: call Synchronized
  loc_4020B2: castclass aIW2.Properties.Settings
  loc_4020B7: stsfld defaultInstance
  loc_4020BC: ret


Object: aIW2.Program
get_Completed

  Code: TinyFormat
  Start: 4020C6
  Size: 6

  loc_4020C6: ldsfld <Completed>k__BackingField
  loc_4020CB: ret


set_Completed

  Code: TinyFormat
  Start: 4020CD
  Size: 7

  loc_4020CD: ldarg.0
  loc_4020CE: stsfld <Completed>k__BackingField
  loc_4020D3: ret


Main

  Code: FatFormat
  Start: 4020E0
  Size: 378
  Flag: InitLocals
  Max Stack: 4
  Local Variables: 11000002

  loc_4020E0: ldc.i4.5
  loc_4020E1: newarr System.String
  loc_4020E6: stloc.s 4
  loc_4020E8: ldloc.s 4
  loc_4020EA: ldc.i4.0
  loc_4020EB: ldstr "a"
  loc_4020F0: stelem.ref
  loc_4020F1: ldloc.s 4
  loc_4020F3: ldc.i4.1
  loc_4020F4: ldstr "b"
  loc_4020F9: stelem.ref
  loc_4020FA: ldloc.s 4
  loc_4020FC: ldc.i4.2
  loc_4020FD: ldstr "c"
  loc_402102: stelem.ref
  loc_402103: ldloc.s 4
  loc_402105: ldc.i4.3
  loc_402106: ldstr "d"
  loc_40210B: stelem.ref
  loc_40210C: ldloc.s 4
  loc_40210E: ldc.i4.4
  loc_40210F: ldstr "e"
  loc_402114: stelem.ref
  loc_402115: ldloc.s 4
  loc_402117: stloc.0
  loc_402118: newobj .ctor
  loc_40211D: stloc.1
  loc_40211E: ldloc.0
  loc_40211F: ldloc.1
  loc_402120: ldc.i4.0
  loc_402121: ldloc.0
  loc_402122: ldlen
  loc_402123: conv.i4
  loc_402124: callvirt Next
  loc_402129: ldelem.ref
  loc_40212A: stloc.2
  loc_40212B: ldc.i4.0
  loc_40212C: call set_Completed
  loc_402131: newobj .ctor
  loc_402136: stloc.3
  loc_402137: ldloc.3
  loc_402138: call get_CurrentDirectory
  loc_40213D: callvirt set_CacheLocation
  loc_402142: ldloc.3
  loc_402143: ldstr "http://{0}.content.alteriw.net/iw5m/"
  loc_402148: ldloc.2
  loc_402149: call Format
  loc_40214E: callvirt set_WebCacheServer
  loc_402153: ldloc.3
  loc_402154: ldstr ""
  loc_402159: callvirt set_LocalCacheServer
  loc_40215E: ldloc.3
  loc_40215F: ldc.i4.1
  loc_402160: newarr System.String
  loc_402165: stloc.s 5
  loc_402167: ldloc.s 5
  loc_402169: ldc.i4.0
  loc_40216A: ldstr "iw5m-client"
  loc_40216F: stelem.ref
  loc_402170: ldloc.s 5
  loc_402172: callvirt set_WantedCaches
  loc_402177: ldloc.3
  loc_402178: ldc.i4.0
  loc_402179: callvirt set_EnableUploading
  loc_40217E: ldloc.3
  loc_40217F: ldnull
  loc_402180: ldftn _core_StatusChanged
  loc_402186: newobj .ctor
  loc_40218B: callvirt add_StatusChanged
  loc_402190: ldloc.3
  loc_402191: ldnull
  loc_402192: ldftn _core_Failed
  loc_402198: newobj .ctor
  loc_40219D: callvirt add_Failed
  loc_4021A2: ldloc.3
  loc_4021A3: ldnull
  loc_4021A4: ldftn _core_Completed
  loc_4021AA: newobj .ctor
  loc_4021AF: callvirt add_Completed
  loc_4021B4: ldloc.3
  loc_4021B5: callvirt Start
  loc_4021BA: call get_UtcNow
  loc_4021BF: pop
  loc_4021C0: br.s loc_4021C8
  loc_4021C2: ldc.i4.1
  loc_4021C3: call Sleep
  loc_4021C8: call get_Completed
  loc_4021CD: brfalse.sbrnull.sbrzero.s loc_4022C2
  loc_4021CF: ldsfld openUpdater
  loc_4021D4: brfalse.sbrnull.sbrzero.s loc_40223F
  loc_4021D6: ldc.i4.0
  loc_4021D7: call set_Completed
  loc_4021DC: ldsfld Zero
  loc_4021E1: newobj .ctor
  loc_4021E6: stsfld pdialog
  loc_4021EB: ldsfld pdialog
  loc_4021F0: ldstr "Updating alterIWnet"
  loc_4021F5: callvirt set_Title
  loc_4021FA: ldsfld pdialog
  loc_4021FF: ldc.i4 1000
  loc_402204: callvirt set_Maximum
  loc_402209: ldsfld pdialog
  loc_40220E: ldc.i4.1
  loc_40220F: newarr .PROGDLG
  loc_402214: stloc.s 6
  loc_402216: ldloc.s 6
  loc_402218: callvirt ShowDialog
  loc_40221D: br.s loc_40223F
  loc_40221F: ldc.i4.1
  loc_402220: call Sleep
  loc_402225: ldsfld pdialog
  loc_40222A: brfalse.sbrnull.sbrzero.s loc_40223F
  loc_40222C: ldsfld pdialog
  loc_402231: callvirt get_HasUserCancelled
  loc_402236: brfalse.sbrnull.sbrzero.s loc_40223F
  loc_402238: ldloc.3
  loc_402239: callvirt Kill
  loc_40223E: ret
  loc_40223F: call get_Completed
  loc_402244: brfalse.sbrnull.sbrzero.s loc_40231F
  loc_402246: ldsfld updaterFinished
  loc_40224B: brtrue.sbrinst.s loc_40224E
  loc_40224D: ret
  loc_40224E: ldstr "iw5mp.exe"
  loc_402253: call Start
  loc_402258: pop
  loc_402259: ret


_core_Completed

  Code: TinyFormat
  Start: 40225B
  Size: 13

  loc_40225B: ldc.i4.1
  loc_40225C: stsfld updaterFinished
  loc_402261: ldc.i4.1
  loc_402262: call set_Completed
  loc_402267: ret


_core_Failed

  Code: TinyFormat
  Start: 402269
  Size: 38

  loc_402269: ldarg.1
  loc_40226A: callvirt get_Exception
  loc_40226F: callvirt ToString
  loc_402274: ldstr "alterIWnet"
  loc_402279: ldc.i4.0
  loc_40227A: ldc.i4.s 16
  loc_40227C: call Show
  loc_402281: pop
  loc_402282: ldc.i4.1
  loc_402283: call set_Completed
  loc_402288: ldc.i4.0
  loc_402289: stsfld updaterFinished
  loc_40228E: ret


_core_StatusChanged

  Code: FatFormat
  Start: 40229C
  Size: 152
  Flag: 
  Max Stack: 5
  Local Variables: 0

  loc_40229C: ldarg.1
  loc_40229D: callvirt get_StatusText
  loc_4022A2: ldstr "Downloading"
  loc_4022A7: call op_Inequality
  loc_4022AC: brfalse.sbrnull.sbrzero.s loc_4022AF
  loc_4022AE: ret
  loc_4022AF: ldsfld pdialog
  loc_4022B4: brfalse.sbrnull.sbrzero.s loc_402320
  loc_4022B6: ldsfld pdialog
  loc_4022BB: ldarg.1
  loc_4022BC: callvirt get_StatusText
  loc_4022C1: callvirt set_Line1
  loc_4022C6: ldsfld pdialog
  loc_4022CB: ldarg.1
  loc_4022CC: callvirt get_DetailedStatus
  loc_4022D1: ldstr " ({0}%)"
  loc_4022D6: ldarg.1
  loc_4022D7: callvirt get_ExactPercentage
  loc_4022DC: ldc.i4.1
  loc_4022DD: call Round
  loc_4022E2: box System.Double
  loc_4022E7: call Format
  loc_4022EC: call Concat
  loc_4022F1: callvirt set_Line2
  loc_4022F6: ldsfld pdialog
  loc_4022FB: ldstr " "
  loc_402300: callvirt set_Line3
  loc_402305: ldsfld pdialog
  loc_40230A: ldarg.1
  loc_40230B: callvirt get_ExactPercentage
  loc_402310: ldc.r8 10
  loc_402319: mul
  loc_40231A: conv.u4
  loc_40231B: callvirt set_Value
  loc_402320: call get_Completed
  loc_402325: brtrue.sbrinst.s loc_402333
  loc_402327: ldc.i4.1
  loc_402328: stsfld openUpdater
  loc_40232D: ldc.i4.1
  loc_40232E: call set_Completed
  loc_402333: ret


.cctor

  Code: TinyFormat
  Start: 402335
  Size: 13

  loc_402335: ldc.i4.0
  loc_402336: stsfld openUpdater
  loc_40233B: ldc.i4.0
  loc_40233C: stsfld updaterFinished
  loc_402341: ret


Object: aIW2.ProgressDialog
.ctor

  Code: FatFormat
  Start: 402350
  Size: 77
  Flag: 
  Max Stack: 2
  Local Variables: 0

  loc_402350: ldarg.0
  loc_402351: ldsfld Empty
  loc_402356: stfld _Title
  loc_40235B: ldarg.0
  loc_40235C: ldsfld Empty
  loc_402361: stfld _CancelMessage
  loc_402366: ldarg.0
  loc_402367: ldsfld Empty
  loc_40236C: stfld _Line1
  loc_402371: ldarg.0
  loc_402372: ldsfld Empty
  loc_402377: stfld _Line2
  loc_40237C: ldarg.0
  loc_40237D: ldsfld Empty
  loc_402382: stfld _Line3
  loc_402387: ldarg.0
  loc_402388: ldc.i4.s 100
  loc_40238A: stfld _maximum
  loc_40238F: ldarg.0
  loc_402390: call .ctor
  loc_402395: ldarg.0
  loc_402396: ldarg.1
  loc_402397: stfld _parentHandle
  loc_40239C: ret


ShowDialog

  Code: FatFormat
  Start: 4023AC
  Size: 190
  Flag: InitLocals
  Max Stack: 5
  Local Variables: 11000003

  loc_4023AC: ldarg.0
  loc_4023AD: ldfld pd
  loc_4023B2: brtruebrinst loc_402469
  loc_4023B7: ldarg.0
  loc_4023B8: newobj .ctor
  loc_4023BD: castclass .Win32IProgressDialog
  loc_4023C2: stfld pd
  loc_4023C7: ldarg.0
  loc_4023C8: ldfld pd
  loc_4023CD: ldarg.0
  loc_4023CE: ldfld _Title
  loc_4023D3: callvirt SetTitle
  loc_4023D8: ldarg.0
  loc_4023D9: ldfld pd
  loc_4023DE: ldarg.0
  loc_4023DF: ldfld _CancelMessage
  loc_4023E4: ldnull
  loc_4023E5: callvirt SetCancelMsg
  loc_4023EA: ldarg.0
  loc_4023EB: ldfld pd
  loc_4023F0: ldc.i4.1
  loc_4023F1: ldarg.0
  loc_4023F2: ldfld _Line1
  loc_4023F7: ldc.i4.0
  loc_4023F8: ldsfld Zero
  loc_4023FD: callvirt SetLine
  loc_402402: ldarg.0
  loc_402403: ldfld pd
  loc_402408: ldc.i4.2
  loc_402409: ldarg.0
  loc_40240A: ldfld _Line2
  loc_40240F: ldc.i4.0
  loc_402410: ldsfld Zero
  loc_402415: callvirt SetLine
  loc_40241A: ldarg.0
  loc_40241B: ldfld pd
  loc_402420: ldc.i4.3
  loc_402421: ldarg.0
  loc_402422: ldfld _Line3
  loc_402427: ldc.i4.0
  loc_402428: ldsfld Zero
  loc_40242D: callvirt SetLine
  loc_402432: ldc.i4.0
  loc_402433: stloc.0
  loc_402434: ldarg.1
  loc_402435: ldlen
  loc_402436: conv.i4
  loc_402437: brfalse.sbrnull.sbrzero.s loc_402451
  loc_402439: ldarg.1
  loc_40243A: ldc.i4.0
  loc_40243B: ldelem.u4
  loc_40243C: stloc.0
  loc_40243D: ldc.i4.1
  loc_40243E: stloc.1
  loc_40243F: br.s loc_40244B
  loc_402441: ldloc.0
  loc_402442: ldarg.1
  loc_402443: ldloc.1
  loc_402444: ldelem.u4
  loc_402445: or
  loc_402446: stloc.0
  loc_402447: ldloc.1
  loc_402448: ldc.i4.1
  loc_402449: add
  loc_40244A: stloc.1
  loc_40244B: ldloc.1
  loc_40244C: ldarg.1
  loc_40244D: ldlen
  loc_40244E: conv.i4
  loc_40244F: blt.s loc_402541
  loc_402451: ldarg.0
  loc_402452: ldfld pd
  loc_402457: ldarg.0
  loc_402458: ldfld _parentHandle
  loc_40245D: ldnull
  loc_40245E: ldloc.0
  loc_40245F: ldsfld Zero
  loc_402464: callvirt StartProgressDialog
  loc_402469: ret


CloseDialog

  Code: TinyFormat
  Start: 40246B
  Size: 27

  loc_40246B: ldarg.0
  loc_40246C: ldfld pd
  loc_402471: brfalse.sbrnull.sbrzero.s loc_402485
  loc_402473: ldarg.0
  loc_402474: ldfld pd
  loc_402479: callvirt StopProgressDialog
  loc_40247E: ldarg.0
  loc_40247F: ldnull
  loc_402480: stfld pd
  loc_402485: ret


get_Title

  Code: TinyFormat
  Start: 402487
  Size: 7

  loc_402487: ldarg.0
  loc_402488: ldfld _Title
  loc_40248D: ret


set_Title

  Code: TinyFormat
  Start: 40248F
  Size: 33

  loc_40248F: ldarg.0
  loc_402490: ldarg.1
  loc_402491: stfld _Title
  loc_402496: ldarg.0
  loc_402497: ldfld pd
  loc_40249C: brfalse.sbrnull.sbrzero.s loc_4024AF
  loc_40249E: ldarg.0
  loc_40249F: ldfld pd
  loc_4024A4: ldarg.0
  loc_4024A5: ldfld _Title
  loc_4024AA: callvirt SetTitle
  loc_4024AF: ret


get_CancelMessage

  Code: TinyFormat
  Start: 4024B1
  Size: 7

  loc_4024B1: ldarg.0
  loc_4024B2: ldfld _CancelMessage
  loc_4024B7: ret


set_CancelMessage

  Code: TinyFormat
  Start: 4024B9
  Size: 34

  loc_4024B9: ldarg.0
  loc_4024BA: ldarg.1
  loc_4024BB: stfld _CancelMessage
  loc_4024C0: ldarg.0
  loc_4024C1: ldfld pd
  loc_4024C6: brfalse.sbrnull.sbrzero.s loc_4024DA
  loc_4024C8: ldarg.0
  loc_4024C9: ldfld pd
  loc_4024CE: ldarg.0
  loc_4024CF: ldfld _CancelMessage
  loc_4024D4: ldnull
  loc_4024D5: callvirt SetCancelMsg
  loc_4024DA: ret


get_Line1

  Code: TinyFormat
  Start: 4024DC
  Size: 7

  loc_4024DC: ldarg.0
  loc_4024DD: ldfld _Line1
  loc_4024E2: ret


set_Line1

  Code: TinyFormat
  Start: 4024E4
  Size: 40

  loc_4024E4: ldarg.0
  loc_4024E5: ldarg.1
  loc_4024E6: stfld _Line1
  loc_4024EB: ldarg.0
  loc_4024EC: ldfld pd
  loc_4024F1: brfalse.sbrnull.sbrzero.s loc_40250B
  loc_4024F3: ldarg.0
  loc_4024F4: ldfld pd
  loc_4024F9: ldc.i4.1
  loc_4024FA: ldarg.0
  loc_4024FB: ldfld _Line1
  loc_402500: ldc.i4.0
  loc_402501: ldsfld Zero
  loc_402506: callvirt SetLine
  loc_40250B: ret


get_Line2

  Code: TinyFormat
  Start: 40250D
  Size: 7

  loc_40250D: ldarg.0
  loc_40250E: ldfld _Line2
  loc_402513: ret


set_Line2

  Code: TinyFormat
  Start: 402515
  Size: 40

  loc_402515: ldarg.0
  loc_402516: ldarg.1
  loc_402517: stfld _Line2
  loc_40251C: ldarg.0
  loc_40251D: ldfld pd
  loc_402522: brfalse.sbrnull.sbrzero.s loc_40253C
  loc_402524: ldarg.0
  loc_402525: ldfld pd
  loc_40252A: ldc.i4.2
  loc_40252B: ldarg.0
  loc_40252C: ldfld _Line2
  loc_402531: ldc.i4.0
  loc_402532: ldsfld Zero
  loc_402537: callvirt SetLine
  loc_40253C: ret


get_Line3

  Code: TinyFormat
  Start: 40253E
  Size: 7

  loc_40253E: ldarg.0
  loc_40253F: ldfld _Line3
  loc_402544: ret


set_Line3

  Code: TinyFormat
  Start: 402546
  Size: 40

  loc_402546: ldarg.0
  loc_402547: ldarg.1
  loc_402548: stfld _Line3
  loc_40254D: ldarg.0
  loc_40254E: ldfld pd
  loc_402553: brfalse.sbrnull.sbrzero.s loc_40256D
  loc_402555: ldarg.0
  loc_402556: ldfld pd
  loc_40255B: ldc.i4.3
  loc_40255C: ldarg.0
  loc_40255D: ldfld _Line3
  loc_402562: ldc.i4.0
  loc_402563: ldsfld Zero
  loc_402568: callvirt SetLine
  loc_40256D: ret


get_Value

  Code: TinyFormat
  Start: 40256F
  Size: 7

  loc_40256F: ldarg.0
  loc_402570: ldfld _value
  loc_402575: ret


set_Value

  Code: TinyFormat
  Start: 402577
  Size: 39

  loc_402577: ldarg.0
  loc_402578: ldarg.1
  loc_402579: stfld _value
  loc_40257E: ldarg.0
  loc_40257F: ldfld pd
  loc_402584: brfalse.sbrnull.sbrzero.s loc_40259D
  loc_402586: ldarg.0
  loc_402587: ldfld pd
  loc_40258C: ldarg.0
  loc_40258D: ldfld _value
  loc_402592: ldarg.0
  loc_402593: ldfld _maximum
  loc_402598: callvirt SetProgress
  loc_40259D: ret


get_Maximum

  Code: TinyFormat
  Start: 40259F
  Size: 7

  loc_40259F: ldarg.0
  loc_4025A0: ldfld _maximum
  loc_4025A5: ret


set_Maximum

  Code: TinyFormat
  Start: 4025A7
  Size: 39

  loc_4025A7: ldarg.0
  loc_4025A8: ldarg.1
  loc_4025A9: stfld _maximum
  loc_4025AE: ldarg.0
  loc_4025AF: ldfld pd
  loc_4025B4: brfalse.sbrnull.sbrzero.s loc_4025CD
  loc_4025B6: ldarg.0
  loc_4025B7: ldfld pd
  loc_4025BC: ldarg.0
  loc_4025BD: ldfld _value
  loc_4025C2: ldarg.0
  loc_4025C3: ldfld _maximum
  loc_4025C8: callvirt SetProgress
  loc_4025CD: ret


get_HasUserCancelled

  Code: TinyFormat
  Start: 4025CF
  Size: 22

  loc_4025CF: ldarg.0
  loc_4025D0: ldfld pd
  loc_4025D5: brfalse.sbrnull.sbrzero.s loc_4025E3
  loc_4025D7: ldarg.0
  loc_4025D8: ldfld pd
  loc_4025DD: callvirt HasUserCancelled
  loc_4025E2: ret
  loc_4025E3: ldc.i4.0
  loc_4025E4: ret


Object: -.shlwapi
PathCompactPath

  Code: UnknownFormat

Object: -.Win32IProgressDialog
StartProgressDialog

  Code: UnknownFormat

StopProgressDialog

  Code: UnknownFormat

SetTitle

  Code: UnknownFormat

SetAnimation

  Code: UnknownFormat

HasUserCancelled

  Code: UnknownFormat

SetProgress

  Code: UnknownFormat

SetProgress64

  Code: UnknownFormat

SetLine

  Code: UnknownFormat

SetCancelMsg

  Code: UnknownFormat

Timer

  Code: UnknownFormat

Object: -.Win32ProgressDialog
.ctor

  Code: UnknownFormat
Quote Originally Posted by House View Post


IDA = disassembler and debugger
.NET Reflector = .NET decompiler and assembly browser (this has been done using it)

...go figure

its possible to decompile iw5m.dll with Reflectror or IDA?
@House

if possible (& if you can) Decompile iw5m.dll ...
as you dont have the server files it wouldnt mean anything ...
someone told me that i could also use ILSpy - SharpDevelop to decompile .net files

:3 have you looked at "divinities of tecnology" MW3 files? xD those would be interesting tough n.n

Awesome Job BWT, thanks.
Posts 16–26 of 26 · Page 2 of 2
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Talk with us