攻防世界 mobile 丛林的秘密

1753240025105

先进jadx中看java代码

1753240144723

看到有个check_key

先跟进去看看

1753240176931

发现在native层
直接进so文件里面看

1753240303559

找到验证函数

根据代码分析

v6应该就是我们输入的数据

伪随机数先和aD584a68d4e213d数组比较

1753240345930

不等于的话返回1

再去和v6比较

很明显这是不会成立的

不由得怀疑这是不是假的check_key函数

我们在native层还看到了另一个函数sayHello

不妨换个思路

点进去看看

1753240739332

发现传入了一个本地网址

http://127.0.0.1:8000

再跟进JNI_OnLoad函数

这是一个so文件初始化的函数

加载so文件会优先加载这个函数

1753242167576

跟进inti_proc

1753241502779

这个函数主要是进行了服务器初始化的操作

对byte_3010这一数据进行了一系列解密处理

1753241560526

有点像smc自解密

一开始想通过动态调试解决这个代码问题

但是一直调不了

也找不到问题出在哪

1753241925175

1753242055929

又看到nullsub_函数对这个服务器发送了一个请求

把解密之后的byte_3010数据传到了服务器上

所以可以从服务器中直接读取数据

1
2
adb shell
curl http://127.0.0.1:8000

1753243196312

直接把获取的数据保存成html文件

1753243261013

发现就是安卓程序里面的那个界面

在源码里找到了这个代码

1753250626173

通过搜索得知webassembly的作用

可以通过wabt来对这些数据进行处理

这些数据其实就是wasm文件的十六进制数据

我们把这些数据放到网上去除空格和换行符

1753252784163

再新建一个txt文件

通过010把十六进制输入进去

1753252881374

再修改文件拓展名为wasm格式

或者利用代码的读写功能来创建一个wasm文件

