.CAB can not write registry at WM2005 - MDA II, XDA II, 2060 General

yesterday,my C500 upgrade to WM2005,i make a Chinese Fonts pakage,only packs .ttf file can be writer in ram,but add registry value Latter,install cab file show:Installation was unsuccessful.Theprogram or setting cannot be installed because it does not have sufficient system permissions.
cab inf file:
Code:
[Version]
Signature = "$Windows NT$"
Provider = "Microsoft"
CESignature = "$Windows CE$"
[CEStrings]
CompanyName="Cloud-Castle Studio."
AppName="WM2005 Chs Fonts Installer"
InstallDir=%CE2%\Fonts
[DefaultInstall]
AddReg = RegSettings.All
CopyFiles = CopyToInstallDir.All
[SourceDisksNames]
1 = ,"ttf",,D:\smartphone\fonts
[SourceDisksFiles]
nina.ttf = 1
ninab.ttf = 1
MSSONG.TTF = 1
[DestinationDirs]
CopyToInstallDir.All=0,%InstallDir%
[CopyToInstallDir.All]
nina.ttf,,,0
ninab.ttf,,,0
MSSONG.TTF,,,0
[RegSettings.All]
HKLM,Software\Microsoft\FontLink\SystemLink,nina,0x00000000,"\Windows\Fonts\mssong.ttf,SC_Song"
HKLM,Software\Microsoft\FontPath,FontPath,0x00000000,"\Windows\Fonts"
help me,thanks![/b]

in HKLM\Security\Policies\Policies add DWORD key,"0000101b"=1
all ok!

Related

InClose and my theme - please help

