PDA

View Full Version : 372 updater, needs programming whiz to write


Cimba
11-05-2004, 09:00 PM
Found on another site but I don't know how to write/use. Can't find as an already script.

'Menthol's Rom 3 Rev 372 Unlocker Script, updated by Jai
'This script updates Rev 372 to Rev 375 to Rev 378 to Rev 380 then to Rev 381
'Send's the Freeware Emm's to open Dish Rom 3 Rev 381 cards.
'I take no credit for the original fix.
'I just automated the process when unlocking sequence completes
'the backdoor is checked if it is open then itt will stop.
'If the backdoor is still not open then it will resend packets
'until backdoor is open.

dim vresponse
dim vbackdoor

call echosettings()
msgbox "This script will unlock DISH Rom 3 Rev 372 cards . This script was written by Menthol updated by Jai."
const retry = 1000

Sub Main ()
sc.verbose = false

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 1. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B00014206B05EF2E617DA72BC23E3E8 DBF86061F9B31F065D31167FE1021516595BB8A3D3F2DD77DF DBFC9A982617772AD96BD3051446A3D0E130F3CB917F9B6C4F AEE113464B8F124D060E056C")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 2. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B00010232E6AB38A15FE54E4C5FE7EA 6177AC08F86D9D0AB37C0D2791FAA7C2F07F031FBE8796C6A8 239F5112723A15421C44D1A674146CC6EC222F1DE0228C4B56 23641D8DE4D8FB799464052E")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 3. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000142508E040CC9EBE79AEC189FDF F24B882D178A518084EBDCDD52D5C42E16A98122DC00E1FF90 95F52481A950DD662E5C55DF433F866B5F70F76A86BE74DEDC B3E5EEB62F3CEFEF49A80596")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 4. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000102A08D911B798C2DFD6266CADD 6BE473C948D8BFD21F39793AF3C057052D37365290DB8B953B 542F743AE6B5B1B599D95E9A638232ADAC769615DB9E9DD979 08ED1D450D8614B3CE28059B")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 5. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000182C4622066EC92A330D710B83A B1BAEF8EB02ED1848D9734C0466F6025B8DB578E286F2A93AE 32BEE828D8C6D3580A49B79CC0D7F74B37FFA15692F1DD883A 9AECA8C8AB6A7F0D930E0508")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 6. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B00010230D41A5507BB667D45BEE900 EA00F49C880A722214BE70DC440EDD192B9FFB55BDD54A8D3A 9F378B50527530BE49D446C969314DFC6EB723750BAD236A28 1AC465C0F6731023321305D4")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 7. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000142A81DEBD537D2AA920F167E6D 0EE95B7875F510F7C11AC86CC02F7929231B990685122DA905 57B727B7E99CC869E36BE780418807A7B36554890DFD0329E3 8D2155DA55D6EDC0E94B05E9")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 8. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B00014226380FC90A8D9C925A48A9EC CF491F60808A6600BB135C99FB1831A2958DEB47BC6385BBDC 6405498081F5AAB25140E9604A21BB0D044CB1A3CEC0FCF22A A5F9BBD0A17AF310ED5E0512")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 9. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001029F8DD950B365B01E58E99885 FC3AED664757323C7BE639A9A5BEBDD36A231F3F1D85773E73 56D67EB108D6F854A40BD9BF859FEC8BF3C3CDD06B1D9D5303 F5D0C1BCB383A38D0F1605F7")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 10. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000102DC8E4A07FB7F1FE1069302DB 75D8DCE08D2AEF4BEC2C3EF07982497C629D75C140AF347CBD E71BBD1B9845EB5D35C4DD157CBB944A10D2C45BD75B6458C3 9F17C32A1FEF102EEE06054A")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 11. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001024B0F422C0DD5F0DE4454DD6F AA9E05E722047FA52B16AA76DC3FE208720F6D5C9CC3DFA7DA BFF7B2613DAE1C5DD83C291F4F6099A954B9A4AA666662CA31 715B1BBA07CF83AF10C30557")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 12. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001421B7395075095B54F8DCA7D21 90F2D0BE3E93CB6D858BD14047A1BE78968D763E397A430EBC 86C22667506BC57CBCD47692189031E998F8EEC37D4A26741A C288CDD4B476A0A827B205BA")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 13. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B00014203D38AA404945C2DBBB0024A 2FB1BA698687EB7870975FD67362F9FF67DEF2D41EC8E1A586 4743950F91774361931919B42E6F517EFC08A526FD6085811F ED35465AC294D1F3BFAB056F")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 375 update packet number 14. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001426A89F84371750F2456228A2C C0C20E5AC0423CA5151344035B6F720BD0A9DC6331F39ED1ED 4BB9E8B2EEDD6182F5928634542502E54FBC599B86A6012B05 078259AA0109FF7AA639057B")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 378 update packet number 1. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001020D733C2B8BB22518EBCC600C 5FD10C36A50B6DA26889932607AB7E41BE41C86B17F1AABAEE 76CBA5D1139007E1DC0BC17CDD8C2F51C32551FFDFB56A84C4 9E7806DEA44A09B0B7320565")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 378 update packet number 2. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000102DB062399E00537DCB743B7A0 288F7707A0C6A18BFB279DCE8B882B5898ADA3F3742C6714BB 9122EEC399FEFDDED8ED6DA13CBF790175FA17986A4A27E056 DC771F8F65D28E06A91B05DC")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 378 update packet number 3. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001420794601298567B930EAFFD37 0224EBBF6F86B19C9DAC59D4804BF7528A4D39FD84E8100CDB 934033AA4548F312772C81410D6A3B124D57369BEEDBE897B1 F39E8BB9A32B07767BB5056F")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 378 update packet number 4. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001029E97BA01262CBFD59E962B63 EFCC34731BD2EB78AED53C7FA8B5735205A50F595F78BFC68F 64398B602286177BE0DAFE936D95D83B2AE8AE3C38B055FF9F D4CD63A8A1B2E4710415050D")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 380 update packet number 1. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001021391227B2CF9940493B1C723 0537F2050056854D8681BB21EF3D1B78561E1F479D14842B99 36424816EC3ECE875E273C9CEEBA88CDAFEFAE2306221F234F 3C9B3C0BEBAB11928D8E052B")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 380 update packet number 2. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000182D621B6C2219610A46A5F65E7 80FE437F0498230DDE6572DC9184569F651E12E2D00AEAF25A 04FAD49E781257A8C29452ABB21775C3837A844DFAAF791707 EC223B9DCF80EF78EA8105CF")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 380 update packet number 3. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B00010257B67D023D08432429179FD3 58ABD68D625BBB906F750D3256007801F56B4B6D3F91CF0C56 DCF46B84DDA2103BBF4B8DEC35FBB142AD189CF264173ABB3E 37491F8CA6B813A4524B05E4")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