1
2
3
hex_data = "0061736D01000000011B0560000060047F7F7F7F017F60027F7F017F60017F017F6000017F030E0D000101010101010101020304040405017001010105030100020615037F0141D089040B7F0041D089040B7F0041CC090B075706066D656D6F727902000B5F5F686561705F6261736503010A5F5F646174615F656E6403020E7365745F696E7075745F666C61670009127365745F696E7075745F666C61675F6C656E000A09636865636B5F6B6579000B0AF7510D02000B8103010D7F20012D00002204411874411875210520022D00002206411874411875210720002D0000220841187441187521094101210A4101210B024020080D00200741911A71410C72200520056C47210B0B2004200871200672210C024020032C0000220D41046A2009470D00200420066A200D6A41E20071410047210A0B200C41004721044101210E0240200741206A2005710D00200720096A20056A41E2006A200D6C410047210E0B4100210C02404101200A20046A220F200B20046A200E200A6A220A461B220B450D00200A20046A41016A2110410021044101210A200B210C03402004200C6A220C450D01200420106A2104200A411049210B200A41016A210A200B0D000B0B0240200720096A20056A200D6A417F460D00200020084118733A0000200120012D00004109733A0000200220022D00004103733A0000200320032D000041EB00733A000020002C000041F000730F0B200F200D2008714100472006410047200D4153477220094100200D6B4772726A200E6A200C6A41016A0BC603010D7F20012D00002204411874210520022D00002206411874411875210720002D0000220841187421094101210A4101210B0240024002402008450D002005411875210C2009411875210D2006450D010C020B200741D90271200441DB007341187441187547210B2005411875210C2009411875210D20060D010B4116200C41A5026A6F200D47210A0B4101210E4101210F0240024002400240024020032C00002210410E6A200D460D00200741C2026A200C71450D010C020B200420066A20106A410376410171210F200741C2026A200C710D010B2007200D6A200C6A415A47210E4101210420060D020C010B4101210420060D010B201041056A410020106B470D00201020087141004721040B410021050240200A200B6A2004200E6A460D00200F200B6A220B450D00200F200A6A210941012106200B21050340200920056A2006417F6A6C20056A2205450D012006411049210B200641016A2106200B0D000B0B02402007200D6A200C6A20106A417F460D00200020084101733A0000200120012D000041DA00733A0000200220022D00004132733A0000200320032D000041D700733A000020002C000041E400730F0B200F200A6A200E6A20046A20056A41016A0BEE02010D7F20002D00002204411874411875210520012C0000210620022C00002107024002402004450D00410121080C010B200620066C410C7320074721080B20032C0000220941046A200620076A220A20096A71200573210B200620047120077241FF0171220C410047210D4101210E0240200741206A2006710D00200A20056A20096C410047210E0B4100210F02404100200720056C20096C200741CE006C200541C5006C6A7122106B200B4100200C1B200D6A2008200D6A200E200B6A2208461B220B450D00200820106A210E41012106200B210F0340200E200F6A2006417F6A4101766C200F6A220F450D012006411049210B200641016A2106200B0D000B0B0240200A20056A20096A417F460D00200020044130733A0000200120012D000041DD00733A0000200220022D000041C000733A0000200320032D000041C600733A000020002C000041E600730F0B2008200D6A20106A20092007724100472005410020096B47726A200F6A0BAF03010D7F20002D00002204411874210520022C000021064101210702400240024002402004450D00200541187521082006450D010C020B200641911A71410C7220012C0000220720076C4721072005411875210820060D010B41002105024020012C000022094169460D0020032D000041004721050B200920056B200871410047210A0C010B20012C000021094101210A0B4101210B41012105024020032C0000220C41046A2008470D00200920066A4100200C6B4721050B0240200641206A2009710D00200920066A20086A200C6C410047210B0B02400240200B200820066C200C6C2006410374200841C5006C6A71220D200B47722005200D6C200A6A200A20076A2005200B6A461B220E450D00200A20056A200D6A200B6A210F410021054101210703402005200E6A220E450D022005200F6A2105200741F000492110200741016A210720100D000C020B0B4100210E0B0240200920066A20086A200C6A417F460D0020002004412B733A0000200120012D000041C600733A0000200220022D000041D600733A0000200320032D0000413D733A000020002C000041E000730F0B200D200A6A200B6A200E6A0BE602010C7F20012D00002204411874411875210520022D00002206411874411875210720002D0000220841187441187521094101210A4101210B024020080D00200520056C410C73200741911A7147210B0B2004200871200672210C024020032C0000220D41046A2009470D00200420066A200D6A41E20071410047210A0B200C41004721044101210E02402005410020076B470D00200941E2006A200D6C410047210E0B4100210302404101200A20046A220F200B20046A200E200A6A220A461B220B450D00200A20046A41016A210C410021044101210A200B21030340200420036A2203450D012004200C6A2104200A411049210B200A41016A210A200B0D000B0B0240200720096A20056A200D6A417F460D00200020084102733A0000200120012D000041C300733A0000200220022D00004117733A000020002C0000419001730F0B200F200D20067241FF017141004720094100200D6B47726A200E6A20036A41016A0BB002010C7F41002104024020032C0000220520002C000022066C20012C0000220720022D0000220841187441187522096A220A72410047220B200B200920066C220C200C6C20056C220D4772200A20056A200571200673220C200D6C2008410047220E6A200641FF0171410047200720076C20094772200E6A200C200B6A220F461B220B450D00200F200E6A200D6A210C4100210741012109200B21040340200720046A2204450D012007200C6A21072009411049210B200941016A2109200B0D000B0B0240200A20066A20056A417F460D00200020064132733A0000200120012D000041D300733A0000200220022D0000411F733A0000200320032D00004126733A000020002C000041C500730F0B200F200E6A200D6A200520087241FF01714100472006410020056B47726A20046A0BFD02010C7F20012D00002204411874411875210520022D00002206411874411875210720002D000022084118744118752109410121024101210A024020080D00200741911A71410C72200520056C47210A0B2004200871200672210B024020032C0000220C41046A2009470D00200420066A200C6A41E2007141004721020B200B41004721044101210D0240200741206A2005710D00200720096A20056A41E2006A200C6C410047210D0B4100210B024041012004410173200D1B200220046A220E200A20046A2002200D6A461B220A450D0041024101200D1B20026A20046A210F4100210441012102200A210B03402004200B6A220B450D012004200F6A21042002411049210A200241016A2102200A0D000B0B0240200720096A20056A200C6A417F460D0020002008412A733A0000200120012D00004101733A0000200320032D00004110733A000020002C00004132730F0B200E200C2008714100472006410047200C4153477220094100200C6B4772726A200D6A200B6A41016A0BF102010C7F20012D00002204411874411875210520022D00002206411874411875210720002D0000220841187441187521094101210A4101210B024020080D00200741911A71410C72200520056C47210B0B2004200871200672210C024020032C0000220D41046A2009470D00200420066A200D6A41E20071410047210A0B200C410047210E410121040240200741206A2005710D00200720096A20056A41E2006A200D6C41004721040B4100210302404101200B200E6A220B200B2004200A6A220F461B220B450D00200F200E6A41016A210C410021044101210A200B21030340200420036A2203450D012004200C6A2104200A411049210B200A41016A210A200B0D000B0B0240200720096A20056A200D6A417F460D00200020084110733A0000200120012D0000411E733A0000200220022D000041C000733A000020002C000041C400730F0B200F200E6A200D2008714100472006410047200D4153477220094100200D6B4772726A20036A41016A0B120020014180888080006A20003A000041000B0F00410020003602C88980800041000B8002004180888080004181888080004182888080004183888080001081808080001A4184888080004185888080004186888080004187888080001082808080001A418888808000418988808000418A88808000418B888080001083808080001A418C88808000418D88808000418E88808000418F888080001084808080001A4190888080004191888080004192888080004193888080001085808080001A4194888080004195888080004196888080004197888080001086808080001A419888808000419988808000419A88808000419B888080001087808080001A419C88808000419D88808000419E88808000419F888080001088808080001A108C808080000BD43701487F41002100024041002C009E88808000220141306C41002C009F88808000220241AE016C6A41002C008188808000220341EF006C41002C008088808000220441EC006C6A41002C008288808000220541DC006C6A41002C008388808000220641C2016C6A41002C008488808000220741FC006C6A41002C008588808000220841F0016C22096A41002C008688808000220A41FE006C6A41002C008788808000220B41D1006C6A41002C008888808000220C4190016C6A41002C008988808000220D41E7006C6A41002C008A88808000220E41A1016C6A41002C008B88808000220F41326C6A41002C008C88808000221041C3006C22116A41002C008D888080002212410F6C6A41002C008E88808000221341FF006C6A41002C008F88808000221441E8016C6A41002C009088808000221541BC016C6A41002C009188808000221641136C6A41002C009288808000221741E9016C6A41002C00938880800022184199016C6A41002C009488808000221941E7016C6A41002C009588808000221A41286C6A41002C009688808000221B41F0006C6A41002C009788808000221C41EA006C6A41002C009888808000221D4187016C221E6A41002C009988808000221F41DA006C22206A41002C009A88808000222141C3006C6A41002C009B88808000222241146C6A41002C009C88808000222341F8016C22246A41002C009D888080002225412D6C6A6A41D8F815470D002001410D6C200241E5006C6A200341CE006C200441E3016C6A200541C3016C6A200641D1006C6A2007410A6C6A200841F8016C6A200A41BA016C6A200B41AB016C22266A200C4194016C6A200D41C2016C6A200E41286C22276A200F41B4016C22286A201041116C6A201241D4016C6A201341E8006C6A201441DA006C6A201541B2016C6A2016411A6C6A201741E1016C22296A201841D1016C6A2019410574222A6A201A41A9016C6A201B41DE006C6A201C419C016C6A201D419A016C222B6A201F41386C6A202141F4016C6A20224195016C6A202341F8006C6A20254183016C6A6A41BAD317470D00200141F0016C200241356C6A2003412C6C200441D3006C6A200541DF006C6A20064183016C6A2007411E6C6A200841376C6A200A412E6C6A200B41246C6A200C41C3006C222C6A200D41ED006C6A200E41C5006C6A20104103746A201241F8016C6A201341286C6A2014419A016C6A201641D6006C6A2015200F6A41FB016C6A201741F0006C6A201841096C6A201941AE016C6A201A41C5016C6A201B41266C6A201C410E6C6A201D41CA016C6A201F413C6C6A202141F5006C6A202241BC016C6A20234188016C222D6A20254191016C6A6A41AFB312470D00200120166A41EA016C200220256A41196C6A200341A2016C20044198016C6A200541F0006C6A200641396C6A200741E6006C6A200841B6016C6A200A410A6C6A200B418B016C6A200C411E6C6A200D41076C222E6A200E4191016C6A200F41FF006C6A20104194016C6A201241056C6A201341A5016C6A201441ED006C6A201541EE006C6A201741F1006C6A201841216C6A201941C0016C6A201A412D6C6A201B41C1006C6A201C41E9006C6A201D418C016C6A201F41F4006C6A202141236C6A202241306C6A2023419B016C6A6A41E58C12470D00200141D2006C222F200241F1006C6A200341BD016C200441E5006C6A200541EC016C6A200641F6006C6A2007418D016C6A20084194016C6A200A41C5016C6A200B41076C6A200D41E8006C6A200E412D6C6A200F4182016C6A201041276C6A201241A4016C6A201341D8006C6A201441F1016C6A201641EB006C6A2015200C6A41EC006C6A201741CC006C6A201841226C22306A201941D2016C6A201A411D6C6A201B419C016C6A201C41DA006C6A201D418B016C6A201F4197016C6A2021410A6C6A202241E1006C22316A202341D1016C6A2025412E6C6A6A41C28315470D00200141B3016C200220156A41C8006C6A2003410D6C200441B6016C6A200541326C6A200641E6006C6A2007419B016C22326A200841E6016C22336A200A41036C6A200B41E1016C6A200C41ED016C6A200D41A3016C6A200E41266C6A200F41B0016C6A201041F3006C6A201241E9006C6A201341CB016C6A2014411A6C6A201641EF006C6A201741E0006C6A201841F0016C6A2019418B016C22346A201A41F5006C6A201B4199016C6A201C41F8006C6A201D4197016C6A201F41196C6A202141316C6A202241DA006C6A202341E2006C6A202541076C6A6A418C9615470D002001419C016C2002413D6C6A20034196016C200441AA016C6A200741EE006C6A200841E3006C22356A200A41FF006C6A200B20066A41E5006C6A200C41CB016C6A200D41D1016C6A200F41E4006C6A201020056A41E2016C6A201241BA016C6A201341FC016C6A201441276C6A201541C1006C6A201641C3006C22366A20296A201841AE016C6A20196A201B41D6016C6A201A200E6A41BB016C6A201C41166C6A201D41CA006C22296A201F41E3006C6A20214181016C6A202241FE016C6A2023410D6C22376A202541E1006C6A6A41F6CC17470D002001419A016C200241F5006C6A200341D8006C20046A200541F6006C6A200641E8016C6A2007413C6C6A200841FC016C6A200A4185016C6A200B41B1016C6A200C41B9016C6A200D41DE016C6A200E4105746A200F41306C6A20106A201241F2016C6A201341F0016C6A201441DA016C6A201541D1006C6A201641166C6A201741C9006C6A201841AB016C6A20346A201A41C8006C6A201B41EA006C6A201C413E6C6A201D419C016C6A201F4186016C6A202141DC016C6A202241136C6A202341CD006C6A202541DE006C6A6A41FBA315470D00200141DC016C20024197016C6A200341AD016C200441BD016C6A200541296C6A200641276C6A2007411A6C6A200841E8016C6A200A41CB006C22386A200B41CB006C6A200C41DF006C6A202E6A200E41F5006C6A200F41E0006C22346A201041D3016C6A20124182016C6A201341E4016C6A2014418F016C6A201541DB006C6A201641F7016C222E6A2017412B6C6A201841FA006C6A20194183016C6A201A41346C6A201B41306C6A201C411D6C6A201D41EF006C6A201F41266C6A202141136C6A202241F2016C6A202341A2016C6A202541C6006C6A6A41D4AB13470D00200141E7016C200241DC006C6A20034188016C200441EC016C6A20054193016C6A200641E8006C22396A200741CF006C6A200841CC016C6A200A41DC016C6A200B41196C6A200C41266C6A200D41E9016C6A200E41A5016C6A200F41146C6A201041AE016C6A201241F8006C6A201341D6016C6A201441126C6A201541E9016C223A6A201641F7006C6A201741F4016C6A2018418F016C6A201941FE006C6A201A41E2016C6A201B41CD006C6A201C41216C6A201D41BD016C6A201F41056C6A20214196016C6A202241A0016C6A2023410E6C6A202541F0006C223B6A6A418CDF16470D00200141326C200241CB016C6A200341266C200441BF016C6A200541C1016C6A200641FA016C6A200741D4016C6A200841AF016C6A200A41276C6A200B41DE006C223C6A200C41B7016C6A200D41AC016C6A200E41AB016C6A200F41A3016C6A20104181016C6A201241A5016C6A20134106746A201441AA016C223D6A201541C7016C6A201741A7016C6A201941D8016C6A201820166A223E4101746A201A41FC016C223F6A201B41B8016C6A201C41BB016C6A201D41E1006C6A201F41ED006C6A202141E2006C6A20224187016C22406A202341C0016C6A202541D8006C6A6A41AE9B19470D002001412B6C200241C4016C6A200341D1006C200441CB016C6A200541FC016C6A20396A200741F8016C6A2008419C016C6A200A41C7016C6A200B412E6C6A200D41F0016C6A200E4195016C6A200F419B016C22416A201041E6006C6A201241DF006C6A201341336C6A2016413E6C6A2017413A6C22396A2014200C6A20156A41D0016C6A201841F5006C6A201941C8006C6A201A41176C6A201B41C1016C22426A201C41C1016C6A201D41E2016C6A201F41D9016C6A202141EA006C6A20224193016C6A202D6A20254104746A6A41F5941A470D00200141D0006C200241316C6A200341C5006C20044190016C6A200541E0016C6A200641EB006C6A200741E1016C6A200841D3006C222D6A200A410F6C6A200B410A6C6A200C41D6016C6A200D4198016C6A200E41186C6A200F4188016C6A201041A5016C6A201241D0016C6A201341266C6A201441C3006C22436A201541C9016C6A201641B4016C6A2017419E016C6A201841CB006C6A201941EF006C6A201A41C1006C6A201B41D3016C6A201C41DC016C6A201E6A201F41FD006C221E6A202141D8016C6A202241E9006C6A202341FA006C6A203B6A6A419CD616470D00200141CC006C20024181016C6A200341C4006C2004418F016C6A200541FF006C22446A200641336C6A200841D8006C6A200A4199016C6A200B41096C6A200C4195016C223B6A200D41EB006C6A200E41B2016C6A200F41A6016C6A201041BE016C22456A201241B1016C6A201341E3006C6A201441C7006C6A2015413F6C22466A201641E9016C6A20396A20184184016C6A201941ED006C6A201A41CB006C6A201C41DF006C22396A201B20076A4198016C6A20296A201F41C3016C22296A202141DA006C6A202241FB016C6A202341CD016C6A20254103746A6A4180B515470D002001411F6C200241E6006C6A20034192016C200441D1016C6A2005413B6C6A200641266C6A200741286C6A200841386C6A200A41B6016C6A200B41F5016C6A202C6A200D41CA016C6A200E41B1016C6A2010411A6C6A201241FE006C6A201341A1016C6A201441DF006C6A20154185016C6A201641FB006C6A201741A3016C6A2018411E6C22476A201941D8006C6A201A41DB016C6A201B41056C222C6A201C41D6006C6A201F419C016C6A201D200F6A41B7016C6A202141FD016C6A20316A2023412B6C6A20254107746A6A41C8B414470D00200141DB006C20024188016C6A200341DF016C20044192016C6A20054189016C6A200641E4016C6A200741E2016C6A2008419B016C6A200A41AA016C6A200B41DC006C6A200C41CD006C6A200D41116C6A200E41166C6A200F4107746A201041146C6A201241AB016C6A2013418E016C22316A203D6A201541C0016C6A201641316C6A201741C8016C6A201841B2016C6A2019419A016C6A201A412A6C6A202C6A201C419F016C6A201D41FB016C6A201F4198016C6A202141076C222C6A202241F7016C6A20234191016C6A202541276C6A6A41E6AE17470D00200141F9006C2002200B6A41CD016C6A200341CC016C200441A9016C6A200541F4016C6A2006411A6C6A200741CD006C6A20084186016C6A200A41DD016C6A203B6A200D412F6C6A200E6A200F41C5016C6A201041D2006C6A201241C3016C6A201341FB006C6A201441DB016C6A201541F4006C6A201641D0006C6A2017410D6C6A201841E7016C6A201941AD016C6A201A41C0016C6A201B41DC016C6A201C41E0016C6A201D41EC006C6A201F41E8006C6A202141386C6A20224198016C6A202341D4006C6A202541E2016C6A6A41C0D219470D00200141C9006C200241DF006C6A2003412D6C200441B8016C223B6A200541B0016C6A200841A1016C6A200A418E016C6A20266A200C41D7016C6A200D41D3006C6A200E41E9016C6A200F41B8016C6A201041AB016C6A201241B6016C6A201320066A41FE006C6A201441EF006C6A201520076A41F6006C6A20366A201741DC006C6A201841DB016C6A201941C6006C6A203F6A201B41C2016C6A201C41156C6A201D41F5016C6A201F41CC016C6A202141306C6A20224196016C6A202341276C6A202541D5006C6A6A41D7C618470D00200141AA016C2226200241F8006C6A200341E0016C200441306C6A200541A4016C22366A2006418A016C6A200741DC006C6A200841036C6A200A41BF016C6A203C6A200C41136C6A200D41326C6A200E41226C6A200F41A7016C6A201041CB006C6A201241C8006C6A201341EE016C6A2014410F6C6A201541EF006C6A201641D8016C6A201741D4006C6A201841286C6A20194191016C6A201A41F0006C6A201B418C016C6A201C41CC016C6A202B6A20296A202141AF016C6A202241FA016C6A202341CA016C6A202541A9016C6A6A41F8B216470D002026200241C4006C6A200541BD016C200441F0006C6A200641326C6A200741F7016C6A20096A200A41A4016C6A200B41056C6A200C418B016C6A200D41386C6A200E20036A41136C6A200F4102746A201041176C6A201341E0006C6A201441FE016C6A20466A202E6A20174195016C6A201841B7016C6A20194107746A201A4193016C6A201B41D5016C6A201C41F3016C6A201D20126A220941AC016C6A201F4190016C6A202141F6016C6A202241196C6A202341EA006C6A202541B0016C6A6A418DBF17470D002002411F6C2001201D6A41296C6A200341166C203B6A200541B7016C6A20064107746A20074195016C6A200A41E3016C6A200B41F1006C6A200C41C1006C6A200D419F016C6A200E41CA006C6A200F41AA016C6A201041BA016C6A201220086A41AE016C6A201341D3016C6A20146A2016419C016C6A201741FD016C6A201820156A41DF016C6A201941F1016C6A203F6A201B4194016C6A201C41DD006C6A201E6A2021411B6C6A20224188016C6A202341CE006C6A202541F8016C6A6A41F3F919470D00202F200241276C6A200341ED016C2004419B016C6A200541F2016C6A20074191016C6A20356A200A41EF016C6A200C41036C6A200D412B6C6A200E412E6C6A20416A201041D0016C6A201241CB006C6A201441B5016C6A201541C5016C6A201620136A418C016C6A201720066A410A6C6A201841AA016C6A2019418E016C6A201A41D4016C6A201B41BA016C6A201C411B6C6A201D200B6A41E9006C6A201F41F6006C6A202141C6016C6A202241F3016C6A20376A202541F1006C221E6A6A41C2DB16470D00200241326C2001201C6A4188016C6A200341CE016C200441CF016C6A20446A2006413A6C6A200741DB006C6A200A41076C6A200B41116C6A200C413F6C6A200D41B4016C6A20276A20346A201041CA016C6A201241B9016C6A201341C4006C6A201441C8006C6A201541F0016C6A201641246C6A2017418B016C6A201841C7016C6A201941CC006C6A201A41E5016C6A201B419F016C6A201D41DE006C6A201F41136C6A202141036C6A2023412D6C6A202220086A41D7006C6A202541066C6A6A41A59412470D00200141DA006C2002410C6C6A200341D7016C200441F3006C6A200541286C22296A200641A6016C6A200741D7006C6A202D6A200A41CA006C6A200B41CA016C6A200D4195016C6A200E41F2006C6A200F41CC006C6A201041CC016C6A201241DA016C6A2013413F6C6A201441FB006C6A201541096C6A201641AC016C6A201741266C6A2018418A016C6A201941236C6A201A41C8016C6A201B41DD016C22266A201C4190016C6A201F41EC006C6A20216A201D200C6A41EB016C6A202241F5016C6A20234199016C6A202541B8016C6A6A41F7DB16470D00200141F2006C200241246C6A200341BE016C200441FB006C6A200541376C6A200641B4016C6A200741D4006C6A200841E7016C6A200A41D1006C6A200B41F4006C6A200C413D6C6A200D41036C6A200E41DE006C6A20456A201241BB016C6A20316A2014413E6C6A201541E1016C6A201641F0016C6A201741B3016C6A20184196016C6A201941CD006C6A201B41C4016C6A201A200F6A41D5006C6A201C410C6C6A201D4190016C6A201F41FA006C6A2021411C6C6A202241E0016C6A20246A2025418F016C6A6A41A1CD16470D00200141BE016C2002200F6A41FA006C6A200341CA016C20044101746A20296A200641E0016C6A2007419A016C6A200841C1006C6A200B41F1016C6A200C410D6C6A200D41D5016C6A200E41B0016C6A2010200A6A411E6C6A2013410E6C6A201441BF016C6A201541D0006C6A201641F4006C6A201741CA006C6A201841C6006C6A202A6A201A41BD016C6A201B41CC006C6A20396A201F41E7006C6A2009419E016C6A202C6A202241C9016C6A202341CC016C6A202541DB006C6A6A41C49913470D00200141056C200241B0016C6A2003419A016C2004412A6C6A200541DF016C6A200641A5016C6A20326A200841E5006C6A20386A200B41DF006C6A200C41FD016C6A200D410E6C6A200E419E016C6A200F41C7016C6A201041EE006C6A201241D9006C6A201341CD016C6A201441CA016C6A201641A2016C6A201741C3006C6A20476A201941F3006C6A201B411B6C6A201A20156A41D3006C6A201C411F6C6A201D41F6006C6A201F41A0016C6A202141F8016C6A202241C2006C6A202341D8006C6A2025412C6C6A6A41D6F213470D00200241D4006C200120156A41FD006C6A200341A8016C200441226C6A200641A0016C6A200741F3016C6A200841296C6A200A4192016C6A200C413E6C6A200D41EB016C6A200E41B9016C6A20286A2010410A6C6A20124196016C6A2014418C016C6A201641F2006C6A201741236C6A20306A201941266C6A201A41FB006C6A201B41A3016C6A201D41056C6A201C20136A41D0016C6A201F200B6A411D6C6A202141CF016C6A202241EF006C6A202320056A41C8006C6A202541C1006C6A6A4190DF12470D002001418C016C200241C5016C6A2003410B6C200441126C6A200641AF016C6A2007412C6C6A20084107746A200A4105746A200B41E4006C6A200D41F4006C6A200E41FD016C6A200F41D5016C6A20116A20124104746A201341AB016C6A201441B2016C6A201641076C6A201741A2016C6A20184198016C6A201941CE006C6A201A41A7016C6A201B41B1016C6A201C20156A41E1006C6A201D20056A411A6C6A201F419B016C6A202141FF006C6A2022200C6A41156C6A202341F3016C6A202541BC016C6A6A41A4D613470D0020014198016C200220226A41076C6A200341EE006C2004418C016C6A20366A200641D0016C6A200741C8006C6A200841F1006C6A200A41096C6A200B412F6C6A200C41B3016C6A200D41A6016C6A200E41336C6A200F41226C6A201041DB006C6A201241B8016C6A201341D9006C6A201441A2016C6A203A6A2017419C016C6A201941F4016C6A203E41FF006C6A201A41B7016C6A20426A201C418A016C6A201D41F2016C6A20206A202141C1016C6A202341FC016C6A201E6A6A41AC9E17470D00200141C5016C200220056A41CB006C6A200341E9006C20044185016C6A20064192016C6A200741AD016C6A2008411B6C6A200A41E1006C6A200B418E016C6A200C41A4016C6A200D410F6C6A200E410A6C6A200F41B1016C6A201041EF016C6A2012418D016C6A201341BD016C6A20436A20154199016C6A201641EC006C6A201741CE016C6A201841D2016C6A201941AB016C6A203F6A201B41D4006C6A201C41F9016C6A201D41076C6A201F41A8016C6A202141E4006C6A2022411E6C6A202341C4016C22086A202541F4016C6A6A41F38018470D00200141356C200241CF006C6A200341DD016C20044193016C6A200541396C6A200641BA016C6A200741C5006C6A20336A200A41A7016C6A200B41036C6A200C41DC016C6A200D413F6C6A200F41EB016C6A2010419C016C6A20124192016C6A201341CB006C6A201441C6016C6A201541CC016C6A201641C5016C6A2017413B6C6A2018413D6C6A201941B3016C6A201A412F6C6A20266A201C41FF006C6A201D41D2016C6A202141F1016C6A201F200E6A41DA016C6A20406A20086A202541B9016C6A6A41D7A11A4621000B20000B0BD40101004180080BCC01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008301046E616D65017C0D00115F5F7761736D5F63616C6C5F63746F727301016F02026F6F03036F6F6F04046F6F6F6F05056F6F6F6F6F06066F6F6F6F6F6F07076F6F6F6F6F6F6F08086F6F6F6F6F6F6F6F090E7365745F696E7075745F666C61670A127365745F696E7075745F666C61675F6C656E0B09636865636B5F6B65790C03787878".replace(" ", "").replace("\n", "")
with open("module.wasm", "wb") as f:
f.write(bytes.fromhex(hex_data))