Hello,
I made my own ppc theme and when I'm using InClose mobile with "Background -> The current Theme" checked, it looks like in the attached picture.
vista.inf:
Code:
[Version]
Signature = "$Windows NT$"
CESignature = "$Windows CE$"
Provider = "Jimmy"
[CEStrings]
Appname = "Vista"
InstallDir = %CE2%
[SourceDisksNames]
1 = ,"vista",,vista
[SourceDisksFiles]
stwater_240_320.gif = 1
stwater_320_240.gif = 1
tdywater_240_320.gif = 1
tdywater_320_240.gif = 1
[DefaultInstall]
CopyFiles = CopyDir01
AddReg = Registry
[CopyDir01] ; (%CE2% : \Windows)
"stwater_240_320.gif",stwater_240_320.gif,0x00000400
"stwater_320_240.gif",stwater_320_240.gif,0x00000400
"tdywater_240_320.gif",tdywater_240_320.gif,0x00000400
"tdywater_320_240.gif",tdywater_320_240.gif,0x00000400
[DestinationDirs]
CopyDir01 = 0, %InstallDir%
[Strings]
reg_path00 = Software\Microsoft\Color
reg_path01 = Software\Microsoft\Today\Vista.tsk
[Registry]
HKLM,%reg_path00%,4,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,6,0x00000001,00,00,00,00
HKLM,%reg_path00%,7,0x00000001,00,00,00,00
HKLM,%reg_path00%,11,0x00000001,00,00,00,00
HKLM,%reg_path00%,12,0x00000001,00,00,00,00
HKLM,%reg_path00%,13,0x00000001,C0,C0,C0,00
HKLM,%reg_path00%,14,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,15,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,16,0x00000001,6C,AB,B0,00
HKLM,%reg_path00%,25,0x00000001,C0,C0,C0,00
HKLM,%reg_path00%,26,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,27,0x00000001,00,00,00,00
HKLM,%reg_path00%,28,0x00000001,FF,00,00,00
HKLM,%reg_path00%,36,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,37,0x00000001,6C,AB,B0,00
HKLM,%reg_path00%,38,0x00000001,00,00,00,00
HKLM,%reg_path00%,39,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,40,0x00000001,FF,00,00,00
HKLM,%reg_path00%,5,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_NavBarText_Highlight,0x00000001,FF,FF,FF,00
HKCU,%reg_path01%,Color_SoftkeyFlatCenter,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_TitleFlatCenter,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_TitleFlatDoneBtn,0x00000001,E5,49,30,00
HKCU,%reg_path01%,Color_TitleFlatDoneBtn_Highlight,0x00000001,9D,47,32,00
HKCU,%reg_path01%,Color_Highlight,0x00000001,B6,D5,E9,00
HKCU,%reg_path01%,Color_HighlightText,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_MenuText,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_CommandBarText_Highlight,0x00000001,00,00,00,00
Can anyone tell me, what's wrong? Thanks very much and sorry for my bad english...
I think its because you have created a orientation theme - inclose looks for tdywater.gif and as yours are named tdywater_240_320.gif & tdywater_320_240.gif it uses default windows one. Change your theme to a standard format and it will work.
btw with what software did you make the theme? And nice looking theme
I have it and maybe
Jimm98y.. i use inclose too and if im not mistaken you want that blue part to be taking off inclose correct.. well if you do you need to go to the inclose settings and in background just click none it will be white, but i dont know why when you click current theme its allways blue, as for user image its tuff to do that.. Hope that helps
Josh
I think its because you have created a orientation theme - inclose looks for tdywater.gif and as yours are named tdywater_240_320.gif & tdywater_320_240.gif it uses default windows one. Change your theme to a standard format and it will work.
Click to expand...
Click to collapse
OK. I'm going to try it but I hoped there is some registry key which can change it.
with what software did you make the theme? And nice looking theme
Click to expand...
Click to collapse
Thanks. I made it with notepad, paintbrush and cabwiz.exe, because the other programs (like themegence) looks too complicated and cannot offer such possibilities.
go to the inclose settings and in background just click none it will be white
Click to expand...
Click to collapse
Yes, I know about it, but I would like to have a "transparent menu". I tried to use my own picture in background, but it doesn't work in landscape because there cannot be set 2 pictures.
Thanks very much now it works fine. Here is the final version of this skin for anyone who is interested in:
How did you do it
Jimm98y.. How did you get to be transperant.. i tried reading the other messages but i cant get it.. coul d you help?
Re: How did you do it
Juicy J said:
Jimm98y.. How did you get to be transperant.. i tried reading the other messages but i cant get it.. coul d you help?
Click to expand...
Click to collapse
I used background files named tdywater.gif and stwater.gif, both in resolution 320x320, so the inf file looks like this:
Code:
[Version]
Signature = "$Windows NT$"
CESignature = "$Windows CE$"
Provider = "Jimmy"
[CEStrings]
Appname = "Vista"
InstallDir = %CE2%
[SourceDisksNames]
1 = ,"vista",,vista
[SourceDisksFiles]
stwater.gif = 1
tdywater.gif = 1
[DefaultInstall]
CopyFiles = CopyDir01
AddReg = Registry
[CopyDir01] ; (%CE2% : \Windows)
"stwater.gif",stwater.gif,0x00000400
"tdywater.gif",tdywater.gif,0x00000400
[DestinationDirs]
CopyDir01 = 0, %InstallDir%
[Strings]
reg_path00 = Software\Microsoft\Color
reg_path01 = Software\Microsoft\Today\Vista.tsk
[Registry]
HKLM,%reg_path00%,4,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,6,0x00000001,00,00,00,00
HKLM,%reg_path00%,7,0x00000001,00,00,00,00
HKLM,%reg_path00%,11,0x00000001,00,00,00,00
HKLM,%reg_path00%,12,0x00000001,00,00,00,00
HKLM,%reg_path00%,13,0x00000001,C0,C0,C0,00
HKLM,%reg_path00%,14,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,15,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,16,0x00000001,6C,AB,B0,00
HKLM,%reg_path00%,25,0x00000001,C0,C0,C0,00
HKLM,%reg_path00%,26,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,27,0x00000001,00,00,00,00
HKLM,%reg_path00%,28,0x00000001,FF,00,00,00
HKLM,%reg_path00%,36,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,37,0x00000001,6C,AB,B0,00
HKLM,%reg_path00%,38,0x00000001,00,00,00,00
HKLM,%reg_path00%,39,0x00000001,FF,FF,FF,00
HKLM,%reg_path00%,40,0x00000001,FF,00,00,00
HKLM,%reg_path00%,5,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_NavBarText_Highlight,0x00000001,FF,FF,FF,00
HKCU,%reg_path01%,Color_SoftkeyFlatCenter,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_TitleFlatCenter,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_TitleFlatDoneBtn,0x00000001,E5,49,30,00
HKCU,%reg_path01%,Color_TitleFlatDoneBtn_Highlight,0x00000001,9D,47,32,00
HKCU,%reg_path01%,Color_Highlight,0x00000001,B6,D5,E9,00
HKCU,%reg_path01%,Color_HighlightText,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_MenuText,0x00000001,00,00,00,00
HKCU,%reg_path01%,Color_CommandBarText_Highlight,0x00000001,00,00,00,00

