
1940年上海,丁一和顾仰山,一个是龙套演员,为生计做眼盲密码专家李约瑟的替身;一个是军统特工,将李约瑟误杀后,雇佣丁一继续冒充他,自己则扮作“助手”。他们在潮声剧团老板冼碧云的帮助下,潜伏进日军情报机构,破坏日军密码系统及研发更新。身份背景完全不同的二人,历经重重考验后,结成生死之交。而前行路上的不同立场,让这对兄弟即将面临重大的人生考验……

1940年上海,盲人密码学专家“李约瑟”正在为日本人讲解密码算法,学员近藤三郎指出其破绽,上级武田荣昭也对其产生怀疑。回到酒店,原来刚刚的“李约瑟”是由龙套演员丁一假扮的。神秘来客顾仰山打晕李约瑟正要强行带走,却遇到返回来讨薪的丁一。武田荣昭一行人突然找上门,丁一只能扮演李约瑟,将真正的李约瑟塞进行李箱,两人脱身离开逃至潮声剧团。效力于军统的顾仰山劝说李约瑟放弃为日军研制密码,谁知李约瑟一心只想报复顾仰山,争执时被剧团老板冼碧云发现,李约瑟饮弹自尽。此时日本人赶来包围了剧团,冼碧云万分冷静,让丁一、顾仰山带着李约瑟的尸体藏身道具假树里,自己则出面与武田荣昭周旋。

冼碧云展示她在公共租界工部局的人脉,让武田荣昭不敢轻举妄动。李约瑟尸体的血顺着道具流了出来,剧团演员急中生智临场改戏,挽救了局面。顾仰山将计就计办理假身份查理·顾,以防日本人查验,并劝说丁一继续扮演“李约瑟”。冼碧云用调虎离山计处理了尸体。因被梅机关盯上,冼碧云决定将丁一送回老家。顾仰山找军统代理站长曹元忠商议计划,李约瑟设计的新密码系统短时间内很难被破译,如今李约瑟已死,只能让丁一继续扮演李约瑟,说服武田荣昭相信这套密码已经泄露不再安全,从而让日军主动换掉这套密码。重庆特派员罗瀚不认同,曹元忠却觉得这是一个稳赚不赔的计划。

顾仰山买下公共租界最大的剧院美心剧院,带着地契再次登门感谢冼碧云,并希望洗碧云交出丁一,冼碧云不为所动。冼碧云火速联络上海中共地下党员老枭,希望得到组织的帮助救出丁一。顾仰山派人劫持了送丁一回家的车,将他直接绑到美心剧院,极力劝他继续扮演李约瑟,丁一拒绝合作。日军空袭丁一的家乡白马湖,顾仰山告诉丁一只有换掉敌人的战讯密码才有机会救母亲救家乡,丁一最终答应继续扮演李约瑟。顾仰山向丁一讲解密码原理。“李约瑟”失踪后,日本人开始对他产生怀疑。近藤三郎细数李约瑟的种种反常之处,开始怀疑眼疾也只是他的借口,觉得他还藏着不为人知的秘密。

顾仰山告诉丁一,要让武田荣昭相信李约瑟的这套密码已经被泄露,需要更换新密码。丁一记忆力过人,将下次去梅机关上课的题目全部背了下来。冼碧云传来消息,晚上会参加威廉董事夫人的酒会,并透露武田荣昭查到“李约瑟”的车停在威廉公馆。为了打消日本人的怀疑,顾仰山在有限的时间里教丁一西装知识、西餐礼仪,没想到丁一不胜酒力,在酒会前就喝醉了。两个日本人跟着卫生署副署长的女儿孟洁进入舞会。近藤三郎故意接近丁一,想尽办法试探,质疑他根本不是盲人。丁一想起顾仰山告诉他的高定西装知识,凭借超群的记忆和精湛的演技,完美化解危机,反而让近藤羞愤不已。

闹剧结束,丁一被请上了武田荣昭的车。武田荣昭逼问丁一,以退为进当面打死了近藤三郎,称明日将设宴给他赔罪,希望双方能继续合作。顾仰山计划让丁一在宴会上说服武田荣昭,用李约瑟密码向日军空军153部队发送一条密电,只要对应作战的国军405营挂起空袭警报,就证明李约瑟密码已经泄露,不再安全。顾仰山请曹元忠帮忙给国军发消息配合,曹元忠假意答应,暗中推诿。曹元忠一直没有回信,为了防止丁一身份暴露,顾仰山决定自己想办法联络国军,丁一负责拖住武田荣昭。顾家的下人老顾看出了丁一的犹豫,将他带到了顾家的灵堂,当中摆放的是顾仰山妹妹顾冰卿的遗像。

