Skip to content

Commit

Permalink
v27f
Browse files Browse the repository at this point in the history
  • Loading branch information
werasik2aa committed Jan 8, 2024
1 parent 0882ca5 commit 429b0ed
Show file tree
Hide file tree
Showing 9 changed files with 1,935 additions and 1,979 deletions.
16 changes: 7 additions & 9 deletions HuaweiUnlock/English.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ Canceled,Canceled
MAIN1,IT'S FREE NO NEED PAY FOR THIS
MAIN2,Author: moongamer
MAIN3,This tool uses Board bootloader!
Tutr,Connect device via EDL (9008 mode)
TutrQC,Connect device via EDL (9008 mode)
TutrHI,Connect device via HUAWEI USB COM 1.0
Tutr2,1. Checked Raw Image -> Select DUMP.bin/n2. If Unchecked Raw Image -> Select any file in firmware directory. Xmls will be filled automatically./n4. For easy repair gpt. Select gpt_both0.bin and flash it as Raw Image file.
SMAIN1,Qualcomm Huawei Flash Tool + Diag (c)
SMAIN2,This tool can Flash Firmware
Expand Down Expand Up @@ -134,17 +135,12 @@ TrDaI,Trying to Read OEM_INFO
TrRb,Trying to reboot to:
HomeTag,Home
BackupRestoreTag,Backup/restore
BackupRestoreTagSimpl,Backup/Restore
DiagTagRead,Read INFO
DiagTagUpgradeMode,Upgrade Mode
DiagTagReboot,Reboot or (board->FB)
DiagTagFactoryReset,Factory Reset
UnlockTag,Unlock QCOM
UnlockSimpl,Unlock QCOM
UnlockTagHISI,Unlock KIRIN
UnlockSimplHISI,Unlocker KIRIN
GPTtag,Partition Manager
GPTtagSimpl,Partitions
GPTtagSimpl,[QC] Partitions
NameTABLE0,Partition
NameTABLE1,Offset
NameTABLE2,Length
Expand All @@ -154,17 +150,19 @@ SerialnTag,Serial number:
BSNTag,Board ID:
ModelTag,Model:
BuildIdTag,Build number:
FBLOCK-Tag,FBLOCK state:
FBLOCKTag,FBLOCK state:
FBLOCKSetTag,Failed to set the FBLOCK prop. using the alternative method.
WritingPropTAG,Writing prop:
WarnLarge,Reading file... It can take 5 or more minutes!
WarnUnl,Unlocked kernel for this device not compiled or not used. Your device may be partitionaly unlocked!
[HISI]
HISIGPTtagSimpl,[HISI] Partitions
HISISelectCpu,Please select CPU
HISIReadFB,Read Info (FASTBOOT)
HISIInitFB,Write factory FASTBOOT (TESTPOINT)
HISIWriteKirinFB,Write USERLOCK(FASTBOOT)
HISIWriteKirinBL,Read/Write Unlock KEY from Device(TESTPOINT)
HISIWriteKirinBLD,Download unlock package of device(TESTPOINT)
HISIWriteKirinBLD,Download bootloader package for device(TESTPOINT)
HISIWriteKirinFBL,Write FBLOCK state
HISIInfoS,*** FBLOCK is locked! ***\nIn this FBLOCK State Not Allowed To do this
HISINewKey,[FASTBOOT] New USERLOCK key:
Expand Down
8 changes: 4 additions & 4 deletions HuaweiUnlock/LangProc.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace HuaweiUnlocker
{
public static class LangProc
{
public const string APP_VERSION = "26F";
public const string APP_VERSION = "27F";
public static TextBox LOGGBOX;
public static string log, loge, newline = Environment.NewLine, PrevFolder = "c:\\";
private static StreamWriter se = new StreamWriter("log.txt");
Expand Down Expand Up @@ -149,7 +149,7 @@ public static bool isError(string i)
if (i.Contains("failed") || i.Contains("error") || i.Contains("error setting com port timeouts") || i.Contains("fail") || i.Contains("status: 2") || i.Contains("failed to write hello response back to device") || i.Contains("failed to open com port")) return true;
return false;
}
public static bool LOG(int o, string i, object j = null, string sepa = " ")
public static bool LOG(int o, object i, object j = null, string sepa = " ")
{
string state = "";
j = j == null ? "" : j;
Expand All @@ -168,8 +168,8 @@ public static bool LOG(int o, string i, object j = null, string sepa = " ")
state = Language.Get("Error");
break;
}
i = Language.isExist(i) ? Language.Get(i) : i;
i = i.Contains("/n") ? i.Replace("/n", newline) : i;
i = Language.isExist(i.ToString()) ? Language.Get(i.ToString()) : i;
i = i.ToString().Contains("/n") ? i.ToString().Replace("/n", newline) : i;
Action action;
j = Language.isExist(j.ToString()) ? Language.Get(j.ToString()) : j;
j = j.ToString().Contains("/n") ? i.ToString().Replace("/n", newline) : j;
Expand Down
16 changes: 7 additions & 9 deletions HuaweiUnlock/Russian.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ Canceled,Действие отменено
MAIN1,Это бесплатно! Не нужно за это платить!
MAIN2,Author: moongamer
MAIN3,Эта программа использует BOARD загрузчики!
Tutr,Подключите устройство через EDL (режим 9008)
TutrQC,Подключите устройство через EDL (режим 9008)
TutrHI,Подключите устройство через EDL (режим 9008)
Tutr2,1. Если включен режим образа памяти(raw image) -> Выберите DIUMP.bin/n2. Если не включен режим образа памяти -> Выберите любой файл в папке с прошивкой и автоматически заполнятся .xmls/n3. Чтобы восстановить gpt разметку небходимо выбрать gpt_both0.bin и прошить как raw image.
SMAIN1,Qualcomm Huawei Flash Tool + Diag (c)
SMAIN2,Этот инструмент может прошивать прошивку
Expand Down Expand Up @@ -134,17 +135,12 @@ TrDaI,Попытка чтения OEM_INFO
TrRb,Попытка перезагрузки:
HomeTag,Домой
BackupRestoreTag,Резервное Копирование/nВосстановление
BackupRestoreTagSimpl,Резервные копии
DiagTagRead,Прочитать информацию
DiagTagUpgradeMode,Режим обновления по usb
DiagTagReboot,Перезагрузить
DiagTagFactoryReset,Сбросить настройки
UnlockTag,QCOM
UnlockSimpl,РазблокировкаQC
UnlockTagHISI,KIRIN
UnlockSimplHISI,РазблокировкаKI
GPTtag,Менеджер разделов
GPTtagSimpl,Разделы
GPTtagSimpl,[QC] Разделы
NameTABLE0,Раздел
NameTABLE1,Начало раздела
NameTABLE2,Длинна раздела
Expand All @@ -154,17 +150,19 @@ SerialnTag,Серийный номер:
BSNTag,Серийный номер платы:
ModelTag,Модель:
BuildIdTag,Номер сборки:
FBLOCK-Tag,Состояние FBLock:
FBLOCKTag,Состояние FBLock:
FBLOCKSetTag,Не удалось задать FBLOCK значение. Попытка использовать другой способ
WritingPropTAG,Запись prop:
WarnLarge,Чтение файла... Это может занять более 5 минут! Зависит от HDD/SSD.
WarnUnl,Разблокированное ядро для этого устройства не скомпилировано или не используется! В случае не рабочей разблокировки запросите помощь.
[HISI]
HISIGPTtagSimpl,[HISI] Разделы
HISISelectCpu,Выберите процессор
HISIReadFB,Прочитать Информацию (FASTBOOT)
HISIInitFB,Прошить board FASTBOOT (TESTPOINT)
HISIWriteKirinFB,Записать Ключ Разблокировки(FASTBOOT)
HISIWriteKirinBL,Прочитать Ключ разблокировки(TESTPOINT)
HISIWriteKirinBLD,Скачать пакет разблокировки устройства(TESTPOINT)
HISIWriteKirinBLD,Скачать пакет загрузчиков для устройства(TESTPOINT)
HISIWriteKirinFBL,Изменить состояние FBLOCK
HISIInfoS,*** FBLOCK Заблокирован! *** \n В данном состояние, вы не сможете ничего сделать!
HISINewKey,[FASTBOOT] Новый код разблокировки:
Expand Down
19 changes: 10 additions & 9 deletions HuaweiUnlock/TOOLS/Fastboot.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ public class Fastboot
private const int HEADER_SIZE = 4;
private const int BLOCK_SIZE = 512 * 1024; // 512 KB

public int Timeout = 3000;
public int TimeoutWait = 100;
private UsbDevice device;
public int DefaultRWTimeout = 3000;
public int DefaultTimeoutWait = 100;
public UsbDevice device;

public enum FastbootStatus
{
Expand Down Expand Up @@ -58,16 +58,17 @@ private FastbootStatus GetStatus(string header)
return FastbootStatus.Unknown;
}
}
public bool Connect()
public bool Connect(int waittime = 0)
{
if (waittime == 0) waittime = DefaultTimeoutWait;
if (device != null) Disconnect();
var counter = 0;
while (true)
{
var allDevices = UsbDevice.AllDevices;
if (allDevices.Any(x => x.Vid == USB_VID & x.Pid == USB_PID))
break;
if (counter == TimeoutWait)
if (counter == DefaultTimeoutWait)
{
LOG(2, "TimeoutWait error.");
return false;
Expand Down Expand Up @@ -109,7 +110,7 @@ public Response Command(byte[] command)
{
var writeEndpoint = device.OpenEndpointWriter(WriteEndpointID.Ep01);

writeEndpoint.Write(command, Timeout, out int WroteNum);
writeEndpoint.Write(command, DefaultRWTimeout, out int WroteNum);

if (WroteNum != command.Length)
throw new Exception("Failed to write command! Transfered: " + WroteNum + "of" + command.Length + "bytes");
Expand All @@ -122,7 +123,7 @@ public Response Command(byte[] command)
while (true)
{
byte[] buffer = new byte[64];
readEndpoint.Read(buffer, Timeout, out int ReadNum);
readEndpoint.Read(buffer, DefaultRWTimeout, out int ReadNum);
ASCI = Encoding.ASCII.GetString(buffer);

if (ASCI.Length < HEADER_SIZE)
Expand Down Expand Up @@ -152,7 +153,7 @@ private void SendDataCommand(long size)
private void TransferBlock(FileStream stream, UsbEndpointWriter writeEndpoint, byte[] buffer, int size)
{
stream.Read(buffer, 0, size);
writeEndpoint.Write(buffer, Timeout, out int wroteSize);
writeEndpoint.Write(buffer, DefaultRWTimeout, out int wroteSize);

if (wroteSize != size)
throw new Exception("Failed to transfer block (sent " + wroteSize + " of " + size + ")");
Expand Down Expand Up @@ -180,7 +181,7 @@ public void UploadData(FileStream stream)

//READ_ED
var resBuffer = new byte[64];
ErrorCode ErrorEr = device.OpenEndpointReader(ReadEndpointID.Ep01).Read(resBuffer, Timeout, out _);
ErrorCode ErrorEr = device.OpenEndpointReader(ReadEndpointID.Ep01).Read(resBuffer, DefaultRWTimeout, out _);
var strBuffer = Encoding.ASCII.GetString(resBuffer);
if (strBuffer.Length < HEADER_SIZE)
throw new Exception("Invalid response from device: " + strBuffer);
Expand Down
Loading

0 comments on commit 429b0ed

Please sign in to comment.