[WinXP Script] Extend Search Companion

Annoyed by the fact that Search Companion doesn't return the text string you specified even though you indicated All Files & Folders?
This handy script allows you to extend the PersistenHandlers to include other extension. In my case, I added: provxml and rgu. Copy and paste the following code into notepad and save as a .VB script (ex: xp_persisthandler.vbs). Execute the script and specifiy the file extension you wish to include in Search Companion.
Code:
'Add files to Search for files containing text
'© Doug Knox - 11/04/2001
'This code may be freely distributed/modified
Option Explicit
On Error Resume Next
Dim WshShell, N, P, P1, P2, ItemType, MyBox, FileType, Title, Prompt, RegKey, X
Set WSHShell = WScript.CreateObject("WScript.Shell")
P = "HKEY_CLASSES_ROOT\."
P1 = "\PersistentHandler\"
N = "{5e941d80-bf96-11cd-b579-08002b30bfeb}"
Prompt = "Enter the file extension for the file you wish to add." & vbCR
Prompt = Prompt & "Examples: txt, adm, inf"
Title = "Enter File Type"
FileType = InputBox(Prompt, Title, "")
If FileType = "" Then
MyBox = MsgBox("You left the box blank.",4096,"Error.")
Set WshShell = Nothing
WScript.Quit
Else
'Check to see if there is already a PersistentHandler default value
RegKey = P & FileType & P1
X = WshShell.RegRead(RegKey)
End If
'MyBox = MsgBox("The PersistentHandler value for ." & FileType & " is: " & X,4096,"Results")
'Set WshShell = Nothing
If X = N Then
MyBox = MsgBox("This value already exists, and is correct." & vbCR & "No Changes were made.", 4096, "No Changes")
Set WshShell = Nothing
WScript.Quit
End If
If X <> N AND X <> "" Then
MyBox = MsgBox("The Persistent Handler value already exists and is different." & vbCR & "No changes were made.", 4096, "No Changes")
Set WshShell = Nothing
WScript.Quit
End If
If Err.Number <> 0 Then
WshShell.RegWrite RegKey, N
MyBox = MsgBox("The Registry has been updated." & vbCR & "Restart your computer.", 4096, "Done")
Set WshShell = Nothing
End If

[Ruby] SMS Converter (from Pim Backup -> HTML)