完成后

在下载好的wabt文件的bin文件夹中执行命令

1
./wasm2c module.wasm -o module.c

运行完会输出两个文件

1753253641132

虽然是c语言但还是有点难以分析

所以通过gcc编译web.c获得中间文件module.o

1
gcc -c module.c -o module.o

再把module.o拖进ida中进行分析

在导出表中找到了check_key

1753253992120

跟进module_o module_oo

1753254030364

发现代码差别都不大

改变的是异或的值

i32_store8是写入内存

i32_load8是读取内存

1753254264830

最后处理完的值传入w2c_module_xxx进行检验

1753254688795

1753254458032

1753254469200

1753254479431

1753254488441

剩下的图片就不截图了

根据这些约束条件解32个未知数

直接用python中的z3模块求解即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from z3 import *

# 创建整数变量 v3 到 v34
variables = [Int(f'v{i}') for i in range(3, 35)]
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34 = variables

s = Solver()

# 添加变量范围约束 (0-255)
for v in variables:
s.add(v >= 0)
s.add(v <= 255)

# 定义第一个大条件(10个方程)
s.add(45*v3+248*v4+20*v5+67*v6+90*v7+135*v8+106*v9+112*v10+40*v11+231*v12+153*v13+233*v14+19*v15+188*v16+232*v17+127*v18+15*v19+67*v20+50*v21+161*v22+103*v23+144*v24+81*v25+126*v26+240*v27+124*v28+194*v29+92*v30+108*v31+111*v32+174*v33+48*v34==359512)
s.add(131*v3+120*v4+149*v5+244*v6+56*v7+154*v8+156*v9+94*v10+169*v11+32*v12+209*v13+225*v14+26*v15+178*v16+90*v17+104*v18+212*v19+17*v20+180*v21+40*v22+194*v23+148*v24+171*v25+186*v26+248*v27+10*v28+81*v29+195*v30+227*v31+78*v32+101*v33+13*v34==387514)
s.add(145*v3+136*v4+188*v5+117*v6+60*v7+202*v8+14*v9+38*v10+197*v11+174*v12+9*v13+112*v14+251*(v21+v16)+86*v15+154*v17+40*v18+248*v19+8*v20+69*v22+109*v23+67*v24+36*v25+46*v26+55*v27+30*v28+131*v29+95*v30+83*v31+44*v32+53*v33+240*v34==301487)
s.add(155*v4+48*v5+35*v6+116*v7+140*v8+105*v9+65*v10+45*v11+192*v12+33*v13+113*v14+110*v16+109*v17+165*v18+5*v19+148*v20+127*v21+145*v22+7*v23+30*v24+139*v25+10*v26+182*v27+102*v28+57*v29+112*v30+152*v31+162*v32+25*(v3+v33)+234*(v15+v34)==296549)
s.add(46*v3+209*v4+97*v5+10*v6+151*v7+139*v8+90*v9+156*v10+29*v11+210*v12+34*v13+76*v14+108*(v24+v16)+107*v15+241*v17+88*v18+164*v19+39*v20+130*v21+45*v22+104*v23+7*v25+197*v26+148*v27+141*v28+118*v29+236*v30+101*v31+189*v32+113*v33+82*v34==344514)
s.add(7*v3+98*v4+90*v5+49*v6+25*v7+151*v8+120*v9+153*v10+117*v11+139*v12+240*v13+96*v14+111*v15+26*v17+203*v18+105*v19+115*v20+176*v21+38*v22+163*v23+237*v24+225*v25+3*v26+230*v27+155*v28+102*v29+50*v30+182*v31+13*v32+72*(v16+v33)+179*v34==346892)
s.add(97*v3+13*v4+254*v5+129*v6+99*v7+74*v8+22*v9+187*(v22+v11)+214*v10+v12+174*v13+225*v14+67*v15+65*v16+39*v17+252*v18+186*v19+226*(v30+v20)+100*v21+209*v23+203*v24+101*(v29+v25)+127*v26+99*v27+110*v28+170*v31+150*v32+61*v33+156*v34==386678)
s.add(94*v3+77*v4+19*v5+220*v6+134*v7+156*v8+62*v9+106*v10+72*v11+139*v12+171*v13+73*v14+22*v15+81*v16+218*v17+240*v18+242*v19+v20+48*v21+32*v22+222*v23+185*v24+177*v25+133*v26+252*v27+60*v28+232*v29+118*v30+v31+88*v32+117*v33+154*v34==348667)
s.add(70*v3+162*v4+242*v5+19*v6+38*v7+111*v8+29*v9+48*v10+52*v11+131*v12+122*v13+43*v14+247*v15+91*v16+143*v17+228*v18+130*v19+211*v20+96*v21+117*v22+7*v23+95*v24+75*v25+75*v26+232*v27+26*v28+39*v29+41*v30+189*v31+173*v32+151*v33+220*v34==316884)
s.add(112*v3+14*v4+160*v5+150*v6+5*v7+189*v8+33*v9+77*v10+226*v11+126*v12+143*v13+244*v14+119*v15+233*v16+18*v17+214*v18+120*v19+174*v20+20*v21+165*v22+233*v23+38*v24+25*v25+220*v26+204*v27+79*v28+104*v29+147*v30+236*v31+136*v32+92*v33+231*v34==372620)

