mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-07-08 21:37:49 +02:00
refactor(windows): clean up Chrome ABE module (#574)
* refactor(abe): remove --abe-key flag and its global state * refactor(abe): rework scratch protocol and Go/C structure
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
//go:build windows
|
||||
|
||||
package injector
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/moond4rk/hackbrowserdata/crypto/windows/abe_native/bootstrap"
|
||||
)
|
||||
|
||||
func TestFormatABEError(t *testing.T) {
|
||||
cases := []struct {
|
||||
name string
|
||||
result scratchResult
|
||||
wants []string
|
||||
}{
|
||||
{
|
||||
name: "known err code with known HRESULT",
|
||||
result: scratchResult{
|
||||
Marker: 0xff,
|
||||
Status: 0x00,
|
||||
ErrCode: bootstrap.ErrDecryptData,
|
||||
HResult: 0x80070005,
|
||||
ComErr: 0,
|
||||
},
|
||||
wants: []string{
|
||||
"err=IElevator.DecryptData failed",
|
||||
"hr=E_ACCESSDENIED (0x80070005)",
|
||||
"comErr=0x0",
|
||||
"marker=0xff",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "known err code, unknown HRESULT falls back to hex",
|
||||
result: scratchResult{
|
||||
Marker: 0xff,
|
||||
Status: 0x00,
|
||||
ErrCode: bootstrap.ErrBrowserUnknown,
|
||||
HResult: 0x12345678,
|
||||
},
|
||||
wants: []string{
|
||||
"err=browser not in com_iid table",
|
||||
"hr=0x12345678",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "unknown err code falls back to hex",
|
||||
result: scratchResult{
|
||||
ErrCode: 0xaa,
|
||||
HResult: 0,
|
||||
},
|
||||
wants: []string{
|
||||
"err=0xaa",
|
||||
"hr=0x00000000",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "err code zero (ok) also renders",
|
||||
result: scratchResult{
|
||||
ErrCode: bootstrap.ErrOk,
|
||||
},
|
||||
wants: []string{
|
||||
"err=0x00",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
got := formatABEError(tc.result)
|
||||
for _, want := range tc.wants {
|
||||
if !strings.Contains(got, want) {
|
||||
t.Errorf("formatABEError missing %q\n got: %s", want, got)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user