I wanted to share a small script I wrote for those who know how to use it. It converts non-binary pim-backup message files to html files.
Usage: ruby <file> <message_file>
Code:
#-sms2html----------------------------------------------------------------#
# ChaosR (<[email protected]>) wrote this file. As long as #
# you do not touch this note and keep this note here you can do whatever #
# you want with this stuff. Also, the author(s) are not responsible for #
# whatever happens using this. #
#-------------------------------------------------------------------------#
require 'jcode' if RUBY_VERSION[0..2] == "1.8"
class SMSConverter
attr_accessor :messages, :raw, :by_folder, :by_name, :by_number
SPEC = [
:msg_id,
:sender_name,
:sender_address,
:sender_address_type,
:prefix,
:subject,
:body,
:body_type,
:folder,
:account,
:msg_class,
:content_length,
:msg_size,
:msg_flags,
:msg_status,
:modify_time,
:delivery_time,
:recipient_nbr,
:recipients,
:attachment_nbr,
:attachments
]
RECIP_SPEC = [
:id,
:name,
:phone,
:var1,
:var2,
:type
]
FOLDERS = {
"\\%MDF1" => "INBOX",
"\\%MDF2" => "OUTBOX",
"\\%MDF3" => "SENT",
"\\%MDF4" => "TRASH",
"\\%MDF5" => "DRAFTS"
}
def initialize(file)
f = File.open(file)
@raw = f.read
f.close
raw2array
clean_messages
sort_messages
end
def raw2array
messages = []
state = { :arg => 0, :escaped => false, :in_string => false }
sms = {}
@raw.each_char do |byte|
arg = SPEC[state[:arg]]
sms[arg] = "" unless sms[arg]
if byte == "\0" or byte == "\r"
next
elsif state[:escaped]
sms[arg] << byte
state[:escaped] = false
elsif state[:in_string]
if byte == "\""
state[:in_string] = false
elsif byte == "\\"
state[:escaped] = true
else
sms[arg] << byte
end
elsif byte == "\\"
state[:escaped] = true
elsif byte == "\""
state[:in_string] = true
elsif byte == ";"
state[:arg] += 1
elsif byte == "\n"
raise "Faulty conversion or corrupt file" if state[:escaped] or state[:in_string] or state[:arg] != 20
messages << sms
sms = {}
state[:arg] = 0
else
sms[arg] << byte
end
end
@messages = messages
end
def clean_messages
@messages.map! do |sms|
sms[:modify_time] = Time.local( *sms[:modify_time].split(",") )
unless sms[:delivery_time] == ""
sms[:delivery_time] = Time.local( *sms[:delivery_time].split(",") )
else
sms[:delivery_time] = sms[:modify_time]
end
sms[:recipient_nbr] = sms[:recipient_nbr].to_i
sms[:body_type] = sms[:body_type].to_i
sms[:msg_flags] = sms[:msg_flags].to_i
sms[:msg_status] = sms[:msg_status].to_i
sms[:attachment_nbr] = sms[:attachment_nbr].to_i
sms[:content_length] = sms[:content_length].to_i
sms[:msg_size] = sms[:msg_size].to_i
sms[:folder] = FOLDERS[sms[:folder]]
if sms[:recipient_nbr] > 0
recipients = {}
sms[:recipients].split(";").each_with_index { |var, index| recipients[RECIP_SPEC[index]] = var }
recipients[:id] = recipients[:id].to_i
recipients[:var1] = recipients[:var1].to_i
recipients[:var2] = recipients[:var2].to_i
sms[:recipients] = recipients
end
sms
end
end
def sort_messages
@messages = @messages.sort { |a, b| a[:delivery_time] <=> b[:delivery_time] }
@by_folder = {}
@messages.each do |sms|
@by_folder[sms[:folder]] = [] unless @by_folder[sms[:folder]]
@by_folder[sms[:folder]] << sms
end
@by_name = {}
@messages.each do |sms|
if sms[:recipient_nbr] > 0
if sms[:recipients][:name] != ""
name = sms[:recipients][:name]
else
name = sms[:recipients][:phone]
end
else
if sms[:sender_name] != ""
name = sms[:sender_name]
else
name = get_number_from_address(sms[:sender_address])
end
end
@by_name[name] = [] unless @by_name[name]
@by_name[name] << sms
end
@by_number = {}
@messages.each do |sms|
if sms[:recipient_nbr] > 0
name = sms[:recipients][:phone]
else
name = get_number_from_address(sms[:sender_address])
end
@by_number[name] = [] unless @by_number[name]
@by_number[name] << sms
end
end
def get_number_from_address(address)
if address =~ /^(\+?\d+)$/
return address
elsif address =~ /\<(\+?\d+)\>/
return $1
else
return false
end
end
end
if $0 == __FILE__
require 'fileutils'
dir = "./messages"
my_name = "yourname"
sms = SMSConverter.new(ARGV[0])
FileUtils.mkdir_p(dir)
sms.by_name.each { |name, messages|
filename = File.join(dir, "#{name}.html")
f = File.open(filename, "w")
f << "<html><body>"
messages.each { |sms|
sent = sms[:recipient_nbr] > 0
message = sms[:subject]
f << "<b>--- #{sent ? my_name : name} (#{sms[:delivery_time].strftime("%H:%M:%S, %a %d-%b-%Y")}) ---</b><br/>"
f << "<pre>#{message.strip}</pre><br/><br/>"
}
f << "</body></html>"
f.close
}
end
I'm a little new to this, but am really interested.
I installed Ruby and then created your ruby script. I then run from command prompt:
convertsms.rb pim.vol convertedsms.htm
but I get the following error. What have I done wrong?
C:\Users\mjt\Desktop>convertsms.rb pim.vol convertedsms.htm
C:/Users/mjt/Desktop/convertsms.rb:67:in `raw2array': undefined method `each_cha
r' for #<String:0x24ee9d4> (NoMethodError)
from C:/Users/mjt/Desktop/convertsms.rb:57:in `initialize'
from C:/Users/mjt/Desktop/convertsms.rb:199:in `new'
from C:/Users/mjt/Desktop/convertsms.rb:199
I'm just supposed to run it on a copy of my pim.vol correct?
Thanks!
You have to install pimbackup on your phone, make a non-binary backup. Download the backup to your computer, unzip it, and run this script on the msgs_<date>.csm file. This script will then create a folder called messages and store all the messages per user in it.
ChaosR said:
You have to install pimbackup on your phone, make a non-binary backup. Download the backup to your computer, unzip it, and run this script on the msgs_<date>.csm file. This script will then create a folder called messages and store all the messages per user in it.
Click to expand...
Click to collapse
Ok, I installed pim backup backed up the messages, copied the file to my computer, extracted the csm file and the following happened when I tried to run it.
C:\Users\mjt\Desktop>ruby convertsms.rb msgs.csm
convertsms.rb:67:in `raw2array': undefined method `each_char' for #<String:0x33e
94c> (NoMethodError)
from convertsms.rb:57:in `initialize'
from convertsms.rb:199:in `new'
from convertsms.rb:199
Thanks!
Heh, it seems on Windows you need to include jcode for each_char to work. Put the new code in. Cheers.
how to convert the binary backup to a non binary backup? other than restoring and backing up.
Relaying SMS
Would it be possible to relay the SMS to another phone when backing up, perhaps as a transfer operation, or by sending SMS via a webservice?