丁一选择相信顾仰山,前往潮声剧团寻求帮助。洗碧云计划让剧团演员龙二到李约瑟套房内拿一张照片当保命符。顾仰山联系不上曹元忠,急忙找到罗瀚,希望借用他与重庆秘密联络的电台联系405营。潮声剧团众人按照计划拖延武田荣昭,龙二拿到照片后误放在了女厕花盆下。武田荣昭邀请的女明星小春兰,当日碰巧撞见丁一假扮的李约瑟出现在潮声剧团。为了不暴露身份,丁一将自己和冼碧云初识的经历编成了李约瑟的。此时武田荣昭偷偷派人请来冼碧云,试探两人对于初识的口风是否一致,洗碧云默契配合。老顾用特质红酒标签向冼碧云传递照片位置,冼碧云惊险拿到照片。此时顾仰山赶到,假意送来“李约瑟”去香港的船票。

丁一告诉武田荣昭,他得知密码已经被泄露所以决定离开。武田荣昭不肯相信,欲将在场的人押回梅机关审问。丁一拿出照片,武田荣昭认出照片上的人是东园寺大公。武田荣昭怀疑照片真假,丁一借机让武田荣昭发送空袭密电测试密码是否泄露,武田荣昭拒绝。此时扮作服务员的老顾突然暴起,刺杀丁一,顾仰山假装制服老顾,助他逃跑,不料老顾被日本人枪杀而亡。武田荣昭被告知中日都发送了空袭警报,证明密码已泄露。回到住所,顾仰山心痛不已,解释事情原委。武田荣昭向梅机关首脑佐佐木谢罪,得到将功补过的机会,他利用军统叛徒梁景元及其夫人叶殷去调查冼碧云。冼碧云组织剧团撤离,被叶殷骗走,巡捕房突袭上门搜查,老吴趁乱送红玉前往昆山报信,请求组织支援。

曹元忠因破译李约瑟密码有功,晋升为上海站站长,负责李约瑟计划又名“剑刺行动”。丁一见巡捕房搜查并关押潮声剧团众人,找武田荣昭理论。武田荣昭故意不理会,只让手下小林转告本周宫本御医就会到达,为“李约瑟”的眼疾会诊,借此拖延不让其离开。叶殷套问冼碧云密码泄露的真相,并拉拢她投靠日方。冼碧云回到剧团发现已被查封,方知中计。顾仰山向军统请求支援送走丁一,并告诉曹元忠日本眼科专家即将抵沪,继续执行计划丁一身份会暴露。未料曹元忠竟想用药剂毒瞎丁一。丁一翻窗逃跑,顾仰山只得伪造“李约瑟”遭锄奸队追杀解释其失踪。日本人搜查潮声剧团物品时发现共产党的踪迹,下令通缉朱红玉。顾仰山去潮声剧团寻找丁一下落。

冼碧云告诉顾仰山线索,朱红玉有个发小大顺。此时丁一也找到了同乡大顺打听朱红玉下落。谁知大顺看到通缉令起了歹意,将前来投靠的朱红玉迷晕,并用同样的伎俩迷晕丁一,将二人藏在阁楼。二人醒来准备逃跑,正好撞上大顺带日本宪兵前来抓人。朱红玉牺牲自己与日本人同归于尽,让丁一逃脱。丁一与大顺争执扭打,紧要关头顾仰山赶来打死了大顺。冼碧云参加日本人举办的舞会,武田荣昭假称朱红玉已经被捕,并且承认自己共产党的身份。剧团编剧赵夫假意叛变提供口供,实际是像冼碧云传递朱红玉已死的消息。冼碧云故意透露朱红玉的上线是“阮青”。冼碧云通过了考验,见到了武田荣昭的上级佐佐木。佐佐木假意邀请冼碧云出演东亚文化联合会的新电影。

佐佐木擅自向媒体宣布冼碧云成为中日亲善大使,并出演亲日电影。佐佐木试探冼碧云密码到底是如何泄露的,冼碧云写下了武田荣昭的名字,将佐佐木怀疑的目标引向武田荣昭。武田荣昭没有履行承诺替梁景元在新政府谋职。冼碧云暗示叶殷,只有赶走武田荣昭,梁景元才能在新政府谋到差事。顾仰山联系私船准备将丁一送至香港,巡捕房探长李伯垚追至码头。丁一不肯独自离开,顾仰山情急之下说出为了让丁一入局编造白马湖被包围的真相,以逼迫他离开。丁一跳船游回码头。顾仰山心生一计与李伯垚谈判,让其证明李约瑟是被锄奸队抓走,这样便可从中获得好处。因冼碧云答应出演电影,潮声剧团众人被释放。为了不再牵累剧团众人,冼碧云狠心痛骂众人一番,背负骂名,解散自己经营多年的剧团。