wx.closeport
wx.openport
vresponse=0
sc.delay(5000)
I=0
While VResponse = 0
I=I+1
sc.print "Sending 381 update packet number 1. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B0001824989CA79B4BFDE25DF2E1128 760AB95F57ED864D0E4DF6546097ED7E3A58E5A2054A4BC960 D7676DA3AE14D5C6ABD6210196EB7773C185DB66A45F06F040 6D90B4962A9F70065F8305B2")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending 381 update packet number 2. Attempt Number: "& cstr(i) & vbcr
sc.write("210053A0CA00004D004B000102BA23C1A841B481B82195B4A1 74DF9CD091FB75963028675BF4D31F57CB8852EF1CED31E36E 51B70DDA0CEB66363D734F557901F66F88F0E6DDD53D64365A 4B298EAC21EBE83AC87D056E")
sc.delay(80)
call read_answer()
sc.delay(retry)
Wend

While vBackdoor = 0
wx.closeport
wx.openport
vresponse=0
sc.delay(5000)
I=0
While VResponse = 0
I=I+1
sc.print "Sending keychange packet. Attempt Number: " & cstr(i)& vbcr
sc.write("210053A0CA00004D004B0001621C88E4173260F208FDDF1879 A3963D197F505E8B69601C7CF7FCAA4AFAAE7FF57F0093083C 1387A30EC8DA2B9625D1CE24E5A7FF4091DB78B96AF9310971 6A80AEF7A26062B901010515")
sc.delay(80)
call read_answer()
sc.delay(retry)
wend

