Skip to content
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

Committing GlobalVar after initial function naming seems to clear function name? #350

Open
agnosticlines opened this issue Jan 16, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@agnosticlines
Copy link

agnosticlines commented Jan 16, 2024

Description

After importing a bunch of symbols many of them (10% or so) show as an empty remote name but are attributed to the BinSync user.

The git logs seem to indicate it sets the name, and no other functions have issues unless a global var or similar is set in the function AFTER the initial naming, in this case the function name is correctly set as SND_fn_hCreateStreamAsyncSnd

> git log 003befc0.toml
commit 995db2448cd368d74e0239c28734aebe772172c9
Author: researcher <researcher@researcher>
Date:   Tue Jan 16 14:33:06 2024 +0000

    Updated <GlobalVar: None _ncmd_bind; @4405752 len=4>

commit 37c68786bb237cbdf4c189fdcffa78cdec05bbac
Author: researcher <researcher@researcher>
Date:   Tue Jan 16 14:32:56 2024 +0000

    Updated <FuncHeader: None SND_fn_hCreateStreamAsyncSnd(args=0); @0x3befc0>

commit 2ffa8dce154d67b95e8a54fad6df763a571759b7
Author: researcher <researcher@researcher>
Date:   Tue Jan 16 14:32:43 2024 +0000

    Updated <Function: @0x3befc0 len=0x1e8>

However the UI now shows an empty "Remote Name", a reload of IDA and BinSync shows this is not just a UI bug:

Screenshot-1705438615

Also here are some logs, included a few operations before and after the target function just incase they're useful:

DEBUG | 2024-01-16 14:32:11,060 | binsync.api.controller | Running push now for <FuncHeader: None sceSifResetIop(args=0); @0x114588>
DEBUG | 2024-01-16 14:32:11,075 | binsync.api.controller | Setting an artifact now into <State: researcher funcs=671 cmts=0 globals=12> as <FuncHeader: None sceSifResetIop(args=0); @0x114588>
DEBUG | 2024-01-16 14:32:11,075 | binsync.api.controller | <State: researcher funcs=671 cmts=0 globals=12> committing now with Updated <FuncHeader: None sceSifResetIop(args=0); @0x114588>
DEBUG | 2024-01-16 14:32:21,576 | binsync.api.controller | Running push now for <GlobalVar: None _bind; @4400120 len=4>
DEBUG | 2024-01-16 14:32:21,576 | binsync.api.controller | Setting an artifact now into <State: researcher funcs=671 cmts=0 globals=12> as <GlobalVar: None _bind; @4400120 len=4>
DEBUG | 2024-01-16 14:32:21,576 | binsync.api.controller | <State: researcher funcs=671 cmts=0 globals=13> committing now with Updated <GlobalVar: None _bind; @4400120 len=4>
DEBUG | 2024-01-16 14:32:33,466 | binsync.api.controller | Running push now for <FuncHeader: None SND_fn_hCreateStreamAsyncSnd(args=0); @0x3befc0>
DEBUG | 2024-01-16 14:32:33,466 | binsync.api.controller | Running push now for <Function: @0x3befc0 len=0x1e8>
DEBUG | 2024-01-16 14:32:33,466 | binsync.api.controller | Setting an artifact now into <State: researcher funcs=671 cmts=0 globals=12> as <Function: @0x3befc0 len=0x1e8>
DEBUG | 2024-01-16 14:32:33,482 | binsync.api.controller | <State: researcher funcs=672 cmts=0 globals=12> committing now with Updated <Function: @0x3befc0 len=0x1e8>
DEBUG | 2024-01-16 14:32:43,842 | binsync.api.controller | Setting an artifact now into <State: researcher funcs=672 cmts=0 globals=12> as <FuncHeader: None SND_fn_hCreateStreamAsyncSnd(args=0); @0x3befc0>
DEBUG | 2024-01-16 14:32:43,842 | binsync.api.controller | <State: researcher funcs=672 cmts=0 globals=12> committing now with Updated <FuncHeader: None SND_fn_hCreateStreamAsyncSnd(args=0); @0x3befc0>
DEBUG | 2024-01-16 14:32:56,060 | binsync.api.controller | Running push now for <GlobalVar: None _ncmd_bind; @4405752 len=4>
DEBUG | 2024-01-16 14:32:56,060 | binsync.api.controller | Setting an artifact now into <State: researcher funcs=672 cmts=0 globals=12> as <GlobalVar: None _ncmd_bind; @4405752 len=4>
DEBUG | 2024-01-16 14:32:56,060 | binsync.api.controller | <State: researcher funcs=672 cmts=0 globals=13> committing now with Updated <GlobalVar: None _ncmd_bind; @4405752 len=4>
DEBUG | 2024-01-16 14:33:06,576 | binsync.api.controller | Running push now for <GlobalVar: None _sceCd_ncmd_semid; @4405736 len=4>
DEBUG | 2024-01-16 14:33:06,576 | binsync.api.controller | Setting an artifact now into <State: researcher funcs=672 cmts=0 globals=12> as <GlobalVar: None _sceCd_ncmd_semid; @4405736 len=4>
DEBUG | 2024-01-16 14:33:06,576 | binsync.api.controller | <State: researcher funcs=672 cmts=0 globals=13> committing now with Updated <GlobalVar: None _sceCd_ncmd_semid; @4405736 len=4>
DEBUG | 2024-01-16 14:33:18,514 | binsync.api.controller | Running push now for <FuncHeader: None Serialize__10UPrimitiveFR8FArchive(args=0); @0x2118d0>
DEBUG | 2024-01-16 14:33:18,529 | binsync.api.controller | Running push now for <Function: @0x2118d0 len=0xe8>
DEBUG | 2024-01-16 14:33:18,529 | binsync.api.controller | Setting an artifact now into <State: researcher funcs=672 cmts=0 globals=13> as <Function: @0x2118d0 len=0xe8>

Steps to reproduce the bug

  1. Diff two binaries
  2. Import a bunch of symbols, click Yes when asked if you also want to import types

Environment

Windows 11 ARM64, Git for Windows, IDA Pro 8.3

Additional context

No response

@agnosticlines agnosticlines added the bug Something isn't working label Jan 16, 2024
@agnosticlines agnosticlines changed the title Updating GlobalVar(?) seems to clear function name? Committing GlobalVar after initial function naming seems to clear function name? Jan 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant