2.0.4 #17
NubleX
announced in
Announcements
2.0.4
#17
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
ID-Spoofer v2.0.4: Android Persona + macOS Native + Windows Native
Context
Branch
dev.2.0.3shipped the TUI redesign + network recon. Branchdev.2.0.4(offdev.2.0.3) delivers:android-XXXXXXXXDHCP hostname).ifconfigfor MAC spoofing,sysctl net.inet.ip.ttlfor TTL,scutilfor hostname (already done). Expose viaplatform_darwin.go+mac_darwin.go+netident_darwin.go.Tcpip\Parameters) for TTL/TCP flags, registry (NetworkAddresskey) for MAC,wmicfor hostname (already done). Expose viaplatform_windows.go+mac_windows.go+netident_windows.go.Part 1: Android Persona
1A.
internal/netident/netident.go— Add constant + factoryAdd
PersonaAndroid PersonaType = "android"to the const block.Add
AndroidPersona(hostname string) Persona:1B.
internal/netident/pktrewrite_linux.go— Wire Android to existing TCP optionsTwo changes:
personaWScale()— add explicit Android case:buildTCPOptions()— add Android to the Linux branch (same kernel, same options order):1C.
internal/hostname/generate.go— AddGenerateRandomAndroid()Android devices announce hostnames like
android-a3f9kl2d7b8e1c4f(hex suffix). Add:Add a
randomHex(n int) stringhelper usingcrypto/rand.1D.
internal/spoofer/spoofer.go— Add Android to the persona switchIn
applyNetIdent()around line 181, add beforedefault:1E.
cmd/idspoof/apply.go— UpdateparsePersonaType()+ flag helpAdd
case "android": return netident.PersonaAndroidbeforedefault.Update flag help string:
"Network persona to project (windows, macos, ios, linux, android)".Update
Longdescription ofapplyCmd.1F.
cmd/idspoof/tui_identity.go— Add Android radio buttonAdd to
identityItemsslice after the iOS item:{ label: "Android 12+ (Phone/Tablet)", opKey: "persona-android", group: "persona", descTitle: "Android Persona", description: "Projects an Android 12+ network identity...", },Add to
buildOpts()switch:Part 2: Phase 5 — macOS Native
2A.
internal/mac/mac_darwin.go— New file (//go:build darwin)2B.
internal/netident/netident_darwin.go— New file (//go:build darwin)Implements
netident.Spooferfor macOS. Scope: sysctl TTL + DHCP hostname vianetworksetup. No iptables, no NFQUEUE (not available on macOS).The helpers
macSysctlGet/macSysctlSetalready exist infingerprint_darwin.go— reuse them (they're package-level unexported functions within the samefingerprintpackage, butnetident_darwin.gois in thenetidentpackage so needs its own copies or a shared helper). Solution: inline the sysctl calls directly innetident_darwin.gosince they're one-liners.2C.
internal/platform/platform_darwin.go— New file (//go:build darwin)2D. Update
internal/platform/platform_other.goChange build tag from
//go:build !linuxto//go:build !linux && !darwin && !windows.Remove
newDarwinPlatform()andnewWindowsPlatform()stub functions (they'll be in their own files).Keep
newLinuxPlatform()panic (still relevant for the "other" stub).Also add a stub
newWindowsPlatform()returning error for the!linux && !darwin && !windowscase.Part 3: Phase 6 — Windows Native
3A.
internal/mac/mac_windows.go— New file (//go:build windows)Uses the Windows registry to set
NetworkAddresson the adapter class key.3B.
internal/netident/netident_windows.go— New file (//go:build windows)Wraps
fingerprint_windows.go's registry logic (which already exists) into theSpooferinterface.The
winRegGetDWORD/winRegSetDWORDhelpers: these exist conceptually infingerprint_windows.gobut are in thefingerprintpackage.netident_windows.gois innetidentpackage — implement its own small registry helpers usinggolang.org/x/sys/windows/registry.3C.
internal/platform/platform_windows.go— New file (//go:build windows)Critical Files
internal/netident/netident.goPersonaAndroidconst +AndroidPersona()factoryinternal/netident/pktrewrite_linux.gopersonaWScale()+buildTCPOptions()internal/hostname/generate.goGenerateRandomAndroid()+randomHex()helperinternal/spoofer/spoofer.goapplyNetIdent()switchcmd/idspoof/apply.goparsePersonaType()+ update help textcmd/idspoof/tui_identity.gobuildOpts()caseinternal/mac/mac_darwin.goifconfiginternal/netident/netident_darwin.gointernal/platform/platform_darwin.gointernal/platform/platform_other.go!linux && !darwin && !windowsinternal/mac/mac_windows.gointernal/netident/netident_windows.gointernal/platform/platform_windows.goBuild Order
git checkout -b dev.2.0.4Verification
All reactions