vresponse = 0
I=0
While VResponse = 0
I=I+1
sc.print "Sending overflow packet. Attempt Number: " & cstr(i)& vbcr
sc.write("21405DA0CA00003703350101106D15BAADBADDDEADDEADF900 C40016C82592ADD6BFDEA16EC7BC2A84BC0296E445D1ADE779 964E8246D4E64DC7F058CCC2DAE64DC7F058CCC2DAE64DC7F0 58CCC2DAE64DC7F058CCC2DA2EACC54D9D179C0405A5")
sc.delay(80)
call read_answer()
sc.delay(retry)
wend

sc.print "Checking for BackDoor" & vbcr
sc.write("210025A0200000208FABC264449AFE701DE762FAB14C310600 112233445566778899AABBCCDDEEFFDE")
sc.delay(80)
call backdoor_check()
sc.delay(retry)
Wend

sc.print
sc.print "Card should now be unlocked. Open Nagraedit and try One Step Clean." & vbcr
End sub

sub read_answer()
length = sc.bytesinbuffer
sc.read(length)
if length = 0 then
answer=""
sc.print
sc.print("(No response from CAM.)")
VResponse = 0
else
For X = 0 to length - 1
ThisByte = Hex(Sc.GetByte(X))
if Len(ThisByte) = 1 then ThisByte = "0" & ThisByte
Thisbyte = Thisbyte & " "
res = res & Thisbyte
Sc.Print(ThisByte)
Next
If length = 11 then
if sc.getbyte(8) = 144 and sc.getbyte(9) = 0 then
VResponse = 1
sc.print
sc.print "Good response from CAM." & vbcrlf
end if
else
VResponse = 0
sc.print
sc.print "Invalid response from CAM resending packet." & vbcrlf
end if
end if
end sub
sub backdoor_check()
length = sc.bytesinbuffer
sc.read(length)
if length = 0 then
answer=""
sc.print
sc.print("(No response from CAM.)")
Vbackdoor = 0
else
For X = 0 to length - 1
ThisByte = Hex(Sc.GetByte(X))
if Len(ThisByte) = 1 then ThisByte = "0" & ThisByte
Thisbyte = Thisbyte & " "
res = res & Thisbyte
Sc.Print(ThisByte)
Next
If length = 6 then
if sc.getbyte(3) = 99 and sc.getbyte(4) = 0 then
Vbackdoor = 1
sc.print
sc.print "BackDoor appears to be open, continuing..." & vbcrlf
sc.delay(5000)
end if
else
Vbackdoor = 0
sc.print
sc.print "BackDoor appears to be closed, restarting unlock sequence..." & vbcrlf
sc.delay(5000)
end if
end if

end sub

Sub echosettings()
Wx.ResetDelay = 150
Wx.ByteDelay = 0
Wx.RxByteTimeout = 50
Wx.CommPort = "com1:"
Wx.BaudRate = 115200
Wx.ResetBaudRate = 9600
Wx.Parity = 1
Wx.StopBits = 2
Wx.DTRControl = 1
Wx.RTSControl = 0
Wx.ResetMode = 1
Wx.ResetLine = 0
Wx.ByteConvention = 0
Wx.FlushEchoByte = 1
Wx.FlushBeforeWrite = 1
Wx.IgnoreTimeouts = 0
Wx.ResetAfterTimeout = 0
Wx.LogTransactions = 0
Wx.DisplayUSW = 0
Wx.DisplayFuse = 0
end sub


Once it is updated to Rev381 it will try to unlock the card, if it is not successful just try the Rev381 unlockers that are out there but I haven't had to when I have used this script.[/code]
also this advice
You can also use camwisler and copy the appropriate packets from the script and update to each consecutive rev manully. I did it that way and it worked. Omit the ""'s though., then pop using the overflow packet method.

Just another method that worked.
_________________

DHM_51
11-05-2004, 10:43 PM
Just copy and paste into winExplorer and run script.