看着自己一手建立起来的剧团解散,冼碧云心痛难当。李伯垚按照顾仰山的计划,让“李约瑟”与日本人“重归于好”,丁一和顾仰山被送进了日本陆军医院养伤。丁一要留下为朱红玉报仇,冼碧云不同意。碰巧东园寺大公脑溢血发作昏迷未醒,丁一的“大公义子”谎言暂时无人戳穿。冼碧云派人制造鸡瘟拖延了宫本御医的到来,在此之前欲将丁一送走。佐佐木提醒武田荣昭,要趁东园寺大公醒之前尽快调查。小林来通知丁一检查延期时无意说出海军已介入调查此事,顾仰山察觉其中异常。日本海军与陆军矛盾很深,不可能为了陆军请的专家特地放行。果然,武田荣昭找到他身在海军的兄长,不仅提前将医生放行,还拿到了李约瑟在英国的病历。

冼碧云向顾仰山介绍万国商团副司令弗兰克,被武田荣昭手下跟踪拍照。日本人准备为丁一做脑血管造影手术进行检查。上海唯一掌握这项技术的专家施瓦兹医生的助手,正好是顾仰山的青梅竹马孟洁,顾仰山请求她帮忙。丁一拿着罗瀚给他的毒药想要毒瞎自己,被顾仰山发现及时阻止。术前检查时,孟洁暗中相助造成丁一高血压的假象,让丁一暂时免于造影检查。孟洁还说大剂量服用扑尔敏造成的症状与视神经受压迫症状很像,足够应付眼科医生检查。武田荣昭私自找海军帮忙,佐佐木不知情,丁一借机向佐佐木告密。丁一故意吃虾引起过敏,让医生开出大量扑尔敏。冼碧云将平安符放进丁一口袋,特地让小林看到。根据平安符上的微缩地图和商船编号,武田荣昭断定是“李约瑟”通过冼碧云向英国人出卖了密码,准备坐万国商团的船逃走。

顾仰山在药房制造起火混乱,丁一趁乱逃至太平间。武田荣昭一路跟踪,等他们上船后进行拦截,混乱中“李约瑟”中枪掉下海,“查理”也跟着跳海。武田荣昭找佐佐木邀功,称李约瑟畏罪潜逃已被自己击毙,下一秒丁一就出现在佐佐木面前。武田荣昭拿出之前的照片串联证据,证明李约瑟和冼碧云等人合谋串通英国人泄露密码。冼碧云解释和弗兰克见面是谈亲日电影的发行分成,有佐佐木的授意。此时,查理提着一箱威士忌出现,解释李约瑟酒瘾大,微缩地图上传递的盲文信息是“酒今晚验货”。原来是罗瀚协助上演“障眼法”之计,协助丁一逃脱。佐佐木坚持让宫本御医替“李约瑟”检查眼睛,丁一只好大量服用扑尔敏,但两小时内必须进行洗胃,否则会造成永久性损伤。

丁一表现出的症状顺利通过了眼科检查,孟洁等人帮丁一催吐洗胃排出过量药剂。由于李约瑟的身份漏洞太多,冼碧云和顾仰山准备将丁一送到香港躲避。丁一口头答应,却瞒着二人独自约见武田荣昭,趁其不备手刃武田荣昭,替朱红玉和老顾报了仇。顾仰山替丁一善后,将现场伪造成武田荣昭畏罪自杀的假象。佐佐木聘请“李约瑟”为密码研究所副所长。梁景元炸毁军统上海站面粉厂作为投名状,换来密码研究所所长一职,并强硬要求丁一去三阳里报道。冼碧云接到组织上的任务,因她和梁景元妻子叶殷有关系往来,可以借机摸清研究所内人员的身份信息,并寻找潜伏在密码研究所中的同志“白夜”。