Can the name of internal flashdrive programmatically found?

Hi,
I want to get out via a MortScript-routine the folder name of the internal flashdrive, e.x. \My Flash Drive. I wrote a routine that looks for all installed drives that are FAT/EXFAT formatted, but that down't help:
Code:
#TestDrivesFATFS.mscr
###########################################################################
#Searches all installed FATFS/exFAT drives except the one this script resides,
#because only those drives MioPocket can be installed on
###########################################################################
#
#Each filesystem is described in registry as
# [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\<MyProfileName>]
# "DefaultFileSystem"="<MyFileSystem>"
# "Folder"="<MyFolderName>"
Local()
#Obligatory coding as to be found in some MioPocket's scripts
Drive = "\" & Part(SystemPath("ScriptPath"), "\", 2)
#Test starts here
ExcludeDrive = Substr(Drive, 2)
DrivesFATFS = Array()
RegKey = "System\StorageManager\Profiles"
Idx = 0
#Walk the chain of profiles
ForEach variable In RegSubkeys("HKLM", RegKey)
ForEach value, contents In Regvalues("HKLM", RegKey & "\" & variable)
#Some newer CE devices know of exFAT format
If((value eq "DefaultFileSystem") AND (contents ne "FATFS") AND (contents ne "EXFAT"))
Break
EndIf
If((value eq "Folder") AND (contents ne ExcludeDrive))
Idx += 1
DrivesFATFS[Idx] = "\" & contents
EndIf
EndForEach
EndForEach
If(Debug)
ForEach drv in Array(DrivesFATFS)
Message(drv)
EndForeach
EndIf
Any help appriciated. TIA
It can be found in the Registry (at least in my WinMo 6.1... don't know if it's the same way in CE releases or other brands). Look in "HKLM\System\StorageManager\INAND" (or MMC instead of INAND...). The drive name is the "folder" string value).
Thanks for your reply. What I'm searching for is a hint how I can determine per software (MortScript), already having got ( with a piece of code as postet above ) a list of drive-names, which of those is the Storage Card and which is the Flash Drive, not by default knowing of the drive-names, because those differ from device to device.
Running the code above on my device (Medion PNA with CE 5) returns among others the names \Storage Card and/or \My Flash Disk, but this doesn't really help me a lot.
Thanks to all for your interest.
=> SOLVED IT BY MYSELF!
If you are interested in how I did it, here the code to detect the name of SD(HC), MMC, etc card:
Code:
ErrorLevel("warn")
sd = @FindSDDrives()
ForEach drv in Array(sd)
Message(drv)
EndForEach
Sub FindSDDrives()
Local()
SDProfiles = Array()
SDDrives = Array()
SDDrives2 = Array()
#All CE filesystem profiles related to Storage Cards are listet under
#[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\******]
#E.x. MMC_Class, SDMemory_Class
idx = 0
RegKey = "Drivers\SDCARD\ClientDrivers\Class"
ForEach sdcard In RegSubkeys("HKLM", RegKey)
ForEach value, contents In RegValues("HKLM", RegKey & "\" & sdcard)
If(value eq "Profile")
idx += 1
SDProfiles[idx] = contents
EndIf
EndForEach
EndForEach
#Each CE filesystem is described in registry as
# [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\<MyProfileName>]
# "DefaultFileSystem"="<MyFileSystem>"
# "Folder"="<MyFolderName>"
# "Name"="<MyName>
idx = 0
RegKey = "System\StorageManager\Profiles"
ForEach profile in Array(SDProfiles)
ForEach value, contents In RegValues("HKLM", RegKey & "\" & profile)
If(value eq "Folder")
idx += 1
SDDrives[idx] = "\" & contents
EndIf
EndForeach
EndForEach
Clear(SDProfiles)
#Remove duplicates
idx = 0
idx2 = 0
prevdrv = ""
ForEach drv in Array(SDDrives)
idx += 1
If(SDDrives[idx] ne prevdrv)
idx2 += 1
prevdrv = SDDrives[idx]
SDDrives2[idx2] = prevdrv
EndIf
EndForEach
Clear(SDDrives)
Return(SDDrives2)
EndSub
Thanks
jwoegerbauer said:
Thanks to all for your interest.
=> SOLVED IT BY MYSELF!
If you are interested in how I did it, here the code to detect the name of SD(HC), MMC, etc card:
Click to expand...
Click to collapse
Usefull for XDA_UC build in like EnergyROMs. Don't try the German ROMs because of copying files from "Storage Crad" vs. "Speicherkarte" . Now thats solved.
Thanks.

LG stock ROM update checker

I was looking for a method to check and download KDZ update from LG.
I tried with this
Code:
GET csmg.lgmobile.com:9002/csmg/b2c/client/auth_model_check2.jsp?esn=IMEI HTTP/1.1
but it shows
Code:
<response req_cmd="auth_model_check" status="OK">
<auth_model_check>
<result>2</result>
<esn>IMEI</esn>
<model>LGABCD</model>
<suffix>XABCXX</suffix>
<msn/>
<esn_date/>
<sw_version/>
<sw_url/>
<sw_locale_url/>
<sw_recommand_uri/>
<app_version/>
<app_url/>
<cs_em_flag>N</cs_em_flag>
<cs_em_uri>N</cs_em_uri>
<chip_type/>
<prod_type/>
<buyer>ABC</buyer>
<file_name/>
</auth_model_check>
</response>
So I dumped traffic from LGBridge for mac OS and I found that now it is using this:
Code:
POST https://csmg.lgmobile.com:49002/csmg/nb2c/gn_mac_auth_check.jsp HTTP/1.1
[...]
esn=ENC_IMEI
where ENC_IMEI is: base64_encode(AES256_encrypt(key, IMEI)
And now it works!
Code:
<?xml version='1.0' encoding='utf-8'?>
<response req_cmd='gn_mac_auth_check' status='OK'>
<gn_mac_auth_check>
<result>+RLYdeul0Wq2LR9W80Dr7Q==</result>
<esn>[...]</esn>
<model>pkkxdJkDkqa9bLB5JhcINw==</model>
<suffix>BBr8V1JzR89dVaz5N074Ug==</suffix>
<msn>[...]</msn>
<esn_date>uz/t1Dh+UF74zmp+aFDJfg==</esn_date>
<sw_version>8sof3K0NIywkmKpYJNZ9pA==</sw_version>
<sw_url>nNDKjeaqClYJ63yWmSaIO+nlE3gjXluSN/64E/278RSt8dh+ivIkURKbS+MdZ3WqId+yqE3uBRGXtcdTv6z77Y3KIpxGLyK3Fj8i3XHdoWI0FOwg+BX/bBiRscYomZUZFrsAI+W6ai5pfMe32Y6QPQV5JNdnvU4P9YkAKlbEN6jORxdG3LIW+my3Ak5yeWtEbzeLWOhW65T8cdhPgPxsQj10yGOSQPjKE+lkUuENztE=</sw_url>
<sw_locale_url>uz/t1Dh+UF74zmp+aFDJfg==</sw_locale_url>
<sw_recommand_uri>uz/t1Dh+UF74zmp+aFDJfg==</sw_recommand_uri>
<app_version>uz/t1Dh+UF74zmp+aFDJfg==</app_version>
<app_url>uz/t1Dh+UF74zmp+aFDJfg==</app_url>
<cs_em_flag>IMBPpXxY/lQR/aH+hmE14w==</cs_em_flag>
<cs_em_uri>IMBPpXxY/lQR/aH+hmE14w==</cs_em_uri>
<chip_type>P9Tqe7bVC60By1eqGYwQrw==</chip_type>
<prod_type>x/kvneoEEi8TJsxajY84nA==</prod_type>
<mac_yn>SO++YTm9X4BexRU72YEcVQ==</mac_yn>
<file_name>B3sREU5ROkObBgVufGAakmSJiiFeq83HX/qnXHg3R8s=</file_name>
<buyer>Y6aP69S7Udccuog+H7JMxQ==</buyer>
<phone_os_version>IMBPpXxY/lQR/aH+hmE14w==</phone_os_version>
<file_size>v/NYq+/ekA2T/q5WDoOikQ==</file_size>
</gn_mac_auth_check> </response>
The bad news is that the AES256 key to decrypt all the values is still unknown.
I tried looking for the key in the "David" framework (where this link appears) but nothing...
Anyway looking in the LGBridge logs i found the decrypted version:
Code:
dicResult = {
"app_url" = "";
"app_version" = "";
buyer = ITA;
"chip_type" = EG;
"cs_em_flag" = N;
"cs_em_uri" = N;
esn = [...];
"esn_date" = "";
"file_name" = "H85020q_00_OPEN_EU_OP_1025.kdz";
"file_size" = 2607484377;
"mac_yn" = y;
model = LGH850;
msn = [...];
"phone_os_version" = N;
"prod_type" = 2;
result = OK;
suffix = AITASV;
"sw_locale_url" = "";
"sw_recommand_uri" = "";
"sw_url" = "http: [REMOVE_THIS] //pkg03.lime.gdms.lge.com/dn/downloader.dev?fileKey=FW21XUTD728BASS12A42BSD/H85020q_00_OPEN_EU_OP_1025.kdz&e=1512010196&h=c683d07e4acf60ef2829d6bdf0834ac6";
"sw_version" = "H85020Q_00";
}
I think that key and IV are always the same, because making more "check for update", the ecrypted strings were always the same.
So, is someone interested to help me finding the key?

Categories

Resources