# 定义第二个大条件(20个方程)
s.add(88*v3+192*v4+135*v5+98*v6+109*v7+97*v8+187*v9+184*v10+252*v11+2*(v15+v13)+216*v12+167*v14+199*v16+170*v17+(v18*64)+165*v19+129*v20+163*v21+171*v22+172*v23+183*v24+94*v25+39*v26+175*v27+212*v28+250*v29+193*v30+191*v31+38*v32+203*v33+50*v34==413102)
s.add(16*v3 + 136*v4 + 147*v5 + 106*v6 + 217*v7 + 226*v8 + 193*v9 + 193*v10 + 23*v11 + 72*v12 + 117*v13 + 58*v14 + 62*v15 + 208*(v16 + v24 + v17) + 51*v18 + 95*v19 + 102*v20 + 155*v21 + 149*v22 + 240*v23 + 46*v25 + 199*v26 + 156*v27 + 248*v28 + 104*v29 + 252*v30 + 203*v31 + 81*v32 + 196*v33 + 43*v34 == 428661)
s.add(112*v3 + 122*v4 + 105*v5 + 216*v6 + 125*v7 + 135*v8 + 220*v9 + 211*v10 + 65*v11 + 111*v12 + 75*v13 + 158*v14 + 180*v15 + 201*v16 + 67*v17 + 38*v18 + 208*v19 + 165*v20 + 136*v21 + 24*v22 + 152*v23 + 214*v24 + 10*v25 + 15*v26 + 83*v27 + 225*v28 + 107*v29 + 224*v30 + 144*v31 + 69*v32 + 49*v33 + 80*v34 == 371484)
s.add(8*v3 + 205*v4 + 251*v5 + 90*v6 + 195*v7 + 74*v8 + 95*v9 + 152*(v28 + v10) + 75*v11 + 109*v12 + 132*v13 + 58*v14 + 233*v15 + 63*v16 + 71*v17 + 99*v18 + 177*v19 + 190*v20 + 166*v21 + 178*v22 + 107*v23 + 149*v24 + 9*v25 + 153*v26 + 88*v27 + 51*v29 + 127*v30 + 143*v31 + 68*v32 + 129*v33 + 76*v34 == 350848)
s.add((v3 *128) + 43*v4 + 97*v5 + 253*v6 + 156*v7 + 183*(v21 + v8) + 86*v9 + 5*v10 + 219*v11 + 88*v12 + 30*v13 + 163*v14 + 123*v15 + 133*v16 + 95*v17 + 161*v18 + 126*v19 + 26*v20 + 177*v22 + 202*v23 + 67*v24 + 245*v25 + 182*v26 + 56*v27 + 40*v28 + 38*v29 + 59*v30 + 209*v31 + 146*v32 + 102*v33 + 31*v34 == 334408)
s.add(39*v3 + 145*v4 + 247*v5 + 7*v6 + 152*v7 + 251*v8 + 159*v9 + 5*v10 + 42*v11 + 154*v12 + 178*v13 + 200*v14 + 49*v15 + 192*v16 + 170*v17 + 142*v18 + 171*v19 + 20*v20 + (v21 * 128) + 22*v22 + 17*v23 + 77*v24 + 92*v25 + 170*v26 + 155*v27 + 226*v28 + 228*v29 + 137*v30 + 146*v31 + 223*v32 + 136*v33 + 91*v34 == 382822)
s.add(226*v3 + 84*v4 + 152*v5 + 56*v6 + 104*v7 + 108*v8 + 224*v9 + 220*v10 + 192*v11 + 173*v12 + 231*v13 + 13*v14 + 80*v15 + 116*v16 + 219*v17 + 123*v18 + 195*v19 + 82*v20 + 197*v21 + v22 + 47*v23 + 149*v24 + 221*v26 + 134*v27 + 77*v28 + 26*v29 + 244*v30 + 169*v31 + 204*v32 + 205*(v25 + v33) + 121*v34 == 420160)
s.add(85*v3 + 39*v4 + 150*v5 + 48*v6 + 204*v7 + 245*v8 + 21*v9 + 194*v10 + 252*v11 + 70*v12 + 219*v13 + 92*v14 + 67*v15 + 118*(v28 + v16) + 111*v17 + 126*(v29 + v18) + 182*v19 + 171*v20 + 184*v21 + 233*v22 + 83*v23 + 215*v24 + 171*v25 + 142*v26 + 161*v27 + 176*v30 + 184*v31 + 45*v32 + 95*v33 + 73*v34 == 402263)
s.add(169*v3 + 202*v4 + 250*v5 + 175*v6 + 195*v7 + 154*v8 + 204*v9 + 140*v10 + 112*v11 + 145*v12 + 40*v13 + 84*v14 + 216*v15 + 111*v16 + 15*v17 + 238*v18 + 72*v19 + 75*v20 + 167*v21 + 34*v22 + 50*v23 + 19*v24 + 94*v25 + 191*v26 + 3*v27 + 92*v28 + 138*v29 + 164*v30 + 48*v31 + 224*v32 + 120*v33 + 170*v34 == 366968)
s.add(176*v3 + 106*v4 + 25*v5 + 246*v6 + 144*v7 + 172*(v19 + v8) + 243*v9 + 213*v10 + 147*v11 + (v12 * 128) + 183*v13 + 149*v14 + 247*v15 + 63*v16 + 254*v17 + 96*v18 + 23*v20 + 4*v21 + 19*(v32 + v22) + 56*v23 + 139*v24 + 5*v25 + 164*v26 + 240*v27 + 247*v28 + 50*v29 + 189*v30 + 112*v31 + 68*v33 + 170*v34 == 384909)
s.add(248*v3 + 78*v4 + 136*v5 + 27*v6 + 125*v7 + 93*v9 + 148*v10 + 252*v11 + 241*v12 + 223*(v16 + v13) + 253*v14 + 156*v15 + v17 + 211*v18 + 174*(v27 + v19) + 186*v20 + 170*v21 + 74*v22 + 159*v23 + 65*v24 + 113*v25 + 227*v26 + 149*v28 + (v29 * 128) + 183*v30 + 184*v31 + 22*v32 + 41*(v8 + v34) + 31*v33 == 425203)
s.add(113*v3 + 13*v4 + 243*v5 + 198*v6 + 118*v7 + 105*(v25 + v8) + 27*v9 + 186*v10 + 212*v11 + 142*v12 + 170*v13 + 10*(v29 + v14) + 140*(v18 + v15) + 197*v16 + 181*v17 + 75*v19 + 208*v20 + 155*v21 + 46*v22 + 43*v23 + 3*v24 + 239*v26 + 99*v27 + 145*v28 + 242*v30 + 155*v31 + 237*v32 + 39*v33 + 82*v34 == 372162)
s.add(6*v3 + 45*v4 + 87*(v27 + v5) + 3*v6 + 19*v7 + 94*v8 + 159*v10 + 229*v11 + 76*v12 + 199*v13 + 139*v14 + 36*v15 + 240*v16 + 72*v17 + 68*v18 + 185*v19 + 202*v20 + 96*v21 + 40*v22 + 180*v23 + 63*v24 + 17*v25 + 7*v26 + 91*v28 + 58*v29 + 127*v30 + 207*v31 + 206*v32 + 136*(v9 + v34) + 50*v33 == 297509)
s.add(184*v3 + 153*v4 + 245*v5 + v6 + 108*v7 + 235*(v24 + v8) + 144*v9 + 221*v10 + 200*v11 + 35*v12 + 138*v13 + 38*v14 + 172*v15 + 9*v16 + 123*v17 + 63*v18 + 218*v19 + 204*v20 + 76*v21 + 114*v22 + 149*v23 + 202*v25 + 74*v26 + 83*v27 + 87*v28 + 166*v29 + 40*v30 + 115*v31 + 215*v32 + 12*v33 + 90*v34 == 372215)
s.add(143*v3 + 248*v4 + 224*v5 + 28*v6 + 122*v7 + 144*v8 + 12*v9 + 196*v10 + 85*(v21 + v11) + 77*v12 + 150*v13 + 179*v14 + 240*v15 + 225*v16 + 62*v17 + 142*v18 + 187*v19 + 190*v20 + 94*v22 + 3*v23 + 61*v24 + 116*v25 + 81*v26 + 231*v27 + 84*v28 + 180*v29 + 55*v30 + 123*v31 + 190*v32 + 36*v33 + 114*v34 == 370337)
s.add(91*v3 + 204*v4 + 201*v5 + 7*v6 + 103*v7 + 158*(v19 + v8) + 95*v9 + 76*v10 + 189*v11 + 32*v12 + 70*v13 + 74*v14 + 116*v15 + 80*v16 + 191*v17 + 14*v18 + 30*(v26 + v20) + 176*v22 + 213*v23 + 13*v24 + 241*v25 + 65*v27 + 154*v28 + 224*v29 + 40*v30 + 2*v31 + 202*v32 + 122*(v21 + v33) + 190*v34 == 314564)
s.add(44*v3 + 88*v4 + 66*v5 + 248*v6 + 160*v7 + 118*v8 + 31*v9 + 27*v10 + 83*(v16 + v11) + 115*v12 + 30*v13 + 67*v14 + 162*v15 + 202*v17 + 205*v18 + 89*v19 + 110*v20 + 199*v21 + 158*v22 + 14*v23 + 253*v24 + 95*v25 + 75*v26 + 101*v27 + 155*v28 + 165*v29 + 223*v30 + 42*v31 + 154*v32 + 176*v33 + 5*v34 == 325974)
s.add(65*v3 + 72*(v30 + v4) + 111*v5 + 207*v6 + 29*(v25 + v7) + 5*v8 + 208*(v18 + v9) + 163*v10 + 123*v11 + 38*v12 + 34*v13 + 35*v14 + 114*v15 + 140*v17 + 150*v19 + 10*v20 + 180*v21 + 185*v22 + 235*v23 + 62*v24 + 146*v26 + 41*v27 + 243*v28 + 160*v29 + 34*v31 + 168*v32 + 125*(v16 + v34) + 84*v33 == 307088)
s.add(188*v3 + 243*v4 + 21*(v24 + v5) + 127*v6 + 155*v7 + 26*(v30 + v8) + 97*(v16 + v9) + 177*v10 + 167*v11 + 78*v12 + 152*v13 + 162*v14 + 7*v15 + 178*v17 + 171*v18 + 16*v19 + 67*v20 + 213*v21 + 253*v22 + 116*v23 + 100*v25 + 32*v26 + (v27 * 128) + 44*v28 + 175*v29 + 18*v31 + 11*v32 + 197*v33 + 140*v34 == 322340)
s.add(113*v3 + 252*v4 + 7*(v5 + v33) + 193*v6 + 90*v7 + 242*v8 + 138*v9 + 193*v10 + 183*v11 + 244*v12 + 127*(v15 + v13) + 156*v14 + 233*v16 + 162*v17 + 89*v18 + 184*v19 + 91*v20 + 34*v21 + 51*v22 + 166*v23 + 179*v24 + 47*v25 + 9*v26 + 113*v27 + 72*v28 + 208*v29 + 164*v30 + 140*v31 + 110*v32 + 152*v34 == 380716)
s.add(244*v3 + 196*v4 + 30*v5 + 100*v6 + 168*v7 + 7*v8 + 249*v9 + 84*v10 + 252*v11 + 171*v12 + 210*v13 + 206*v14 + 108*v15 + 153*v16 + 67*v17 + 189*v18 + 141*v19 + 239*v20 + 177*v21 + 10*v22 + 15*v23 + 164*v24 + 142*v25 + 97*v26 + 27*v27 + 173*v28 + 146*v29 + 133*v31 + 105*v32 + 75*(v30 + v33) + 197*v34 == 393331)

