-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Phi-Pre] There are variables in the phi-function that are not live at any predecessor block #219
Comments
@NeoQuix I can not reproduce this error, the sample decompiles without any error. Do you have another sample with the same error? |
Nope it's the only function which yields this error. Looked up the error, and What version of bninja are you using? |
I get the same error using both |
I am using binary ninja |
here the output: ╰(.venv)─λ python decompile.py /home/eva/Downloads/samples/wscript.exe 140008880 0 (1.416s) < 13:09:09
[0:0 Default error] Error searching remote symbol server https://msdl.microsoft.com/download/symbols: Err(Bytes written mismatch!) unsigned long sub_140008880(void * arg1, int arg2, long * arg3) {
void vVar0;
BSTR NoneVar13;
BSTR NoneVar6;
int iVar12;
int iVar7;
int iVar8;
unsigned long ulVar9;
void * vpVar1;
void * vpVar1;
short * spVar10;
short * spVar3;
long * lpVar11;
long * lpVar3;
long * lpVar6;
long * lpVar98;
long * lpVar98;
long * lpVar98;
spVar10 = 0x0;
ulVar9 = *(*lpVar3_0 + 24L)(lpVar3, &vVar0);
if ((unsigned int)ulVar9 >= 0) {
vpVar1 += 32L;
*(*vpVar1 + 40L) = 0x0;
lpVar11 = 0x0;
if (lppVar2 == 0x8004fffc) {
vpVar1 += 48L;
if (*vpVar1 != 0) {
NoneVar13 = 0x0;
lpVar11 = 0x0;
}
else {
*vpVar1 = 0x1;
iVar12 = *(*lpVar6_4 + 40L)();
if (iVar12 >= 0) {
iVar12 = sub_140005164(*vpVar1, &lpVar11);
if (iVar12 >= 0) {
iVar12 = *(*lpVar98_8 + 40L)();
if (iVar12 >= 0) {
iVar12 = *(*lpVar98_9 + 48L)();
NoneVar13 = 0x0;
}
else if (iVar12 != 0x80020006) {
NoneVar13 = 0x0;
}
if (iVar12 == 0x80020006) {
NoneVar13 = 0x0;
}
}
else {
NoneVar13 = 0x0;
}
}
else {
NoneVar13 = 0x0;
}
}
}
else {
if ((lppVar2 != 0x80004004) && (lppVar2 != 0x8004fffd) && (lppVar2 != 0x8004fffe) && ((spVar3 == 0L) || (0 == *spVar3))) {
iVar12 = sub_1400067cc(lppVar2, &spVar10);
if (iVar12 < 0) {
NoneVar13 = 0x0;
lpVar11 = 0x0;
}
}
if ((lppVar2 != 0x80004004) && (lppVar2 != 0x8004fffd) && (lppVar2 != 0x8004fffe) && ((spVar3 != 0L) || (iVar12 >= 0)) && ((0 != *spVar3) || (iVar12 >= 0))) {
NoneVar13 = 0x0;
lpVar11 = 0x0;
iVar12 = *(*lpVar3_0 + 32L)(lpVar3, &iVar7, &iVar8);
iVar12 = *(*lpVar3_0 + 40L)(lpVar3, &NoneVar13);
if (iVar12 < 0) {
NoneVar6 = 0x0;
}
else {
NoneVar6 = NoneVar13;
}
iVar12 = *(**(vpVar1_0 + 32L) + 40L)();
NoneVar13 = NoneVar6;
}
}
if (lppVar2 == 0x8004fffd) {
NoneVar13 = 0x0;
lpVar11 = 0x0;
}
if ((lppVar2 == 0x80004004) || (lppVar2 == 0x8004fffe)) {
iVar12 = *(**(vpVar1_0 + 32L) + 64L)();
if (iVar12 >= 0) {
iVar12 = 0;
}
NoneVar13 = 0x0;
lpVar11 = 0x0;
}
else if (((lppVar2 == 0x8004fffd) || (lppVar2 == 0x8004fffc) || (spVar3 != 0L) || (iVar12 >= 0)) && ((lppVar2 == 0x8004fffd) || (0 != *spVar3) || (lppVar2 == 0x8004fffc) || (iVar12 >= 0)) && ((lppVar2 == 0x8004fffd) || (lppVar2 == 0x8004fffc) || (iVar12 >= 0)) && ((lppVar2 != 0x8004fffc) || (*vpVar1 != 0) || (iVar12 >= 0)) && ((lppVar2 != 0x8004fffc) || (iVar12 >= 0) || (*vpVar1 != 0)) && ((lppVar2 != 0x8004fffc) || (*vpVar1 != 0) || (iVar12 < 0) || (iVar12 >= 0)) && ((lppVar2 != 0x8004fffc) || (iVar12 >= 0) || (*vpVar1 != 0) || (iVar12 == 0x80020006))) {
iVar12 = 0;
}
SysFreeString(/* bstrString */ spVar3);
SysFreeString(/* bstrString */ NoneVar4);
SysFreeString(/* bstrString */ NoneVar5);
SysFreeString(/* bstrString */ NoneVar13);
SysFreeString(/* bstrString */ spVar10);
if (lpVar11 != 0L) {
*(*lpVar98_29 + 16L)();
}
ulVar9 = (unsigned int)iVar12;
}
return ulVar9;
} |
Do you have the error-message: |
|
Niklas and I found the, let say, problem. |
Ja löschen der gecachten Symbole in
|
Tried it and it did work indeed. So what to do about this issue in general? Make a bninja issue? |
What happened?
How to reproduce?
Decompile wscript at 0x140008880
Affected Binary Ninja Version(s)
3.3.3996
The text was updated successfully, but these errors were encountered: