1NAME=zs unset 2FILE=- 3CMDS=<<EOF 4zs test1 5za foo1 b aabbccdd 6za bar1 b aabbccdd 7zs test2 8za foo2 b aabbccdd 9za bar2 b aabbccdd 10zs test3 11za foo3 b aabbccdd 12za bar3 b aabbccdd 13zs * 14zs-test2 15z~foo1 16z~bar1 17z~foo2 18z~bar2 19z~foo3 20z~bar3 21EOF 22EXPECT=<<EOF 23(test1) foo1: 24(test1) bar1: 25foo2: 26bar2: 27(test3) foo3: 28(test3) bar3: 29EOF 30RUN 31 32NAME=zsr newname 33FILE=- 34CMDS=<<EOF 35zs test1 36za foo1 b aabbccdd 37za bar1 b aabbccdd 38zs test2 39za foo2 b aabbccdd 40za bar2 b aabbccdd 41zs test3 42za foo3 b aabbccdd 43za bar3 b aabbccdd 44zs test2 45zsr newtest2 46zs * 47z~foo1 48z~bar1 49z~foo2 50z~bar2 51z~foo3 52z~bar3 53EOF 54EXPECT=<<EOF 55(test1) foo1: 56(test1) bar1: 57(newtest2) foo2: 58(newtest2) bar2: 59(test3) foo3: 60(test3) bar3: 61EOF 62RUN 63 64NAME=zsr newname (dupplicated name) 65FILE=- 66CMDS=<<EOF 67zs test1 68za foo1 b aabbccdd 69za bar1 b aabbccdd 70zs test2 71za foo2 b aabbccdd 72za bar2 b aabbccdd 73zs test3 74za foo3 b aabbccdd 75za bar3 b aabbccdd 76zs test2 77zsr test1 78zs * 79z~foo1 80z~bar1 81z~foo2 82z~bar2 83z~foo3 84z~bar3 85EOF 86EXPECT=<<EOF 87(test1) foo1: 88(test1) bar1: 89(test2) foo2: 90(test2) bar2: 91(test3) foo3: 92(test3) bar3: 93EOF 94RUN 95 96NAME=zsr newname (root zs) 97FILE=- 98CMDS=<<EOF 99zs test1 100za foo1 b aabbccdd 101za bar1 b aabbccdd 102zs test2 103za foo2 b aabbccdd 104za bar2 b aabbccdd 105zs test3 106za foo3 b aabbccdd 107za bar3 b aabbccdd 108zs * 109zsr newtest 110z~foo1 111z~bar1 112z~foo2 113z~bar2 114z~foo3 115z~bar3 116EOF 117EXPECT=<<EOF 118(test1) foo1: 119(test1) bar1: 120(test2) foo2: 121(test2) bar2: 122(test3) foo3: 123(test3) bar3: 124EOF 125RUN 126 127NAME=z- 128FILE=- 129CMDS=<<EOF 130zs test 131za foo b aa 132zs test2 133za foo b aa 134za bar b bb 135zs * 136z-foo 137z 138zs test2 139z-foo 140z 141zs * 142z 143zs-test 144z 145z-foo 146z 147EOF 148EXPECT=<<EOF 149(test2) bar: 150 bytes: bb 151 mask: ff 152(test) foo: 153 bytes: aa 154 mask: ff 155(test2) foo: 156 bytes: aa 157 mask: ff 158bar: 159 bytes: bb 160 mask: ff 161(test2) bar: 162 bytes: bb 163 mask: ff 164(test) foo: 165 bytes: aa 166 mask: ff 167(test2) bar: 168 bytes: bb 169 mask: ff 170foo: 171 bytes: aa 172 mask: ff 173(test2) bar: 174 bytes: bb 175 mask: ff 176EOF 177RUN 178 179NAME=z-* 180FILE=- 181CMDS=<<EOF 182zs test1 183za foo1 b aabbccdd 184za bar1 b aabbccdd 185zs test2 186za foo2 b aabbccdd 187za bar2 b aabbccdd 188zs test3 189za foo3 b aabbccdd 190za bar3 b aabbccdd 191zs test2 192z-* 193zs * 194z~foo2 195z~bar2 196EOF 197EXPECT=<<EOF 198EOF 199RUN 200 201NAME=za b and binmasks 202FILE=- 203CMDS=<<EOF 204za test b .abbc.dd.. 205z 206EOF 207EXPECT=<<EOF 208test: 209 bytes: 0abbc0dd00 210 mask: 0ffff0ff00 211EOF 212RUN 213 214NAME=za b zero mask 215FILE=- 216CMDS=<<EOF 217za test b .... 218z 219EOF 220EXPECT=<<EOF 221EOF 222RUN 223 224NAME=za g 225FILE=- 226CMDS=<<EOF 227za test g cc=1 nbbs=2 edges=3 ebbs=4 228z 229EOF 230EXPECT=<<EOF 231test: 232 graph: cc=1 nbbs=2 edges=3 ebbs=4 bbsum=0 233EOF 234RUN 235 236NAME=za o 237FILE=- 238CMDS=<<EOF 239za test o 0x8048123 240z 241EOF 242EXPECT=<<EOF 243test: 244 addr: 0x08048123 245EOF 246RUN 247 248NAME=za r 249FILE=- 250CMDS=<<EOF 251za test r sym1 sym3 sym2 252z 253EOF 254EXPECT=<<EOF 255test: 256 refs: sym1, sym3, sym2 257EOF 258RUN 259 260NAME=za b + z/ 261FILE=bins/elf/analysis/go_stripped 262CMDS=<<EOF 263za sym.fmt.Println b 653b2530000000724b53b834e7150883ec188b15401c22088d4c24048b5c242083ec08ff742434ff742434ff742434525051e829ffffff8b44242089038b4424248943048b44242889430889d883c4345bc204006a106a1ce85e350700c20400 264z/ 265?v sign.bytes.sym.fmt.Println_0 266EOF 267EXPECT=<<EOF 2680x805b030 269EOF 270RUN 271 272NAME=za a + z/ 273FILE=bins/elf/analysis/go_stripped 274CMDS=<<EOF 275za sym.fmt.Println a 653b2530000000724b53b834e7150883ec188b15401c22088d4c24048b5c242083ec08ff742434ff742434ff742434525051e829ffffff8b44242089038b4424248943048b44242889430889d883c4345bc204006a106a1ce85e350700c20400 276z/ 277?v sign.bytes.sym.fmt.Println_1 278EOF 279EXPECT=<<EOF 2800x805b030 281EOF 282RUN 283 284NAME=za r + z/ 285FILE=bins/elf/analysis/zigs 286CMDS=<<EOF 287aaa 288za main r sym.print 289z/ 290?v sign.refs.main_0 291EOF 292EXPECT=<<EOF 2930x40055b 294EOF 295RUN 296 297NAME=z/ with search.in 298FILE=bins/elf/analysis/go_stripped 299CMDS=<<EOF 300za date_string b 323030362d30312d30322031353a30343a30352e393939393939393939202d30373030204d535400 301za sym.fmt.Println b 653b2530000000724b53b834e7150883ec188b15401c22088d4c24048b5c242083ec08ff742434ff742434ff742434525051e829ffffff8b44242089038b4424248943048b44242889430889d883c4345bc204006a106a1ce85e350700c20400 302fs sign 303f~? 304e io.va=0 305e search.in=file 306z/ 307e io.va=1 308?v sign.bytes.date_string_0 309?v sign.bytes.sym.fmt.Println_0 310f-* 311f~? 312e search.in=bin.sections.x 313z/ 314?v sign.bytes.elf_header_0 315?v sign.bytes.sym.fmt.Println_0 316EOF 317EXPECT=<<EOF 3180 3190x15d898 3200x13030 3210 3220x0 3230x805b030 324EOF 325RUN 326 327NAME=z/ with search.align 328FILE=malloc://1024 329CMDS=<<EOF 330wx 00112233445566778899aabbccddeeff 331za foo b 1122 332e zign.minsz = 0 333e zign.mincc = 0 334fs * 335e search.align=2 336z/ 337f~? 338e search.align=1 339z/ 340f~? 341EOF 342EXPECT=<<EOF 3430 3441 345EOF 346RUN 347 348NAME=z/ with search.{from,to} 349FILE=malloc://1024 350CMDS=<<EOF 351wx 00112233445566778899aabbccddeeff 352za a b 11223344 353za b b bbccddee 354e zign.minsz = 0 355e zign.mincc = 0 356fs * 357f~? 358e search.in=raw 359e search.from=0x0 360e search.to=0x8 361z/ 362?v sign.bytes.a_0 363?v sign.bytes.b_0 364f-* 365f~? 366e search.from=0x8 367e search.to=0xf 368z/ 369?v sign.bytes.a_0 370?v sign.bytes.b_0 371EOF 372EXPECT=<<EOF 3730 3740x1 3750x0 3760 3770x0 3780xb 379EOF 380RUN 381 382NAME=z/ with zign.minsz 383FILE=malloc://1024 384CMDS=<<EOF 385wx 00112233445566778899aabbccddeeff 386za foo b 11223344 387e zign.minsz = 0 388fs * 389z/ 390f~? 391f-* 392e zign.minsz = 5 393z/ 394f~? 395EOF 396EXPECT=<<EOF 3971 3980 399EOF 400RUN 401 402NAME=za b ; z/ ; aa ; axt 403FILE=bins/elf/analysis/zigs_stripped 404CMDS=<<EOF 405za sym.print b 5548....48......48......48......48....bf........b8........e8........90c9c3 406z/ 407e anal.hasnext=0 408aa 409axt 0x400536 410EOF 411EXPECT=<<EOF 412main 0x40056f [CALL] call sign.bytes.sym.print_0 413EOF 414RUN 415 416NAME=zaf 417FILE=bins/elf/analysis/zigs 418CMDS=<<EOF 419aaa 420e zign.mincc = 0 421zs zigs 422zaf main 423z 424EOF 425EXPECT=<<EOF 426zigs:main: 427 bytes: 554889e54883ec10897dfc488975f0bf13064000e8c2ffffffb800000000c9c3 428 mask: ffffffffffffffffffffffffffffffff00000000ff00000000ffffffffffffff 429 graph: cc=1 nbbs=1 edges=0 ebbs=1 bbsum=32 430 addr: 0x0040055b 431 realname: main 432 refs: sym.print 433 vars: b-12, b-24, r82, r78 434 types: func.main.ret=int, func.main.args=2, func.main.arg.0="int,argc", func.main.arg.1="char **,argv" 435 bbhash: 9890426532f35eb3a80fe773d887714fe27d13ea125ad7e90beab16a51b74496 436EOF 437RUN 438 439NAME=zaf at offset 440FILE=bins/elf/analysis/zigs 441CMDS=<<EOF 442aaa 443e zign.mincc = 0 444zs zigs 445zaf @ main 446z 447EOF 448EXPECT=<<EOF 449zigs:main: 450 bytes: 554889e54883ec10897dfc488975f0bf13064000e8c2ffffffb800000000c9c3 451 mask: ffffffffffffffffffffffffffffffff00000000ff00000000ffffffffffffff 452 graph: cc=1 nbbs=1 edges=0 ebbs=1 bbsum=32 453 addr: 0x0040055b 454 realname: main 455 refs: sym.print 456 vars: b-12, b-24, r82, r78 457 types: func.main.ret=int, func.main.args=2, func.main.arg.0="int,argc", func.main.arg.1="char **,argv" 458 bbhash: 9890426532f35eb3a80fe773d887714fe27d13ea125ad7e90beab16a51b74496 459EOF 460RUN 461 462NAME=zaf (root zignspace) 463FILE=bins/elf/analysis/zigs 464CMDS=<<EOF 465aaa 466e zign.mincc = 0 467zaf main 468z 469EOF 470EXPECT=<<EOF 471main: 472 bytes: 554889e54883ec10897dfc488975f0bf13064000e8c2ffffffb800000000c9c3 473 mask: ffffffffffffffffffffffffffffffff00000000ff00000000ffffffffffffff 474 graph: cc=1 nbbs=1 edges=0 ebbs=1 bbsum=32 475 addr: 0x0040055b 476 refs: sym.print 477 vars: b-12, b-24, r82, r78 478 types: func.main.ret=int, func.main.args=2, func.main.arg.0="int,argc", func.main.arg.1="char **,argv" 479 bbhash: 9890426532f35eb3a80fe773d887714fe27d13ea125ad7e90beab16a51b74496 480EOF 481RUN 482 483NAME=zaf zigname 484FILE=bins/elf/analysis/zigs 485CMDS=<<EOF 486aaa 487e zign.mincc = 0 488zs zigs 489zaf main foobar 490z 491EOF 492EXPECT=<<EOF 493foobar: 494 bytes: 554889e54883ec10897dfc488975f0bf13064000e8c2ffffffb800000000c9c3 495 mask: ffffffffffffffffffffffffffffffff00000000ff00000000ffffffffffffff 496 graph: cc=1 nbbs=1 edges=0 ebbs=1 bbsum=32 497 addr: 0x0040055b 498 realname: main 499 refs: sym.print 500 vars: b-12, b-24, r82, r78 501 types: func.main.ret=int, func.main.args=2, func.main.arg.0="int,argc", func.main.arg.1="char **,argv" 502 bbhash: 9890426532f35eb3a80fe773d887714fe27d13ea125ad7e90beab16a51b74496 503EOF 504RUN 505 506NAME=zaf zigname (root zignspace) 507FILE=bins/elf/analysis/zigs 508CMDS=<<EOF 509aaa 510e zign.mincc = 0 511zaf main foobar 512z 513EOF 514EXPECT=<<EOF 515foobar: 516 bytes: 554889e54883ec10897dfc488975f0bf13064000e8c2ffffffb800000000c9c3 517 mask: ffffffffffffffffffffffffffffffff00000000ff00000000ffffffffffffff 518 graph: cc=1 nbbs=1 edges=0 ebbs=1 bbsum=32 519 addr: 0x0040055b 520 realname: main 521 refs: sym.print 522 vars: b-12, b-24, r82, r78 523 types: func.main.ret=int, func.main.args=2, func.main.arg.0="int,argc", func.main.arg.1="char **,argv" 524 bbhash: 9890426532f35eb3a80fe773d887714fe27d13ea125ad7e90beab16a51b74496 525EOF 526RUN 527 528NAME=zs + zaf + z/ 529FILE=bins/elf/analysis/zigs 530CMDS=<<EOF 531aaa 532zs zigs 533zaf main 534z/ 535?v sign.bytes.zigs:main_0 536EOF 537EXPECT=<<EOF 5380x40055b 539EOF 540RUN 541 542NAME=zs + zaf zigname + z/ 543FILE=bins/elf/analysis/zigs 544CMDS=<<EOF 545aaa 546zaf main foobar 547z/ 548?v sign.bytes.foobar_0 549EOF 550EXPECT=<<EOF 5510x40055b 552EOF 553RUN 554 555NAME=zc 556FILE=bins/elf/analysis/zigs_stripped 557CMDS=<<EOF 558aa 559za sym.print b 5548....48......48......48......48....bf........b8........e8........90c9c3 560z. @@ fcn* 561?v sign.bytes.sym.print_0 562EOF 563EXPECT=<<EOF 5640x400536 565EOF 566RUN 567 568NAME=zc graph zign 569FILE=bins/elf/analysis/zigs_stripped 570CMDS=<<EOF 571aa 572za sym.print g cc=1 nbbs=1 edges=0 ebbs=1 573e zign.mincc = 0 574z. @@ fcn* 575?v sign.graph.sym.print_0 576EOF 577EXPECT=<<EOF 5780x400536 579EOF 580RUN 581 582NAME=zc graph zign with zign.mincc 583FILE=bins/elf/analysis/zigs_stripped 584CMDS=<<EOF 585aa 586za sym.print g cc=1 nbbs=1 edges=0 ebbs=1 587e zign.mincc = 0 588z. @@ fcn* 589?v sign.graph.sym.print_0 590f-* 591e zign.mincc = 10 592z. @@ fcn* 593?v sign.graph.sym.print_0 594EOF 595EXPECT=<<EOF 5960x400536 5970x0 598EOF 599RUN 600 601NAME=z/ graph zign 602FILE=bins/elf/analysis/zigs_stripped 603CMDS=<<EOF 604aa 605za sym.print_metric g cc=1 nbbs=1 edges=0 ebbs=1 606e zign.mincc = 0 607z/ 608?v sign.graph.sym.print_metric_4 609EOF 610EXPECT=<<EOF 6110x400536 612EOF 613RUN 614 615NAME=z/ bytes + graph zign 616FILE=bins/elf/analysis/zigs_stripped 617CMDS=<<EOF 618aa 619za sym.print b 5548....48......48......48......48....bf........b8........e8........90c9c3 620za sym.print g cc=1 nbbs=1 edges=0 ebbs=1 621e zign.minsz = 0 622e zign.mincc = 0 623z/ 624?v sign.bytes.sym.print_0 625?v sign.graph.sym.print_4 626EOF 627EXPECT=<<EOF 6280x400536 6290x400536 630EOF 631RUN 632 633NAME=z/ + zign.{bytes,graph} 634FILE=bins/elf/analysis/zigs_stripped 635CMDS=<<EOF 636aa 637za sym.print b 5548....48......48......48......48....bf........b8........e8........90c9c3 638za sym.print g cc=1 nbbs=1 edges=0 ebbs=1 639e zign.minsz = 0 640e zign.mincc = 0 641fs sign 642e zign.bytes = true 643e zign.graph = false 644z/ 645f~sign.bytes.sym.print? 646f~sign.graph.sym.print? 647f-* 648e zign.bytes = false 649e zign.graph = true 650z/ 651f~sign.bytes.sym.print? 652f~sign.graph.sym.print? 653EOF 654EXPECT=<<EOF 6551 6560 6570 6585 659EOF 660RUN 661 662NAME=zc + zign.{bytes,graph} 663FILE=bins/elf/analysis/zigs_stripped 664CMDS=<<EOF 665aa 666za sym.print b 5548....48......48......48......48....bf........b8........e8........90c9c3 667za sym.print g cc=1 nbbs=1 edges=0 ebbs=1 668e zign.minsz = 0 669e zign.mincc = 0 670fs sign 671e zign.bytes = true 672e zign.graph = false 673z. @ 0x400536 674f~sign.bytes.sym.print? 675f~sign.graph.sym.print? 676f-* 677e zign.bytes = false 678e zign.graph = true 679z. @ 0x400536 680f~sign.bytes.sym.print? 681f~sign.graph.sym.print? 682EOF 683EXPECT=<<EOF 6841 6850 6860 6871 688EOF 689RUN 690 691NAME=aa ; zfs libc-v7.sig 692FILE=bins/elf/analysis/pid_stripped 693CMDS=aa ; zfs bins/other/sigs/libc-v7.sig 694EXPECT=<<EOF 695Found flirt.__libc_start_main 696EOF 697RUN 698 699NAME=zfd libc-v7.sig 700FILE=bins/elf/analysis/pid_stripped 701CMDS=zfd bins/other/sigs/libc-v7.sig 702EXPECT=<<EOF 70341564155B8........4154554D89C4534889CD4D89CD4881EC900000004885C0: 704 0. 16 D2A2 0298 0000:__libc_start_main 705EOF 706RUN 707 708NAME=af ; af ; zfs libc-v7.sig - newshell 709ARGS=-ecfg.newshell=true 710FILE=bins/elf/analysis/pid_stripped 711CMDS=s 0x4e2420 ; af ; s 0x4e25c7 ; af ; zfs bins/other/sigs/libc-v7.sig ; afl ~4e2420 712EXPECT=<<EOF 713Found flirt.__libc_start_main 7140x004e2420 40 664 flirt.__libc_start_main 715EOF 716RUN 717 718NAME=af ; af ; zfs libc-v7.sig 719FILE=bins/elf/analysis/pid_stripped 720CMDS=<<EOF 721s 0x4e2420 722af 723s 0x4e25c7 724af 725zfs bins/other/sigs/libc-v7.sig 726afl~4e2420 727EOF 728EXPECT=<<EOF 729Found flirt.__libc_start_main 7300x004e2420 40 664 flirt.__libc_start_main 731EOF 732RUN 733 734NAME=aa ; zfs libc-v10.sig 735FILE=bins/elf/analysis/pid_stripped 736CMDS=aa ; zfs bins/other/sigs/libc-v10.sig 737EXPECT=<<EOF 738Found flirt.__libc_start_main 739EOF 740RUN 741 742NAME=zfd libc-v10.sig 743FILE=bins/elf/analysis/pid_stripped 744CMDS=zfd bins/other/sigs/libc-v10.sig 745EXPECT=<<EOF 74641564155B8........4154554D89C4534889CD4D89CD4881EC900000004885C0: 747 0. 16 D2A2 0298 0000:__libc_start_main 748EOF 749RUN 750 751NAME=af ; af ; zfs libc-v10.sig - newshell 752ARGS=-ecfg.newshell=true 753FILE=bins/elf/analysis/pid_stripped 754CMDS=s 0x4e2420 ; af ; s 0x4e25c7 ; af ; zfs bins/other/sigs/libc-v10.sig ; afl ~4e2420 755EXPECT=<<EOF 756Found flirt.__libc_start_main 7570x004e2420 40 664 flirt.__libc_start_main 758EOF 759RUN 760 761NAME=af ; af ; zfs libc-v10.sig 762FILE=bins/elf/analysis/pid_stripped 763CMDS=<<EOF 764s 0x4e2420 765af 766s 0x4e25c7 767af 768zfs bins/other/sigs/libc-v10.sig 769afl~4e2420 770EOF 771EXPECT=<<EOF 772Found flirt.__libc_start_main 7730x004e2420 40 664 flirt.__libc_start_main 774EOF 775RUN 776 777NAME=zfs on static glibc 778FILE=bins/elf/static-glibc-2.27 779CMDS=<<EOF 780aac 781zfs bins/other/sigs/libc6_2.27-3ubuntu1_amd64.sig~silence 782f@F:flirt 783EOF 784EXPECT=<<EOF 7850x004004d1 86 flirt.__malloc_assert.constprop.13 7860x00400527 35 flirt.__gconv_release_step.part.1 7870x00400b70 613 flirt.get_common_indeces.constprop.1 7880x00400de0 1657 flirt.__libc_start_main 7890x00401460 385 flirt.__libc_check_standard_fds 7900x004015f0 581 flirt.__libc_setup_tls 7910x00401930 339 flirt.__assert_fail_base 7920x00401a90 80 flirt.__assert_fail 7930x00401ae0 7517 flirt.__dcgettext 7940x00403840 672 flirt._nl_find_domain 7950x00403ae0 5366 flirt._nl_load_domain 7960x004054e0 601 flirt.__cxa_finalize 7970x004056b0 1488 flirt._nl_make_l10nflist 7980x00405c80 286 flirt._nl_normalize_codeset 7990x00405da0 574 flirt._nl_explode_name 8000x00405fe0 28945 flirt.__gettext_free_exp 8010x0040d100 2128 flirt.__gettextparse 8020x0040d950 256 flirt.__gettext_extract_plural 8030x0040da50 60 flirt.__hash_string 8040x0040da90 7 flirt.__umount 8050x0040dbb0 561 flirt.abort 8060x0040ddf0 1092 flirt.msort_with_tmp.part.0 8070x0040e6c0 1160 flirt.qsort 8080x0040e6d0 212 flirt.getenv 8090x0040e7b0 636 flirt.__run_exit_handlers 8100x0040ea30 32 flirt.exit 8110x0040ea50 288 flirt.__new_exitfn 8120x0040ec70 250 flirt.__cxa_atexit 8130x0040f430 542 flirt.__correctly_grouped_prefixmb 8140x0040f710 368 flirt.locked_vfxprintf 8150x0040f880 784 flirt.__fxprintf 8160x0040fe20 33103 flirt._IO_fflush 8170x00410210 429 flirt._IO_puts 8180x00410410 1898 flirt.adjust_wide_data 8190x004115d0 1182 flirt._IO_wdo_write 8200x00411f00 400 flirt._IO_vasprintf 8210x00412090 374 flirt.__libc_message.constprop.0 8220x00412210 743 flirt.__libc_message 8230x00412500 32 flirt.__libc_fatal 8240x00412520 32 flirt._IO_vtable_check 8250x00412540 164 flirt.__fgets_unlocked 8260x00415430 461 flirt.save_for_backup 8270x00415b80 720 flirt._IO_un_link 8280x00415e50 661 flirt._IO_link_in 8290x004160f0 43 flirt._IO_switch_to_main_get_area 8300x00416150 151 flirt._IO_switch_to_get_mode 8310x004161f0 74 flirt._IO_free_backup_area 8320x00416240 112 flirt.__overflow 8330x004162b0 490 flirt.__underflow 8340x004164a0 514 flirt.__uflow 8350x004166b0 93 flirt._IO_setb 8360x00416710 175 flirt._IO_doallocbuf 8370x00416830 258 flirt._IO_default_xsputn 8380x00416c30 292 flirt._IO_default_setbuf 8390x004170c0 327 flirt._IO_no_init 8400x00417550 127 flirt._IO_sputbackc 8410x00417650 64 flirt._IO_adjust_column 8420x00418090 106 flirt._IO_unsave_markers 8430x004234b0 65 flirt.__strdup 8440x0042b6b0 1022 flirt.__memcmp_sse2 8450x00447cf0 1568 flirt.handle_amd 8460x00448310 37 flirt.__cache_sysconf 8470x004491d0 80 flirt.__get_child_max 8480x004492c0 288 flirt.__libc_open64 8490x004493e0 160 flirt.__open64_nocancel 8500x00449480 153 flirt.__libc_read 8510x00449520 36 flirt.__read_nocancel 8520x00449550 153 flirt.__libc_write 8530x004495f0 44 flirt.__write_nocancel 8540x00449650 464 flirt.__libc_fcntl 8550x00449820 125 flirt.__close 8560x004498a0 42 flirt.__close_nocancel 8570x004498d0 1811 flirt.__getcwd 8580x0044a030 142 flirt.__sbrk 8590x0044a0c0 64 flirt.__getpagesize 8600x0044a100 80 flirt.__getdtablesize 8610x0044a2c0 327 flirt.trecurse 8620x0044a410 982 flirt.__tsearch 8630x0044a7f0 87 flirt.__tfind 8640x0044ae00 175 flirt.__twalk 8650x0044aeb0 435 flirt.__tdestroy 8660x0044b070 432 flirt.next_line 8670x0044b220 1168 flirt.__get_nprocs 8680x0044b6b0 224 flirt.__get_nprocs_conf 8690x0044b790 144 flirt.__get_phys_pages 8700x0044b820 144 flirt.__get_avphys_pages 8710x0044b8b0 17 flirt.__getclktck 8720x0044b8d0 82 flirt.__init_misc 8730x0044b990 64 flirt.__libc_alloca_cutoff 8740x0044b9d0 40 flirt.__lll_lock_wait_private 8750x0044ba00 28 flirt.__lll_unlock_wake_private 8760x0044ba20 86 flirt.__libc_enable_asynccancel 8770x0044ba80 89 flirt.__libc_disable_asynccancel 8780x0044baf0 32 flirt.__stack_chk_fail 8790x0044bb10 97 flirt.__fortify_fail_abort 8800x0044bb80 32 flirt.__fortify_fail 8810x0044bc30 114 flirt.__tunable_set_val 8820x0044bcb0 1533 flirt.__tunables_init 8830x0044c2b0 90 flirt.__tunable_get_val 8840x0044c310 1038 flirt._dl_aux_init 8850x0044c720 2296 flirt._dl_non_dynamic_init 8860x0044d020 69 flirt.__libc_init_secure 8870x0044de00 1296 flirt.__gconv_open 8880x0044e310 528 flirt.__gconv 8890x0044e520 89 flirt.__gconv_close 8900x0044f6c0 1168 flirt.insert_module 8910x0044fb50 1008 flirt.__gconv_get_path 8920x0044ff40 1504 flirt.__gconv_read_conf 8930x00450520 602 flirt.__gconv_get_builtin_trans 8940x00458320 18 flirt.release_libc_mem 8950x004585d0 692 flirt.new_composite_name 8960x00459170 2074 flirt._nl_find_locale 8970x00459990 1821 flirt._nl_intern_locale_data 8980x00459bd0 1488 flirt._nl_load_locale 8990x0045a1a0 94 flirt._nl_unload_locale 9000x0045a200 1312 flirt._nl_load_locale_from_archive 9010x0045a870 80 flirt.__setfpucw 9020x0045a8c0 132 flirt.__sigsetjmp 9030x0045abc0 6232 flirt._quicksort 9040x0045c620 19 flirt.__libc_secure_getenv 9050x0045ce30 10673 flirt.group_number 9060x0045f800 13172 flirt._IO_vfprintf_internal 9070x00462b80 976 flirt.hack_digit 9080x00465a50 11033 flirt.___printf_fp 9090x00468470 192 flirt.___asprintf 9100x00468530 11072 flirt._i18n_number_rewrite 9110x0046b070 13435 flirt._IO_vfwprintf 9120x0046e540 1929 flirt.__parse_one_specmb 9130x0046ecd0 2211 flirt.__parse_one_specwc 9140x0046f6d0 314 flirt._IO_fputs 9150x0046f8e0 413 flirt._IO_fwrite 9160x0046fae0 727 flirt._IO_getdelim 9170x0046fe10 349 flirt._IO_getline 9180x004700f0 320 flirt._IO_padn 9190x00470230 320 flirt._IO_wpadn 9200x00470370 637 flirt.save_for_wbackup.isra.0 9210x004706b0 109 flirt._IO_wsetb 9220x004709d0 117 flirt.__woverflow 9230x00470e40 685 flirt._IO_wdefault_xsputn 9240x00471530 155 flirt._IO_wdoallocbuf 9250x00471640 114 flirt._IO_switch_to_wget_mode 9260x004716c0 99 flirt._IO_free_wbackup_area 9270x004720c0 165 flirt.__libc_scratch_buffer_grow_preserve 9280x00472170 184 flirt.__libc_scratch_buffer_set_array_size 9290x00472230 73 flirt.__strndup 9300x00472280 451 flirt.__strerror_r 9310x00472480 102 flirt.__strtok_r 9320x00472cc0 218 flirt.__argz_create_sep 9330x00472da0 183 flirt.__argz_add_sep 9340x00473890 9 flirt.__wmemcpy 9350x00473ab0 480 flirt.__wcrtomb 9360x00473c90 806 flirt.__wcsrtombs 9370x00473fc0 32 flirt.__wcschrnul 9380x00474a40 8 flirt.time 9390x00474f90 139 flirt.__rewinddir 9400x00475020 141 flirt.__getdents 9410x004750b0 192 flirt.__fdopendir 9420x004751a0 8 flirt.__getuid 9430x004751b0 8 flirt.__geteuid 9440x004751c0 8 flirt.__getgid 9450x004751d0 8 flirt.__getegid 9460x00475450 256 flirt.__isatty 9470x00475640 63 flirt.__towctrans 9480x00475680 496 flirt.__readonly_area 9490x00475870 8192 flirt.is_trusted_path_normalize 9500x00477870 686 flirt._dl_dst_count 9510x00477b20 2717 flirt._dl_dst_substitute 9520x004785c0 735 flirt._dl_init_paths 9530x004788a0 4202 flirt._dl_map_object 9540x00479910 3696 flirt.do_lookup_x 9550x0047a780 2747 flirt._dl_lookup_symbol_x 9560x0047b240 176 flirt._dl_setup_hash 9570x0047b2f0 181 flirt._dl_add_to_namespace_list 9580x0047b3b0 783 flirt._dl_new_object 9590x0047d260 2000 flirt._dl_important_hwcaps 9600x0047da30 1446 flirt._dl_debug_vdprintf 9610x0047dfe0 138 flirt._dl_sysdep_read_whole_file 9620x0047e070 162 flirt._dl_debug_printf 9630x0047e120 162 flirt._dl_debug_printf_c 9640x0047e1d0 148 flirt._dl_dprintf 9650x0047e270 102 flirt._dl_name_match_p 9660x0047e2e0 117 flirt._dl_higher_prime_number 9670x0047e360 340 flirt._dl_strtoul 9680x0047eed0 354 flirt._dl_next_tls_modid 9690x0047f060 202 flirt._dl_allocate_tls_storage 9700x0047f540 128 flirt._dl_tls_get_addr_soft 9710x0047f5c0 240 flirt._dl_add_to_slotinfo 9720x0047f6b0 416 flirt._dl_get_origin 9730x0047f850 197 flirt._dl_scope_free 9740x00480690 48 flirt.length_mismatch 9750x004806c0 210 flirt._dl_exception_create 9760x004807a0 729 flirt._dl_exception_create_format 9770x00480a80 38 flirt._dl_exception_free 9780x00480ab0 236 flirt._dl_cache_libcmp 9790x00480ba0 2862 flirt._dl_load_cache_lookup 9800x004816d0 56 flirt._dl_unload_cache 9810x00482060 195 flirt.fatal_error 9820x00482130 80 flirt._dl_signal_exception 9830x00482180 80 flirt._dl_signal_error 9840x004821d0 208 flirt._dl_catch_exception 9850x004822a0 112 flirt._dl_catch_error 9860x00482310 162 flirt.____longjmp_chk 9870x00482370 59 flirt.__mpn_cmp 9880x004823b0 1466 flirt.__mpn_divrem 9890x00482970 259 flirt.__mpn_lshift 9900x00482a80 259 flirt.__mpn_rshift 9910x00482b90 1072 flirt.__mpn_mul 9920x00482fc0 281 flirt.__mpn_mul_1 9930x004830e0 438 flirt.__mpn_impn_mul_n_basecase 9940x004832a0 1378 flirt.__mpn_impn_mul_n 9950x00483810 431 flirt.__mpn_impn_sqr_n_basecase 9960x004839c0 1262 flirt.__mpn_impn_sqr_n 9970x00483f50 173 flirt.__mpn_sub_n 9980x004840f0 144 flirt.__mpn_extract_double 9990x00484180 185 flirt.__mpn_extract_long_double 10000x00484240 286 flirt.__mpn_extract_float128 10010x00484360 203 flirt._itoa_word 10020x00484c90 138 flirt.strerror 10030x00484d40 77 flirt.__strsep 10040x00484f50 8 flirt.__getpid 10050x00485160 416 flirt._dl_fixup 10060x00485300 544 flirt._dl_profile_fixup 10070x00485520 2 flirt._dl_call_pltexit 10080x00485530 652 flirt.add_to_global 10090x004857c0 144 flirt._dl_find_dso_for_object 10100x00485850 528 flirt._dl_open 10110x00485a60 298 flirt._dl_show_scope 10120x004863b0 4000 flirt.remove_slotinfo 10130x00487350 121 flirt._dl_close_worker 10140x004874d0 751 flirt._dl_sort_maps 10150x004877c0 416 flirt._dl_tlsdesc_resolve_rela_fixup 10160x00487960 101 flirt._dl_tlsdesc_resolve_hold_fixup 10170x004879d0 25 flirt._dl_unmap 10180x00487cf0 83 flirt._dl_addr_inside_object 10190x00487e00 235 flirt.__mpn_addmul_1 10200x004895d0 877 flirt._dl_init 10210x00489940 1806 flirt._dl_check_map_versions 10220x0048fa10 478 flirt.__dl_iterate_phdr 10230x0048fbf0 73 flirt._nl_finddomain_subfreeres 10240x0048fc40 247 flirt._nl_unload_domain 10250x00490bb0 218 flirt.free_slotinfo 1026EOF 1027RUN 1028 1029NAME=zb bad count 1030FILE=bins/elf/static-glibc-2.27 1031CMDS=<<EOF 1032s 0x00410210 1033e zign.maxsz = 32 1034af 1035za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1036za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1037zb NOTANUMBER 1038EOF 1039EXPECT=<<EOF 1040EOF 1041RUN 1042 1043NAME=zb negative count 1044FILE=bins/elf/static-glibc-2.27 1045CMDS=<<EOF 1046s 0x00410210 1047e zign.maxsz = 32 1048af 1049za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1050za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1051zb -1 1052EOF 1053EXPECT=<<EOF 1054EOF 1055RUN 1056 1057NAME=zb single exact match 1058FILE=bins/elf/static-glibc-2.27 1059CMDS=<<EOF 1060s 0x00410210 1061e zign.maxsz = 32 1062af 1063za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1064za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1065zb 1066EOF 1067EXPECT=<<EOF 10681.00000 1.00000 B 1.00000 G sym.exact 1069EOF 1070RUN 1071 1072NAME=zb match 5 by default 1073FILE=bins/elf/static-glibc-2.27 1074CMDS=<<EOF 1075s 0x00410210 1076e zign.maxsz = 32 1077af 1078za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1079za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1080za sym.second g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1081za sym.second b ff5541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1082za sym.third g cc=16 nbbs=28 edges=44 ebbs=1 bbsum=407 1083za sym.third b ffff41544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1084za sym.fourth g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=407 1085za sym.fourth b ffffff544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1086za sym.fith g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=401 1087za sym.fith b ffffffff4989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1088za sym.not_shown g cc=15 nbbs=28 edges=43 ebbs=1 bbsum=395 1089za sym.not_shown b ffffffffff89fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1090zb ~[5] 1091EOF 1092EXPECT=<<EOF 1093sym.exact 1094sym.second 1095sym.third 1096sym.fourth 1097sym.fith 1098EOF 1099RUN 1100 1101NAME=zb match 6 of 6 with 100 count 1102FILE=bins/elf/static-glibc-2.27 1103CMDS=<<EOF 1104s 0x00410210 1105e zign.maxsz = 32 1106af 1107za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1108za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1109za sym.second g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1110za sym.second b ff5541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1111za sym.third g cc=16 nbbs=28 edges=44 ebbs=1 bbsum=407 1112za sym.third b ffff41544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1113za sym.fourth g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=407 1114za sym.fourth b ffffff544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1115za sym.fith g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=401 1116za sym.fith b ffffffff4989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1117za sym.sixth g cc=15 nbbs=28 edges=43 ebbs=1 bbsum=395 1118za sym.sixth b ffffffffff89fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1119zb 100~[5] 1120EOF 1121EXPECT=<<EOF 1122sym.exact 1123sym.second 1124sym.third 1125sym.fourth 1126sym.fith 1127sym.sixth 1128EOF 1129RUN 1130 1131NAME=zb ignore masked bytes 1132FILE=bins/elf/static-glibc-2.27 1133CMDS=<<EOF 1134s 0x00410210 1135e zign.maxsz = 32 1136af 1137za sym.perf1 b 415541544989fc55534883ec08e800000000488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1138za sym.perf2 b 415541544989fc55534883ec08e8ffffffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1139zb ~[0] 1140EOF 1141EXPECT=<<EOF 11421.00000 11431.00000 1144EOF 1145RUN 1146 1147NAME=zb count 1 1148FILE=bins/elf/static-glibc-2.27 1149CMDS=<<EOF 1150s 0x00410210 1151e zign.maxsz = 32 1152af 1153za sym.right g cc=16 nbbs=28 edges=44 ebbs=1 bbsum=407 1154za sym.right b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1155za sym.wrong g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=407 1156za sym.wrong b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1157za sym.nope g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=401 1158za sym.nope b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1159za sym.bad g cc=15 nbbs=28 edges=43 ebbs=1 bbsum=395 1160za sym.bad b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1161zb 1 ~? 1162EOF 1163EXPECT=<<EOF 11641 1165EOF 1166RUN 1167 1168NAME=zb duplicate zigs match 1169FILE=bins/elf/static-glibc-2.27 1170CMDS=<<EOF 1171s 0x00410210 1172af 1173za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1174za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1175za sym.duplicate1 g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1176za sym.duplicate1 b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1177za sym.duplicate2 g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1178za sym.duplicate2 b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1179za sym.duplicate3 g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1180za sym.duplicate3 b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1181za sym.duplicate4 g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1182za sym.duplicate4 b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1183za sym.duplicate5 g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1184za sym.duplicate5 b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1185za sym.duplicate6 g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1186za sym.duplicate6 b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1187zb ~sym.duplicate? 1188EOF 1189EXPECT=<<EOF 11904 1191EOF 1192RUN 1193 1194NAME=zj producing valid types 1195FILE=bins/elf/static-glibc-2.27 1196CMDS=<<EOF 1197aaa 1198zaf fcn.00484d40 fcn.00484d40 1199zj 1200EOF 1201EXPECT=<<EOF 1202[{"name":"fcn.00484d40","bytes":"55534883ec08488b1f4885db741b4889fd4889dfe857b7f7ff4801d8803800751748c74500000000004883c4084889d85b5dc30f1f440000c600004883c001488945004883c4084889d85b5dc3","mask":"ffffffffffffffffffffffffff00ffffffffffffff00000000ffffffffffffff00ffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff","graph":{"cc":4,"nbbs":5,"edges":5,"ebbs":2,"bbsum":72},"addr":4738368,"refs":[],"xrefs":[],"vars":["r82"],"types":[{"name":"arg1","type":"int64_t"}],"hash":{"bbhash":"8ff8a5c7f84179483b764fbb18dc4c44f39da6527a0a16485c7ae519f00e687f"}}] 1203EOF 1204RUN 1205 1206NAME=x86-64 function with hole 1207FILE=bins/elf/libc.so.6 1208CMDS=<<EOF 1209s 0xec800 1210af 1211zaf 1212z* 1213EOF 1214EXPECT=<<EOF 1215zs * 1216za sym.__write b f30f1efa488d05256d0d008b0085c07517b8010000000f05483d00f0ffff7758c30f1f800000000041544989d4554889f55389fb4883ec10e823c901004c89e24889ee89df4189c0b8010000000f05483d00f0ffff77354489c74889442408e85cc90100488b4424084883c4105b5d415cc3660f1f440000488b15c1150d00f7d864890248c7c0ffffffffc3488b15ad150d00f7d864890248c7c0ffffffffebb6:ffffffffff000000000000ffffffffff00ffffffffffffffff0000000000ff00ff00000000000000ffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff0000000000ff00ffffffffffffffffff00000000ffffffffffffffffffffffffffff000000000000ff000000000000ffffffffffffffffffffffffffff000000000000ffffffffffffffffffffffffff00 1217za sym.__write g cc=6 nbbs=7 edges=7 ebbs=3 bbsum=148 1218za sym.__write o 0x000ec800 1219za sym.__write r sym.__libc_enable_asynccancel sym.__libc_disable_asynccancel 1220za sym.__write v s-32 r72 r78 r82 1221za sym.__write t func.sym.__write.args=3 func.sym.__write.arg.0="int64_t,arg1" func.sym.__write.arg.1="int64_t,arg2" func.sym.__write.arg.2="int64_t,arg3" 1222za sym.__write h 4f2d194bae72345352b26e0a36531e7d6ff6cb5d6b50b92487246507b8dafdc5 1223EOF 1224RUN 1225 1226NAME=x86-64 function with jumpback 1227FILE=bins/elf/libc.so.6 1228CMDS=<<EOF 1229s 0x8a900 1230af 1231zaf 1232z* 1233EOF 1234EXPECT=<<EOF 1235zs * 1236za sym.bcopy b f30f1efa4887fee92479f9ff:ffffffffffffffff00000000 1237za sym.bcopy g cc=1 nbbs=2 edges=1 ebbs=1 bbsum=23 1238za sym.bcopy o 0x0008a900 1239za sym.bcopy r sym..plt.sec 1240za sym.bcopy v r82 1241za sym.bcopy t func.sym.bcopy.args=1 func.sym.bcopy.arg.0="int64_t,arg1" 1242za sym.bcopy h 7549556f94a4c26907f0304da9892c797a73e6c44907dc2030389392a9df8f69 1243EOF 1244RUN 1245 1246NAME=x86-64 r_sign_fcn_bytes bounds check 1247FILE=bins/elf/libc.so.6 1248CMDS=<<EOF 1249s 0x0593a0 1250e zign.maxsz = 41 1251af 1252zaf 1253z* ~za sym._IO_printf b 1254EOF 1255EXPECT=<<EOF 1256za sym._IO_printf b f30f1efa4881ecd80000004889742428488954243048894c24384c894424404c894c244884c074370f:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 1257EOF 1258RUN 1259 1260NAME=80386 function with hole 1261FILE=bins/elf/fcn_in_test.elf 1262CMDS=<<EOF 1263s 0x1090 1264af 1265zaf 1266z* 1267EOF 1268EXPECT=<<EOF 1269zs * 1270za sym.deregister_tm_clones b e8e400000081c26b2f00008d8a180000008d821800000039c8741d8b82ecffffff85c074135589e583ec1451ffd083c410c9c38d74260090c3:ff00000000ff0000000000ffffffffffffffffffffffffffffff00ffffffffffffffffff00ffffffffffffffffffffffffffff0000000000ff 1271za sym.deregister_tm_clones g cc=4 nbbs=4 edges=4 ebbs=2 bbsum=52 1272za sym.deregister_tm_clones o 0x00001090 1273za sym.deregister_tm_clones r sym.__x86.get_pc_thunk.dx 1274za sym.deregister_tm_clones h 903d0936e77ecc1f2e91f7b2eb2476fdc06d7f2ba9501b1436468dbda5d7caaa 1275EOF 1276RUN 1277 1278NAME=80386 function with jumpback 1279FILE=bins/elf/fcn_in_test.elf 1280CMDS=<<EOF 1281s 0x1184 1282af 1283zaf 1284z* 1285EOF 1286EXPECT=<<EOF 1287zs * 1288za main b 31c075f8ebf689c05090909090c3:ffffff00ff00ffffffffffffffff 1289za main g cc=2 nbbs=4 edges=4 ebbs=1 bbsum=18 1290za main o 0x00001184 1291za main t func.main.ret=int func.main.args=3 func.main.arg.0="int,argc" func.main.arg.1="char **,argv" func.main.arg.2="char **,envp" 1292za main h a9f218a725149b64061b9064406b46abe5653b97eb0f88a3e3e0086d1532c898 1293EOF 1294RUN 1295 1296NAME=80386 r_sign_fcn_bytes bounds check 1297FILE=bins/elf/fcn_in_test.elf 1298CMDS=<<EOF 1299s 0x00001120 1300e zign.maxsz = 32 1301af 1302zaf 1303z* ~za sym.__do_global_dtors_aux b 1304EOF 1305EXPECT=<<EOF 1306za sym.__do_global_dtors_aux b f30f1efb5589e553e853ffffff81c3d32e000083ec0480bb180000000075288b:ffffffffffffffffff00000000ff0000000000ffffffffffffffffffffff00ff 1307EOF 1308RUN 1309 1310NAME=MIPS R3000 function with hole 1311FILE=bins/elf/libc.so.0 1312CMDS=<<EOF 1313s 0x00051490 1314af 1315zaf 1316z* 1317EOF 1318EXPECT=<<EOF 1319zs * 1320za sym.fpathconf b 3c1c0005279c11200399e02127bdfef8afbf0100afb100fcafb000f8afbc001004810008008088218f9980180320f809000000008fbc00102404ffff100000142403000910a000412404007f24a5ffff2ca20013104000088f83805c0005108024638d00004310218c420000005c102100400008000000008f9980180320f809000000008fbc00102404ffff240300161000002eac4300001000002c240400ff8f9980180320f809000000008fbc00100220202127a500188f998224004080210320f8098c510000044100088fbc00108e030000240200591462001c2404ffff240400ff10000019ae110000100000178fa40040100000152404100010000013000020218f9980f0022020210320f80927a500600440000c8fbc00108fa200743043f0003402800010620003240260001462000500000000100000042404000110000002240400202404ffff8fbf01008fb100fc8fb000f80080102103e0000827bd0108:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffff000000ff000000ffffffffffffffffffffffffff000000ffffffffff000000ffffffffffffffffffffffffff000000ff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ff000000ffffffffffffffffffffffffffffffffff000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff 1321za sym.fpathconf g cc=5 nbbs=8 edges=9 ebbs=2 bbsum=176 1322za sym.fpathconf o 0x00051490 1323za sym.fpathconf v s-8 s-12 s-16 s-248 r4 r5 1324za sym.fpathconf t func.sym.fpathconf.args=2 func.sym.fpathconf.arg.0="int32_t,arg1" func.sym.fpathconf.arg.1="int32_t,arg2" 1325za sym.fpathconf h 52f232c2d8158ce806cadf84ed77273fb11711dfa6cb5feb997ce03c1459be43 1326EOF 1327RUN 1328 1329NAME=MIPS R3000 function with jumpback 1330FILE=bins/elf/ld-uClibc-0.9.33.2.so 1331CMDS=<<EOF 1332s 0x2a1c 1333af 1334zaf 1335z* 1336EOF 1337EXPECT=<<EOF 1338zs * 1339za sym._dl_malloc b 3c1c0002279cc5e40399e0218f82807427bdfff88c590000afbe00041320000503a0f02103c0e8218fbe00040320000827bd000803c0e8218f99801c8fbe0004273928dc1000ff9e27bd0008:ffffffffffffffffffffffffff000000ffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffff000000ffffffff 1340za sym._dl_malloc g cc=8 nbbs=12 edges=16 ebbs=2 bbsum=396 1341za sym._dl_malloc o 0x00002a1c 1342za sym._dl_malloc r sym._dl_dprintf sym._dl_dprintf 1343za sym._dl_malloc v b16 s-4 s-12 s-16 s-20 s-8 s-24 s-32 s-80 s-76 s-28 s-36 s-40 r4 r6 r7 r5 1344za sym._dl_malloc t func.sym._dl_malloc.args=5 func.sym._dl_malloc.arg.0="int32_t,arg1" func.sym._dl_malloc.arg.1="int32_t,arg2" func.sym._dl_malloc.arg.2="int32_t,arg3" func.sym._dl_malloc.arg.3="int32_t,arg4" func.sym._dl_malloc.arg.4="int32_t,arg_10h" 1345za sym._dl_malloc h ec986971438cf486e01f14e9bc442d9f4c457854207d30fe4aa9f1ffdf892911 1346EOF 1347RUN 1348 1349NAME=MIPS R3000 r_sign_fcn_bytes bounds check 1350FILE=bins/elf/libc.so.0 1351CMDS=<<EOF 1352s 0x00051490 1353af 1354e zign.maxsz = 41 1355zaf 1356z* ~za sym.fpathconf b 1357EOF 1358EXPECT=<<EOF 1359za sym.fpathconf b 3c1c0005279c11200399e02127bdfef8afbf0100afb100fcafb000f8afbc001004810008008088218f:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffff 1360EOF 1361RUN 1362 1363NAME=PowerPC function with hole 1364FILE=bins/elf/busybox-powerpc 1365CMDS=<<EOF 1366s 0x100e2b0c 1367af 1368zaf 1369z* 1370EOF 1371EXPECT=<<EOF 1372zs * 1373za fcn.100e2b0c b 38c000014800000c38c00000480000049421ffd07c0802a63d401013bf2100147c9923787cbe2b787cda33787c7f1b7890010034480000083bff0001897f0000812aa39c5560083c7c09022e700900204082ffe82f8b002b419e00182f8b002d3b80000040be00143b800001480000083b8000003bff000157c007357c6a1b7840820044881f00003bde000a2f80003040be00288c1f00013bdefffe600000207feafb785400063e2f80007840be000c57de083c3bff00012f9e0010409d00083bc00010381efffe390000002b800022419d00943800ffff7fa0f3967c1df1d67c0000f8541b063e480000087feafb78893f00007c08e8407c88e8003bff00013809ffd061290020540b063e2b0900602b8b0009409d00143929ffa93960002840990008552b063e7f8bf000409c00384181001040a600247f8bd840409d001c4bfe70057f9cd038380000223900ffff900300004bffff987c08f1d67d0b02144bffff8c2f990000419e0008915900002f9a00007d3c00d03c007fff55290ffe6000ffff7fe90214419e001c7f88f84040bd00144bfe6fb138000022900300007fe8fb782f9c0000419e00087d0800d0800100347d034378bb210014382100307c0803a64e800020:ffffffffff0000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffff000000ffffffffffffffffff000000ffffffffff000000ffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffff000000ffffffffffffffffff000000ff000000ff000000ffffffffff000000ff000000ffffffffffffffffffffffffffffffffff000000ffffffffffffffffff000000ffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffff000000ff000000ffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1374za fcn.100e2b0c g cc=19 nbbs=35 edges=52 ebbs=1 bbsum=448 1375za fcn.100e2b0c o 0x100e2b0c 1376za fcn.100e2b0c v b0 b1 s4 r6 r7 r5 1377za fcn.100e2b0c t func.fcn.100e2b0c.args=6 func.fcn.100e2b0c.arg.0="int32_t,arg1" func.fcn.100e2b0c.arg.1="int32_t,arg2" func.fcn.100e2b0c.arg.2="int32_t,arg3" func.fcn.100e2b0c.arg.3="int32_t,arg_0h" func.fcn.100e2b0c.arg.4="int32_t,arg_1h" func.fcn.100e2b0c.arg.5="int32_t,arg_34h" 1378za fcn.100e2b0c h 3b28d8f368cb414615bda7313fc4cdc24096498e7183cc05165607770be26928 1379EOF 1380RUN 1381 1382NAME=PowerPC function with jumpback 1383FILE=bins/elf/busybox-powerpc 1384CMDS=<<EOF 1385s 0x10002d70 1386af 1387zaf 1388z* 1389EOF 1390EXPECT=<<EOF 1391zs * 1392za fcn.10002d70 b 38a0000038c000004bfffed4:ffffffffffffffffff000000 1393za fcn.10002d70 g cc=12 nbbs=19 edges=29 ebbs=1 bbsum=304 1394za fcn.10002d70 o 0x10002d70 1395za fcn.10002d70 v b-4096 s4 s-36 s0 s-4136 r5 r6 1396za fcn.10002d70 t func.fcn.10002d70.args=4 func.fcn.10002d70.arg.0="int32_t,arg1" func.fcn.10002d70.arg.1="int32_t,arg2" func.fcn.10002d70.arg.2="int32_t,arg_1030h" func.fcn.10002d70.arg.3="int32_t,arg_1034h" 1397za fcn.10002d70 h b73e65dc846183808d8e385076f9bbcd0b1dcdaa5652254fb55b3b159462a507 1398EOF 1399RUN 1400 1401NAME=PowerPC r_sign_fcn_bytes bounds check 1402FILE=bins/elf/busybox-powerpc 1403CMDS=<<EOF 1404s 0x1000016c 1405af 1406e zign.maxsz = 30 1407zaf 1408z* ~za fcn.1000016c b 1409EOF 1410EXPECT=<<EOF 1411za fcn.1000016c b 3d2000007c0802a6392900009421fff02f89000090010014419e001c3c80:ffffffffffffffffffffffffffffffffffffffffffffffffff000000ffff 1412EOF 1413RUN 1414 1415NAME=ARM function with hole 1416FILE=bins/elf/libmagic.so 1417CMDS=<<EOF 1418s 0x78ea 1419af 1420zaf 1421z* 1422EOF 1423EXPECT=<<EOF 1424zs * 1425za sym._Unwind_VRS_Get b 10b5041c042913d8081c00f072fd05031103030001200ce00220002b09d10f2a07d88240a418029a61681160181c00e0022010bd:ffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffff 1426za sym._Unwind_VRS_Get g cc=2 nbbs=4 edges=4 ebbs=1 bbsum=28 1427za sym._Unwind_VRS_Get o 0x000078ea 1428za sym._Unwind_VRS_Get r sym.__gnu_thumb1_case_uqi 1429za sym._Unwind_VRS_Get v r0 r1 1430za sym._Unwind_VRS_Get t func.sym._Unwind_VRS_Get.args=2 func.sym._Unwind_VRS_Get.arg.0="int16_t,arg1" func.sym._Unwind_VRS_Get.arg.1="int16_t,arg2" 1431za sym._Unwind_VRS_Get h 3132d0ebfa3b792867a4ffc36455e088bf3fcffc7627bd48c64bf901308463db 1432EOF 1433RUN 1434 1435NAME=ARM function with jumpback 1436FILE=bins/elf/libverifyPass.so 1437CMDS=<<EOF 1438s 0x0000183c 1439af 1440zaf 1441z* ~sym.__aeabi_unwind_cpp_pr0 b 1442EOF 1443EXPECT=<<EOF 1444za sym.__aeabi_unwind_cpp_pr0 b 0030a0e3d4feffea 1445EOF 1446RUN 1447 1448NAME=ARM r_sign_fcn_bytes bounds check 1449FILE=bins/elf/libverifyPass.so 1450CMDS=<<EOF 1451s 0x00001844 1452af 1453e zign.maxsz = 42 1454zaf 1455z* ~za fcn.00001844 b 1456EOF 1457EXPECT=<<EOF 1458za fcn.00001844 b f04f2de9a8519fe5a8319fe505508fe0033095e714d04de2000053e30040a0e1026041e20800000a0600:ffffffff0000f0ff0000f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1459EOF 1460RUN 1461 1462NAME=ARM aarch64 function with hole 1463FILE=bins/elf/switch-hello-world.elf 1464CMDS=<<EOF 1465s 0x12180 1466af 1467zaf 1468z* 1469EOF 1470EXPECT=<<EOF 1471zs * 1472za sym.memset b 200c014e0400028b5f8001f1c80300545f4000f102020054013c084ea2001836010000f981801ff8c0035fd61f2003d582001036010000b981c01fb8c0035fd6820000b4010000394200083681e01f78c0035fd60000803dc200303780009f3c620028360004803d80009e3cc0035fd60004803d000001ad80003fadc0035fd61f2003d5211c001203ec7c920000803d5f0004f12028407a80010054820003cb634000d1424001d1600001ad600082ad420001f1a8ffff5480003ead80003fadc0035fd61f2003d5e5003bd585fe2737a50c0012bf100071810200546004803d600001ad63e47a92600002ad600003ad820003cb420004d1630002911f2003d523740bd563000191420001f1a8ffff54600000ad600001ad80003ead80003fadc0035fd61f2003d5bf140071410200546004803d600001ad600002ad600003ad63e07992820003cb420004d16300029123740bd563000291420002f1a8ffff5480003cad80003dad80003ead80003fadc0035fd686008052c720c51ae50001915f0005ebc3f8ff54e60400d16500078b63400091a20003eba500268aa0000054600082ac60003fad420001f1a8ffff54e30305aa820005cb420007eba300005423740bd56300078b420007eba2ffff544200078b638000d1b6ffff17:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1473za sym.memset g cc=28 nbbs=35 edges=47 ebbs=8 bbsum=460 1474za sym.memset o 0x00012180 1475za sym.memset v r10 r6 r14 1476za sym.memset t func.sym.memset.args=3 func.sym.memset.arg.0="void *,s" func.sym.memset.arg.1="int,c" func.sym.memset.arg.2="size_t,n" 1477za sym.memset h 82e8b18bbf263f9ed0e31d6b68099efe6eb8805a429444f8aa119af00c47369c 1478EOF 1479RUN 1480 1481NAME=ARM aarch64 function with jmpback 1482FILE=bins/elf/switch-hello-world.elf 1483CMDS=<<EOF 1484s 0x131a4 1485af 1486zaf 1487z* 1488EOF 1489EXPECT=<<EOF 1490zs * 1491za sym.strnlen b c1ffffb4ecc300b202ec7c92080c40f2610300542e0400d1cefd44d34310c1a868000ccb69d800b28a000ccb8bd800b20601298a47012b8ace0500f1c80007aa005940fac0feff54c80007aa68fdffb4400000cb660000b4002000d1e70306aa002000d1e70cc0daed10c0da000c4d8b1f0001eb0090819ac0035fd62e0400d1eb0308cb1f2100f1ca0d4092cefd44d3090080924310c1a86bf17dd34a01088b2925cb9ace114a8b630009aa850009aa63d09fda84d0859adaffff17:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000f0ff0000f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1492za sym.strnlen g cc=7 nbbs=11 edges=14 ebbs=2 bbsum=196 1493za sym.strnlen o 0x000131a4 1494za sym.strnlen v r10 r6 r22 1495za sym.strnlen t func.sym.strnlen.args=3 func.sym.strnlen.arg.0="int64_t,arg1" func.sym.strnlen.arg.1="int64_t,arg2" func.sym.strnlen.arg.2="int64_t,arg5" 1496za sym.strnlen h c573e9053dfa735f51cca8aea51eda71ca46fd402d11feb4d7f8ccf1b3b46d72 1497EOF 1498RUN 1499 1500NAME=ARM aarch64 r_sign_fcn_bytes bounds check 1501FILE=bins/elf/switch-hello-world.elf 1502CMDS=<<EOF 1503s 0x00016e9c 1504e zign.maxsz = 94 1505af 1506zaf 1507z* ~za sym._vfprintf_r b 1508EOF 1509EXPECT=<<EOF 1510za sym._vfprintf_r b ff0314d1fd7b00a9fd030091f35301a9f30302aaf55b02a9f76303a9f70300aaf80303aaf96b04a9fa0301aafb7305a9e827066d6a170094000040f9e06700f989efff97e05700f9020180d2e0a3059101008052a4ecff97b70000b4e052:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1511EOF 1512RUN 1513 1514NAME=zbr bad count 1515FILE=bins/elf/static-glibc-2.27 1516CMDS=<<EOF 1517aa 1518e zign.maxsz = 32 1519za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1520za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1521zbr sym.exact NOTNUMBER 1522EOF 1523EXPECT=<<EOF 1524EOF 1525RUN 1526 1527NAME=zbr negative count 1528FILE=bins/elf/static-glibc-2.27 1529CMDS=<<EOF 1530aa 1531e zign.maxsz = 32 1532za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1533za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1534zbr sym.exact -3 1535EOF 1536EXPECT=<<EOF 1537EOF 1538RUN 1539 1540NAME=zbr zero count 1541FILE=bins/elf/static-glibc-2.27 1542CMDS=<<EOF 1543aa 1544e zign.maxsz = 32 1545za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1546za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1547zbr sym.exact 0 1548EOF 1549EXPECT=<<EOF 1550EOF 1551RUN 1552 1553NAME=zbr single match 1554FILE=bins/elf/static-glibc-2.27 1555CMDS=<<EOF 1556aa 1557e zign.maxsz = 32 1558za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1559za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1560zbr sym.exact 1~[5] 1561EOF 1562EXPECT=<<EOF 1563fcn.00410210 1564EOF 1565RUN 1566 1567NAME=zbr exact match 1568FILE=bins/elf/static-glibc-2.27 1569CMDS=<<EOF 1570aa 1571e zign.maxsz = 32 1572za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1573za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1574zbr sym.exact 1 1575EOF 1576EXPECT=<<EOF 15771.00000 1.00000 B 1.00000 G fcn.00410210 1578EOF 1579RUN 1580 1581NAME=zbr try match 5 but only 4 1582FILE=bins/elf/static-glibc-2.27 1583CMDS=<<EOF 1584aa 1585e zign.maxsz = 32 1586za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1587za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1588zbr sym.exact ~[5] 1589EOF 1590EXPECT=<<EOF 1591fcn.00410210 1592main 1593entry0 1594fcn.00400de0 1595EOF 1596RUN 1597 1598NAME=zbr match 5 by default 1599FILE=bins/elf/ls 1600CMDS=<<EOF 1601aa 1602e zign.maxsz = 32 1603za main b 41574156415541545589fd534889f34883ec58488b3e64488b04252800000048 1604za main g cc=429 nbbs=300 edges=437 ebbs=8 bbsum=6739 1605zbr main ~[5] 1606EOF 1607EXPECT=<<EOF 1608main 1609sym._obstack_newchunk 1610sym._obstack_free 1611sym._obstack_begin 1612sym._obstack_begin_1 1613EOF 1614RUN 1615 1616NAME=zbr ignore masked bytes 1617FILE=bins/elf/static-glibc-2.27 1618CMDS=<<EOF 1619aa 1620e zign.maxsz = 32 1621za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1622za sym.exact b 415541544989fc55534883ec08e8aaaaaaaa488baaaaaaaaaa4889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1623zbr sym.exact 1 1624EOF 1625EXPECT=<<EOF 16261.00000 1.00000 B 1.00000 G fcn.00410210 1627EOF 1628RUN 1629 1630NAME=zb zign.threshold 1631FILE=bins/elf/static-glibc-2.27 1632CMDS=<<EOF 1633s 0x00410210 1634e zign.maxsz = 32 1635af 1636za sym.1 g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1637za sym.1 b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1638za sym.2 g cc=16 nbbs=25 edges=40 ebbs=1 bbsum=377 1639za sym.2 b 41544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1640za sym.3 g cc=14 nbbs=21 edges=35 ebbs=1 bbsum=347 1641za sym.3 b fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffff00000000ff000000000000ffffffffffffff 1642za sym.4 g cc=12 nbbs=17 edges=30 ebbs=1 bbsum=307 1643za sym.4 b 4883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffff00000000ff000000000000ffffffffffffff 1644za sym.5 g cc=10 nbbs=14 edges=22 ebbs=1 bbsum=284 1645za sym.5 b 08e89e02ffff488b2d77952a004889c38b450048:ffff00000000ff000000000000ffffffffffffff 1646e zign.threshold = .99 1647zb ~[5] 1648e zign.threshold = .9 1649zb ~[5] 1650e zign.threshold = .8 1651zb ~[5] 1652e zign.threshold = .7 1653zb ~[5] 1654EOF 1655EXPECT=<<EOF 1656sym.1 1657sym.1 1658sym.2 1659sym.1 1660sym.2 1661sym.3 1662sym.1 1663sym.2 1664sym.3 1665sym.4 1666EOF 1667RUN 1668 1669NAME=zbr zign.threshold 1670FILE=bins/elf/ls 1671CMDS=<<EOF 1672aa 1673e zign.maxsz = 32 1674za main b 41574156415541545589fd534889f34883ec58488b3e64488b04252800000048 1675za main g cc=429 nbbs=300 edges=437 ebbs=8 bbsum=6739 1676e zign.threshold = 1.0 1677zbr main~[5] 1678e zign.threshold = 0.5 1679zbr main~[5] 1680e zign.threshold = 0.3 1681zbr main~[5] 1682e zign.threshold = 0.12 1683zbr main 30~[5] 1684EOF 1685EXPECT=<<EOF 1686main 1687main 1688main 1689main 1690sym._obstack_newchunk 1691EOF 1692RUN 1693 1694NAME=zbr invalid threshold 1695FILE=bins/elf/ls 1696CMDS=<<EOF 1697aa 1698e zign.maxsz = 32 1699e zign.threshold = 99.0 1700za main b 41574156415541545589fd534889f34883ec58488b3e64488b04252800000048 1701za main g cc=429 nbbs=300 edges=437 ebbs=8 bbsum=6739 1702zbr main ~[5] 1703EOF 1704EXPECT=<<EOF 1705main 1706sym._obstack_newchunk 1707sym._obstack_free 1708sym._obstack_begin 1709sym._obstack_begin_1 1710EOF 1711RUN 1712 1713NAME=zb invalid threshold 1714FILE=bins/elf/static-glibc-2.27 1715CMDS=<<EOF 1716s 0x00410210 1717e zign.threshold = 99.0 1718e zign.maxsz = 32 1719af 1720za sym.exact g cc=17 nbbs=29 edges=44 ebbs=1 bbsum=407 1721za sym.exact b 415541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1722za sym.second g cc=16 nbbs=29 edges=44 ebbs=1 bbsum=407 1723za sym.second b ff5541544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1724za sym.third g cc=16 nbbs=28 edges=44 ebbs=1 bbsum=407 1725za sym.third b ffff41544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1726za sym.fourth g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=407 1727za sym.fourth b ffffff544989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1728za sym.fith g cc=16 nbbs=28 edges=43 ebbs=1 bbsum=401 1729za sym.fith b ffffffff4989fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1730za sym.not_shown g cc=15 nbbs=28 edges=43 ebbs=1 bbsum=395 1731za sym.not_shown b ffffffffff89fc55534883ec08e89e02ffff488b2d77952a004889c38b450048:ffffffffffffffffffffffffffff00000000ff000000000000ffffffffffffff 1732zb ~[5] 1733EOF 1734EXPECT=<<EOF 1735sym.exact 1736sym.second 1737sym.third 1738sym.fourth 1739sym.fith 1740EOF 1741RUN 1742 1743NAME=manually add signatures 1744FILE=- 1745CMDS=<<EOF 1746zs * 1747za main b 41574156415541544189fc554889f5534883ec48488b3e64488b042528000000488944243831c067e8b3f40000488d35b6570100bf06000000ff1531ee0100488d3500590100488d3dc4580100ff1565ec0100488d3db7580100ff1538ec0100488d3d499e0000c705e7f001000200000067e899320100c6059a0102000148b80000000000000080488905410202008b05abf00100c705d10002000000000048c705360202000000000048c70523020200ffffffffc6057c0102000083f8020f849c0e000083f8030f85da010000c705c001020000000000be0700000031ff67e81b0a0100c605a301020000488d3d65580100c7059701020000000000c7058901020000000000c6057f01020000c6057701020000c7055501020000000000c6053601020000c7052801020001000000c6051f01020000c6051701020000c705080102000000000048c705f50002000000000048c705e200020000000000c6056001020000ff1575ea01004989c54885c07438b904000000488d15618a0100488d35dae701004889c767e84192000085c00f880c0900004898488d15408a010031ff8b348267e85509010048c7055a00020050000000488d3da9570100ff151dea01004989c54885c074098038000f85060900004c8d6c242031c0be13540000bf010000004c89eaff156aeb010083f8ff740e0f:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff000000000000ffffffffffff0000000000ff000000000000ff000000000000ff0000000000ff000000000000ff0000000000ff000000000000ff000000000000000000ffff00000000ff000000000000ffffffffffffffffffffff000000000000ff0000000000ff000000000000000000ff00000000000000000000ff00000000000000000000ff000000000000ff0000ffff00000000ff0000ffff00000000ff000000000000000000ffffffffffffffffff00000000ff000000000000ff000000000000ff000000000000000000ff000000000000000000ff000000000000ff000000000000ff000000000000000000ff000000000000ff000000000000000000ff000000000000ff000000000000ff000000000000000000ff00000000000000000000ff00000000000000000000ff000000000000ff0000000000ffffffffffffff00ffffffffffff000000000000ff000000000000ffffffffff00000000ffffffff00000000ffffff000000000000ffffffffffffff00000000ff00000000000000000000ff000000000000ff0000000000ffffffffffffff00ffffffffff00000000ffffffffffffffff00000000ffffffffffffffffff0000000000ffffffff00ff 1748za main g cc=147 nbbs=226 edges=355 ebbs=8 bbsum=4859 1749za main o 0x000040a0 1750za main r sym._obstack_begin sym._obstack_begin sym._obstack_begin 1751za main v s-64 s-88 s-116 s-96 s-80 s-67 s-65 s-66 s-86 r110 r114 1752za main t func.main.ret=int func.main.args=3 func.main.arg.0="int,argc" func.main.arg.1="char,**,argv" func.main.arg.2="char,**,envp" 1753za main h c82a35182e4217e7d7a4662c066be72bff254100ad71e29492350dba46fad184 1754z* 1755EOF 1756EXPECT=<<EOF 1757zs * 1758za main b 41574156415541544189fc554889f5534883ec48488b3e64488b042528000000488944243831c067e8b3f40000488d35b6570100bf06000000ff1531ee0100488d3500590100488d3dc4580100ff1565ec0100488d3db7580100ff1538ec0100488d3d499e0000c705e7f001000200000067e899320100c6059a0102000148b80000000000000080488905410202008b05abf00100c705d10002000000000048c705360202000000000048c70523020200ffffffffc6057c0102000083f8020f849c0e000083f8030f85da010000c705c001020000000000be0700000031ff67e81b0a0100c605a301020000488d3d65580100c7059701020000000000c7058901020000000000c6057f01020000c6057701020000c7055501020000000000c6053601020000c7052801020001000000c6051f01020000c6051701020000c705080102000000000048c705f50002000000000048c705e200020000000000c6056001020000ff1575ea01004989c54885c07438b904000000488d15618a0100488d35dae701004889c767e84192000085c00f880c0900004898488d15408a010031ff8b348267e85509010048c7055a00020050000000488d3da9570100ff151dea01004989c54885c074098038000f85060900004c8d6c242031c0be13540000bf010000004c89eaff156aeb010083f8ff740e0f:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff000000000000ffffffffffff0000000000ff000000000000ff000000000000ff0000000000ff000000000000ff0000000000ff000000000000ff000000000000000000ffff00000000ff000000000000ffffffffffffffffffffff000000000000ff0000000000ff000000000000000000ff00000000000000000000ff00000000000000000000ff000000000000ff0000ffff00000000ff0000ffff00000000ff000000000000000000ffffffffffffffffff00000000ff000000000000ff000000000000ff000000000000000000ff000000000000000000ff000000000000ff000000000000ff000000000000000000ff000000000000ff000000000000000000ff000000000000ff000000000000ff000000000000000000ff00000000000000000000ff00000000000000000000ff000000000000ff0000000000ffffffffffffff00ffffffffffff000000000000ff000000000000ffffffffff00000000ffffffff00000000ffffff000000000000ffffffffffffff00000000ff00000000000000000000ff000000000000ff0000000000ffffffffffffff00ffffffffff00000000ffffffffffffffff00000000ffffffffffffffffff0000000000ffffffff00ff 1759za main g cc=147 nbbs=226 edges=355 ebbs=8 bbsum=4859 1760za main o 0x000040a0 1761za main r sym._obstack_begin sym._obstack_begin sym._obstack_begin 1762za main v s-64 s-88 s-116 s-96 s-80 s-67 s-65 s-66 s-86 r110 r114 1763za main t func.main.ret=int func.main.args=3 func.main.arg.0="int,argc" func.main.arg.1="char,**,argv" func.main.arg.2="char,**,envp" 1764za main h c82a35182e4217e7d7a4662c066be72bff254100ad71e29492350dba46fad184 1765EOF 1766RUN 1767 1768NAME=add types and function name on sig match 1769FILE=bins/elf/ls 1770CMDS=<<EOF 1771zs * 1772za main o 0x00004070 1773za main t func.sym.new_function_name.ret=int func.sym.new_function_name.args=2 func.sym.new_function_name.arg.0="int,NEWARGC" func.sym.new_function_name.arg.1="char **,NEWARGV" 1774za main n sym.new_function_name 1775s main 1776af 1777e zign.offset = true 1778z. 1779afs 1780afn 1781EOF 1782EXPECT=<<EOF 1783int sym.new_function_name (int NEWARGC, char **NEWARGV); 1784sym.new_function_name 1785EOF 1786RUN 1787