# 添加最后的v35方程
s.add(185*v3 + 196*v4 + 135*v5 + 241*v6 + 218*(v22 + v7) + 210*v8 + 127*v9 + 221*v10 + 47*v11 + 179*v12 + 61*v13 + 59*v14 + 197*v15 + 204*v16 + 198*v17 + 75*v18 + 146*v19 + 156*v20 + 235*v21 + 63*v23 + 220*v24 + 3*v25 + 167*v26 + 230*v27 + 69*v28 + 186*v29 + 57*v30 + 147*v31 + 221*v32 + 79*v33 + 53*v34 == 430295)

# 求解并输出结果
if s.check() == sat:
model = s.model()
solution = {str(var): model[var].as_long() for var in variables}
print("Solution found:")
for var, value in solution.items():
print(f"{var} = {value}")
else:
print("No solution found")

需要注意的是v3 ~ v34 并不是密文的正确顺序

应该按照

1753254688795

每个值对应的应该是右边的10xx所对应的地址的值

再把需要异或的值提取出来

1
2
3
4
0x18, 0x09, 0x03, 0x6b, 0x01, 0x5a, 0x32, 0x57,
0x30, 0x5d, 0x40, 0x46, 0x2b, 0x46, 0x56, 0x3d,
0x02, 0x43, 0x17, 0x00, 0x32, 0x53, 0x1f, 0x26,
0x2a, 0x01, 0x00, 0x10, 0x10, 0x1e, 0x40, 0x00