顾仰山着急将丁一送走,丁一却坚持留下来。丁一和顾仰山去瑜音阁与罗瀚接头,顾仰山告诉罗瀚,梁景元是军统叛徒,炸毁了上海站。罗瀚主动请缨留下做顾仰山的联络员。丁一前往潮声剧团,告诉冼碧云自己要留下抗日。丁一提出自己与冼碧云假订婚的办法,这样更方便冼碧云进出研究所,不用求叶殷。密码研究所的庆祝酒会上,梁景元向“李约瑟”介绍密码研究所的专家沈万青和易修远,并对“李约瑟”主仆颇多试探,都被二人机智化解。冼碧云拍电影时在片场遭到爱国学生泼油漆,正好借故辞演躲进三阳里。

宴席上,冼碧云当众宣布自己已经答应了“李约瑟”的求婚。顾仰山对冼碧云不告而来非常不满,觉得她是在利用丁一。宴会结束后,梁景元发现冼碧云自己提着行李前往住所,言语间打探冼碧云来三阳里的真实目的。梁景元让密码专家限时七天内破译军统的“红桃密码”。易修远为了表功,故意将破译时间缩短到了三天。顾仰山坚守原则,决定冒险给罗瀚传递消息。罗瀚恳求曹元忠等他与顾仰山取得联络后再发报,曹元忠无动于衷。为传递情报,丁一假装头疾病发作要求出去看病,梁景元不肯放他们出去。顾仰山提出折中方案,让孟洁医生来替“李约瑟”看病。

孟洁来到三阳里与众人一起应付梁景元。李伯垚也来到三阳里与叶殷谈走私生意。临走前,李伯垚将一包烟塞进顾仰山手里,梁景元警惕地拿来检查,却并没有检查出什么异常。顾仰山趁机偷偷将情报塞进李伯垚口袋,带出三阳里。顾仰山从香烟纸中破译了信息,猜到是“以桃为饵惑敌”。李伯垚拿到顾仰山塞的纸条情报,狮子大开口,又向罗瀚索要每个月加三根金条。顾仰山交给丁一已经破解出的红桃密码本,让他记住全部内容。第二天晚上,丁一来到密码所告诉所有人自己已经破译成功。“李约瑟”提供了新的破解思路,根据破译出的最新密文显示,军统今晚会暗杀新政府要员陈耀祖。

梁景元在陈耀祖演讲处排查出炸弹,验证了“李约瑟”的破译结果无误,丁一顺利通过考验。顾仰山发现梁景元表面对“李约瑟”恭敬,实际上架空了他的权力。。冼碧云住进三阳里,引起了罗瀚的顾虑。老枭带来新任务给冼碧云,断线的同志“白夜”主动寻求接头,让明日下午三点证券交易所各自携玉兰相认。谁知接头方式已被佐佐木破解,他派梁景元带入去证券交易所搜捕共产党。冼碧云携带玉兰花前来接头,发现垃圾桶里有一只被丢弃的白玉兰,掉头要走。梁景元立刻派人封锁,并派出警犬嗅闻谁身上有玉兰花的香味。千钧一发之际,丁一赶到替冼碧云解围。

冼碧云感谢丁一帮她解围,但除此之外无可奉告。顾仰山向罗瀚传递重要消息,易修远正在破译对国民党军及其重要的西戈密码。老枭为冼碧云带来了新的线索,“白夜”除了为东北伪军工作,还患有严重的胃病,也告知她组织已经同意让丁一加入共产党。冼碧云让丁一留意研究所里谁患有胃病。为了找到和“白夜”接头的人,梁景元突击调查白天离开密码研究所的人,顾仰山也被询问质疑。叶殷向冼碧云透露,易处长的爱女易爱达也去了证券交易所。冼碧云借机试探易爱达。与此同时,梁景元也得知了“白夜”患有胃病,特意嘱咐叶殷组织所内体检,筛查哪些人有胃病。

丁一偶然听到易爱达剧烈呕吐,试探询问其是否有胃病。顾仰山发现沈万青的钢笔似曾相识,心生疑惑试探未果。罗瀚告知顾仰山,易修远叛变时带走了西戈密码的部分设计稿。丁一向冼碧云汇报,据自己观察易爱达确实有胃病。顾仰山以停止调查冼碧云的身份作为交换,请求她帮忙从叶殷那里偷密码研究所的钥匙。冼碧云约叶殷做头发,趁机倒模了一份钥匙交给顾仰山。体检时,冼碧云发现易爱达偷偷替换了体检单。丁一则发现沈万青在医生检查时毫无痛感反而呼呼大睡,以此怀疑易爱达就是“白夜”。顾仰山潜入密码所查探,不料发现沈万青似乎已破解了西戈密码,却一直在绕弯拖延进度,他将此消息告知了罗瀚。