C 编译裂土器插件时的未定义引用

C 编译裂土器插件时的未定义引用,c,compiler-errors,C,Compiler Errors,我下载了存储库 获取此链接:已在src目录中创建了一些文件: 它是feal8.c,feal8.h,syb-prop\u REPROP.c,syb-prop\u REPROP.h和SybasePROP\u fmt\u plug.c 我在编译时收到一个错误: [root@vkxd-laptop src]# gcc -o ../run/john -march=native DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o

我下载了存储库

获取此链接:已在src目录中创建了一些文件: 它是feal8.cfeal8.hsyb-prop\u REPROP.csyb-prop\u REPROP.hSybasePROP\u fmt\u plug.c 我在编译时收到一个错误:

    [root@vkxd-laptop src]# gcc -o ../run/john -march=native DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o trip_fmt.o timer.o md5_go.o md5_eq.o md5.o rc4.o hmacmd5.o base64.o md4.o dynamic_fmt.o dynamic_parser.o dynamic_preloads.o dynamic_utils.o rawSHA224_fmt.o rawSHA256_fmt.o rawSHA384_fmt.o rawSHA512_fmt.o hmacMD5_fmt.o hmacSHA1_fmt.o hmacSHA224_fmt.o hmacSHA256_fmt.o hmacSHA384_fmt.o hmacSHA512_fmt.o episerver_fmt.o keepass_fmt.o pwsafe_fmt.o XSHA512_fmt.o hmailserver_fmt.o dragonfly3_fmt.o dragonfly4_fmt.o drupal7_fmt.o django_fmt.o cryptsha256_fmt.o cryptsha512_fmt.o syb-prop_repro.o SybaseASE_fmt.o SybasePROP_fmt_plug.o SKEY_fmt.o ssh_fmt.o ssh2john.o pdf_fmt.o pdf2john.o pdfcrack_common.o pdfcrack_md5.o pdfparser.o pdfcrack.o pdfcrack_rc4.o unrarcmd.o unrarfilter.o unrarhlp.o unrar.o unrarppm.o unrarvm.o rar_fmt.o rar2john.o rawSHA0_fmt.o zip_fmt.o zip2john.o gladman_hmac.o gladman_pwd2key.o racf2john.o pwsafe2john.o keepass2john.o keychain2john.o wpapsk_fmt.o hccap2john.o mozilla_fmt.o KeyDBCracker.o mozilla_des.o lowpbe.o mozilla2john.o BFEgg_fmt_plug.o crc32_fmt_plug.o DMD5_fmt_plug.o DOMINOSEC_fmt_plug.o EPI_fmt_plug.o gost_fmt_plug.o gost_plug.o HDAA_fmt_plug.o IPB2_fmt_plug.o keychain_fmt_plug.o KRB4_fmt_plug.o KRB4_std_plug.o KRB5_fmt_plug.o KRB5_std_plug.o lotus5_fmt_plug.o md4_gen_fmt_plug.o mediawiki_fmt_plug.o mscash1_fmt_plug.o mscash2_fmt_plug.o MSCHAPv2_fmt_plug.o mskrb5_fmt_plug.o mssql05_fmt_plug.o mssql-old_fmt_plug.o mysql_fmt_plug.o mysqlSHA1_fmt_plug.o NETLM_fmt_plug.o NETLMv2_fmt_plug.o NETNTLM_fmt_plug.o NETNTLMv2_fmt_plug.o NETSPLITLM_fmt_plug.o NS_fmt_plug.o nsldap_fmt_plug.o nt2_fmt_plug.o NT_fmt_plug.o odf_fmt_plug.o office_fmt_plug.o oracle11_fmt_plug.o oracle_fmt_plug.o osc_fmt_plug.o phpassMD5_fmt_plug.o PHPS_fmt_plug.o pixMD5_fmt_plug.o pkzip_fmt_plug.o PO_fmt_plug.o racf_fmt_plug.o rawMD4_fmt_plug.o rawMD5_fmt_plug.o rawmd5u_fmt_plug.o rawSHA1_fmt_plug.o rawSHA1_linkedIn_fmt_plug.o salted_sha1_fmt_plug.o sapB_fmt_plug.o sapG_fmt_plug.o sha1_gen_fmt_plug.o sip_fmt_plug.o SybasePROP_fmt_plug.o vnc_fmt_plug.o wbb3_fmt_plug.o XSHA_fmt_plug.o rawSHA1_ng_fmt.o plugin.o dummy.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o mkv.o mkvlib.o fake_salts.o win32_memmap.o unicode.o unshadow.o unafs.o undrop.o unique.o c3_fmt.o x86-64.o sse-intrinsics.o -s -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto -lm -lz    -lcrypt -ldl
SybasePROP_fmt_plug.o:(.data+0x0): multiple definition of `fmt_SybasePROP'
SybasePROP_fmt_plug.o:(.data+0x0): first defined here
syb-prop_repro.o: In function `meta_keysch_repro':
syb-prop_repro.c:(.text+0x538): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0x55b): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0x5fb): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0x60b): undefined reference to `Encrypt'
syb-prop_repro.o: In function `meta_encrypt_repro':
syb-prop_repro.c:(.text+0x9cd): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0x9da): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0x9e3): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0xa6a): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0xa73): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0xafb): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0xb04): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0xb8c): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0xb95): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0xc1d): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0xc26): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0xcaf): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0xcb8): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0xd41): undefined reference to `Encrypt'
syb-prop_repro.c:(.text+0xd4a): undefined reference to `SetKey'
syb-prop_repro.c:(.text+0xdd7): undefined reference to `Encrypt'
syb-prop_repro.o: In function `feal_keysch_repro':
syb-prop_repro.c:(.text+0x1e1): undefined reference to `SetKey'
syb-prop_repro.o: In function `feal_encrypt_repro':
syb-prop_repro.c:(.text+0x1f1): undefined reference to `Encrypt'
collect2: error: ld returned 1 exit status

有人能帮我吗?

您缺少一个对象文件?此外,您可能需要查看
fmt\u SybasePROP
的定义。我认为include或path
[root@vakxden-笔记本电脑(src)#grep-r fmt_SybasePROP/SybasePROP_fmt_plug.c:extern struct fmt_main fmt_SybasePROP/SybasePROP_fmt_plug.c:struct fmt_main fmt_SybasePROP={./fmt_externs.h:extern struct fmt_main fmt_SybasePROP;/fmt_registers.h:john_register_one(&fmt_SybasePROP);

文件SybasePROP fmt_plug.c在
SetKey
Encrypt
中是什么?它们是您自己的函数?名称类似于
SetKey(3)
加密(3)
(注意:大多数命名约定在c函数中不使用大写字母)。例如SetKey:
[root@vakxden-笔记本电脑src]#grep-r SetKey../feal8.h:void SetKey(ByteType*);/feal8.c:void SetKey(ByteType*KP)。/syb-prop_repo.c:SetKey((ByteType*)key)
在其他文件中未提及:-feal8.c-feal8.h syb-prop_repo.c