最后编写代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include<stdio.h>
int main(){
int a[38];
a[3] = 108;
a[4] = 117;
a[5] = 102;
a[6] = 51;
a[7] = 115;
a[8] = 117;
a[9] = 95;
a[10] = 115;
a[11] = 49;
a[12] = 95;
a[13] = 101;
a[14] = 100;
a[15] = 48;
a[16] = 99;
a[17] = 95;
a[18] = 101;
a[19] = 49;
a[20] = 116;
a[21] = 116;
a[22] = 49;
a[23] = 108;
a[24] = 95;
a[25] = 101;
a[26] = 109;
a[27] = 105;
a[28] = 116;
a[29] = 51;
a[30] = 109;
a[31] = 83;
a[32] = 48;
a[33] = 51;
a[34] = 51;
int c[38];
c[0]=a[31];
c[1]=a[32];
for(int i=2;i<30;i++){
c[i]=a[32-i];
}
c[30]=a[34];
c[31]=a[33];
for(int i=0;i<32;i++){
printf("%c",c[i]);
}
printf("\n");
int d[]={0x18, 0x09, 0x03, 0x6b, 0x01, 0x5a, 0x32, 0x57,
0x30, 0x5d, 0x40, 0x46, 0x2b, 0x46, 0x56, 0x3d,
0x02, 0x43, 0x17, 0x00, 0x32, 0x53, 0x1f, 0x26,
0x2a, 0x01, 0x00, 0x10, 0x10, 0x1e, 0x40, 0x00};
for(int i=0;i<32;i++){
d[i]^=c[i];
printf("%c",d[i]);
}
return 0;
}

flag{K9nXu3_2o1q2_w3bassembly_r3vers3}