【JS逆向学习】全国建筑市场逆向案例

逆向目标

响应内容:

95780ba0943730051dccb5fe3918f9fe1b6f2130681f99d5620c5497aa480f13f32e8cc4b2f871a9a59a1d0117ce9456ce6b66396085eaa2822aa2ffc121eac1885d297bbd68dcda88cd8b0b29e282f9fd6b8392d52b817608665d8a565119f3346fb19449490842b923ec5781524595bc078b2c15e47473f15860e2ed45c9dbab5a750581a26fcb22b99228eb09b541e83ac3724f373a7512ac3827fa40354d1e9af350488194daf6b0317870a9a65dee320e0d4cb84708b25e383c02095c17f20d09fb39ab6e1a150c85818ecc2a31c384412859eff0026319094965cffffbc42c9495ee35f03b2440b8baac751927c38b616dc2042a64223fa6a72f1dc685fcbb38fd7cc47f1efbc9f5bd2c7490e58fbd36cf5a3b4be852fac87c6e682bb7d554b9990431e2d550d914754c6ac899fef97980084a6ba4bfda771be81ea11fd1542b6ffafe1439be2c94f74f6a83bfce6d2bc2e9dc1d86b84eeb85c2b8dda8846d65232148f9d88ac4a675d2049c1ac6efae1e4a5f4a106f0e627fb89199d9491303a792672832269e9a5cc208be00fbf1baf342262ebdbef5eaf3a50a52eeae2811f2813697018bf103df428dc0d496af435d2384b2198000add245d87233c3955695a6daa1bb4bc5a8657b2c9dfbf9f4067097df759f5724a5cb3a747a58509e2f22da6cbcdd29ba95dc555cd40cba6d0a2eced0b15ece067bc949dce784b2ceb06a61e9f7dc8943445da701c15fc7053f2c21ea1fc877e02280d22f913983c6f1dead091312c37aa90a5967b71b4c34dab24468bde5f747d8f44f8fd4b0fa493ff49b92441a7e1e8c256a6a18573baa1bf16f5093e36a7c9e282a3156dba776ea6a94794c9a034ae4f5e77761e49569d194d10703302476e7fd8e25ab4669f0c7a6c7d0e2680847d77ea5a585f7f60e7fcebb1ae791b8216bb25b644f5094157bd62c6aebf0a7faf173b2fde0da6f9ebb0dcab8a129c11b9f972445aee5297d38e0cc72d0b4d9c84c7e6b0ecf592d37998d04df8c52d5776c2741863b5fefd69302f176909b6bc065c4b81fc959a348368d250a03a86145f81950937ca83e3a765e6afd71d00c68faeca8d4d76f5ad762fc7d17fd05894857841bec355bb1d7f75db95c8e30dea58536ac6288fd3429ca9ab48d1eddb48631734ce2a574d79b93952fa2c9e9665c6337b35ea2309344cd22fe1b92dbd02051917d6c5edf1f2259c5f8a0cb3fbd00391c298f0461ba16a2300337d0b60b224bc6b796cedeb427cd07d97f17460d490bc3b112d2b8403026ff5ff5a70dde82cf210f22c3c206ca3bfe34cc137bedad0f1ae712d7168226a42fd22f9e17dede40654157e4c4756bd10292c7d0e2eefba36634309aeb24d3725802243e2003a68dac0a3b539eed0dca51f6f0d57a5c58a117fc56910d0e7319b05e0fc4a5137952e2f958636b584973da7dd61b63101e2d0cffe2b249c562b72b64fb6ca67ed0246bf0f9185fe22c87dc6d3c8374239dd4e70cdbc5ccacbd359dea203c021ac7d54998b2f1571d7f787a3ce1c4fda45037bd33be1ff9da883a556e2ef81ad2047d35a5065e73402e0e02231bcb3724445df198ad531119228c8c8522533b258f7a002291650297491b7fd6e58891340a9b31cc84f51541350ee7d66b0f089037947d66e376c249a0b836a879688778c4fcbeecd130fb25f47ddc50a47ea59afbe910004f0a44ad4430b61fc25258a1b6b60d65f209ab3a751873c80906798a55ae4cf1ac7d3f9b153f57b613dae8f8c0559ff24e1ee4ecc32e3640f16a22e764fc58d364f1fcb85fc804e861910d04d0346b04dc7a0fd4740aabf3854a03977e02bf5a9301624d42d3958d47cc3aeb9e2617ba60afa0c60fdd36f196a0d754fc27842290f973d877d61a38376d87534c247b1c6a8ecc2862767521f2f8d336b957972b71a01aaa3f54bb26ff3df8f4bc250af9542d3368cf7fba77e872f7014b8e85b5aac69e6f8b47d837b0d80a4eb661ebcc8390f11bb9a08a910e2525bf62d7f762fa817655de05781f0052e297111fd99c1d8e9480aff7e8e7927c0d6cffe7402c008180d451035ec2a51a43ea753d30160a528ea733a7126057dff7b6c7297c8a751ed719e3127a6b7bd87c2cf38cf34661c8b707da1b2d78261d19e72e0927cae74f8a45386d633af4f5fe59bf8c0c81af44ec595b4c0a6159e0493af4b14811a0b49a20b37fba1aaa6e8822b6872099371095853a34a3eb4ff5eeb0827fe9fe96910def37e5fcea66246b160f7b5e848027026509f7edb2171ed3b66f431fefc63ed41b9bfd5c7516c6f6665c3bbe5eeb7ac6fe8fa375643cce58527a4e9167f3f2d971b4e502802bf20f082fb2ed3cf56969785168660cc93b565434d1506ab2f3ee5556cc191d5f96d482e87bb6c3dc07dd0939828123bc8a0ad1b99dc1628ca0a7265ae3e9ee3fe426908c3caa7a9a08f968939c0487e3cb519576b752a253fe3a25f41f0cd43ce166fd1a33266c64954e6a9c7563ef176ec32f88e43b05f928ec1a9734ea9508df31d20a7ac4d75b0866f072667ab04f0ca354d79b60d53b144b9e5811b24e0dfdbaeb8daf6c669a9829addab32c7ef25649f2584bcfa861d0d95cb3b3bda92a6616837589326ddeaca7c7d80f9d0c27c4ff875673f3ecaf40c3096bfb3f0727b7efdee7a065fdea818c3dc0d6c2a6e0bf73fb1165de6d20b83da27d48dde180a8e2d39351e350412a87a0352e2968282bcfc614b016a3e36990287ec08cb9dcb870cdca87c25159e6a23511714fca747aad61463b0da041a967cedbafccd99bb1619b4b6c58219551fd2aabdeb6ee89c9d2ab6e7991c933256ce3bc40a334e3d4b4993aeb76f224f7b6ad717c60f2a723dba25d3b4d55d5ff55ceef98d498ed7a3991f16f35214992b3bdcc8ee80b10fc38734deb9b9a4820174f15b5c3895475d85b8d1dd70d4e21bf4affe7ab02a6e623a0ed1b222764c56b1f2a749881df12f9f1d091e6ed09334aa6f174b56a2c65b2b700e4ac670d56425160a49118b8c68c9e78322e81f5f59b40ad9143b8a1986a2416f22d344d4c6beaba78315702878ed29162972a0af42a6d35fdfe4188a4eadac8ee7f4a58b8e7a4fef7f294d87040afbd768b83cf2425865f4f43064f1ef6fb90d0fd37b1bd6f783efd4ec1048876314eee740507751fa7407980850c036b075eb11e546e0ecc2eb3fe6bc32271b0b348c38882b77c6261387b2a081a404d14c39a4808e0d312f8423d41ad93bf056a37a0436b6baa5f8fe7719e69aef8b43c1990e607b93eb6b7af4779d056d621840d841b0bab6936c288da094fbb9a83263adff2e22fe1f71260b97e203c0637b80dda9bbcf37f9dc41857c559b8492024862743557bf9e5cd27de74d5e8c43ed604a9c95e031d7622055a64910edb66532ba73c89e454c0d982e568ca4c1d7efc04654ba152c12a30e549ff9fa59f8bcc84781862f41d8badeb2789737c7751015b298353f6dc2c15959dbf45e21e64957ba04a98ceb264edc85ea61a785bb9282de0a92151d818eb444b371d46e87d1f580ee61494a5df24f5502bfe1b3755e7937680684209f55f6cd13150d98c3c144c43e6ea65918965528c0705f9101a89925661f125ffd2b0a2da0a17e1b957e97b536057bb528f0fb36adc53f1c48bf7fbb96ee97faaceb9265be637b771ddf3315f637172d5639b7b2969df38d33fcdf1836e4e5fac6e0a75e3b341e20b6133d92eeebdf985b1c2ced30145b252394bfb58b4176738d990859c4002dc8935003142db4ae0aac43d7eb5b3fca5d0b0147dcb384e062a46248fced666e447121ee6a70b9c349d487d68fd560b86b6922060e7da1534b7f931a1cea8f8222ce6b0cf97972cebdff2259a9eec8bb89c2c6a044eda611474f9c568e2c9123cc127b612753fea66b572f3167328ee0ac87200a9bec96243bb7dd5ded95a670a42587d06e5b2558554ed7d4f5a3ef9e8fb94d646b520e2be5e3d28054ca245df71dd195516ccd783f723ac655e2220161aeadc5d266f11ae4e2e6af4ef6589c7a03981a024f80231b010ef9ed182bb8b165afa73b469063ef269daf1c948daedb5cc649697415e075202837b15472107c8cfe307e44a185ffcb66340e2041404c614d70b3b4813f242733337607dd89cc3e6daadae53ea4a1e341526ee69a0b78a2a57209de4a6d8cf7c551adcb07be990f7512d0168ba165afb932af8cf89291f282076b6d8a4f52ff0d1011f8c65acfd8a0fef74fe70bef6d539d9b9451bb77d2679b7900843becf4c39bbe36f2d45e2ad9a7de2aa9d2b5a0680e2c1eca6e5efabd7bd80303ec4125401459a06bdc3466cd2c0b42da86c6741d4b0cff28960c622f4bcebe53107da3d02cf9e58e633407d7a81f204df9e0eb7ae325903ede2333bca17dc3b0deb0ed2ea97ff313c109b1de9702a29a27112f74c3a76e18322c20a359dd8ab99d170d6c67ede6089b1d4f04aed2727b7f35bc6c39354b4819ff7a9452462e7ae94da645fab14764c4d466c7ee0407b6dc0198d871d7022007f63e67f33c349c53f55eb0c153e0eb6ef0d57a7c530aa2e0c4f6aab83f7f6c8979271ecafd5ca471dfd7d3722a40d00f522e6198bf7b906bbb9648d24836af935a469cc41177383d3412ec835d41da3f49105881b2a5225854d10b133190c85e34521592ded31001034709c1bd4da1f3c75fa21ecf817215ec626cf0b29b0404096fbb1b066992abba0879c779321569e91d51dbfac29df646af477cd51f12cfb8340db0ad8fcf0c9800f887375074c815cbf691a47e66a1fd80652963a7d38ac690843108e0b645957cef301bc56029c9a9ed444b645e235edcd0bb55c4882920d7550d6a72708795c190a4f9371617fc9a8aaa465b76daa316cde4a728e27ff93303c4c9874b411385a0a7f061ef360a690f05f3b01687660d068cfbcbcdb989d33565858a51cfb2d8659b676fe14ad4448f99ffab336548f0ea2a8de67ae84c9e9fed9b60227e9bc21f8bf9b32841aed2301f778b29f47ba873d8eef2ab32893385f91555f6f53401d9e0e8a6a425e7af2610d12012633f500ceb6012dcf61ff8a4d29421b1d459380cd79b62a45cda93cbbfe6ab3ad01a8f27903b61b461e0ad63a1cb788448e3cf5e1c9d2942f6c85ab76713c4b8a09096cbd57e89d73ddc88f4812f707273185fa3ad31a479112efdcc7a0e452fe2efae5148ebd6074010b590a6ee8686c066a2830dc081f0d01fc5803812b3c3caa9b42e128443a90812b7d51f9bdfd4dcf776eaa02a08dfcd72515343788d32bb5f21420a65dc21620e144393d2915b369a4a113581934fbc1e5b8f3ccb2baac0fdde725893783e8c2c19bef413650686009f9f13f9a29237314ffece7284e7646fcef0d23966c965638b40504b85101bf5b7d9b129b82534c322b9263ea52aa67ac7f4f3188b65e925772986dce96ab00720602cc6a7b1a183bfe85faebc95674181e6c4ed752934d3b44e6cfa9e392b0842138800662de2bf7c0b55d34ce3ac78eddff11585267660d74deeb6045c7185d0af56cc747f2ab7c2b59c53fd9fb8841f78cd2f858982cc3dafa1f2d688b26abe43b0de287c312ae11a95d5674dee78c4006c2a86f9780b936840360cb7382fce6f0ce06e57c60d5a7761692526ea880b50ad7907a7101aa8898ddd976f1b8d9f7a55ead71c4765d48d25a419f58738f113e98f952795acaf4dc6801b2d2ae85a073382901826cd0830980c0e9fb5823752d2ad3188e9b17a24c2548890039e7e6eb3110b8eedfbac1f53955d98b2071c94abe8cb7b420cffc87d181b3824d9219f86a8531a93c44f9788d31740b54cf2b8b0899d1c1dcea6563581d149b24715fdc7f3aca0b91728e355951edba9fcfa8b466ed30b78c9cbd88542e57366c6675c0a3917fd920724eb3e4478be1d8d2ca93fabc81d3ba6fdfbc7f689f89146a89ef90de42869ac4b478f8b407c9ab72ed15a0c5b87d99b737bb3e389345b059d1a9fa66dd5a5aaf707138eb65968ac840a84325505c70847fab99dacdd8f9b3b10bb4dff9678973f2b46e0c90a31e3f5960ec8e9f13326779735fcb6495e052e876438bea9ec7d9ceffcdcb80a4ec4e280a7c87161ca6932f9bda423011cf12e276f09b50233969ebb27dc6c9b31a4177
逆向过程

首先浏览器抓包分析网络请求,大多数这种具有翻页功能的网站,一般走的都是xhr请求,如下:
在这里插入图片描述
我们network选项下过滤下xhr请求,如下图,基本可以断定是xhr请求
在这里插入图片描述

加密分析

通过分析接口,发现加密的点只有一个,就是返回内容,如下图,类似于这种加密的分析方法,可以参照【JS逆向学习】有道翻译接口参数逆向,返回的参数看起来像是16进制的加密数据,推断他的解密逻辑应该先解密,然后使用JSON.parse进行格式化,可以直接控制台hook这个方法:
在这里插入图片描述

(function(){
	let parse_ = JSON.parse;
	JSON.parse = function(param){
		debugger;
		return parse_(param);
	}
})();

控制台输入上述hook代码,点击下一页
在这里插入图片描述
代码已经断住了
在这里插入图片描述
继续跟栈,b函数就是我们要找的加密函数
在这里插入图片描述
直接到b函数内部,如下
在这里插入图片描述

f = d.a.enc.Utf8.parse("jo8j9wGw%6HbxfFn");
m = d.a.enc.Utf8.parse("0123456789ABCDEF");
function b(t) {
    var e = d.a.enc.Hex.parse(t)
      , n = d.a.enc.Base64.stringify(e)
      , a = d.a.AES.decrypt(n, f, {
        iv: m,
        mode: d.a.mode.CBC,
        padding: d.a.pad.Pkcs7
    })
      , r = a.toString(d.a.enc.Utf8);
    return r.toString()
}

一个简单的aes加密,key、iv及加密逻辑都已经很清楚了,使用crypto-js库简单实现

const CryptoJS = require('crypto-js');

function decryptAES(text) {
    let key = 'jo8j9wGw%6HbxfFn',
        iv = '0123456789ABCDEF';
    let ivAES = CryptoJS.enc.Utf8.parse(iv),
        keyAES = CryptoJS.enc.Utf8.parse(key),
        textAES = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Hex.parse(text));
    // console.log(textAES);
    let decryptText = CryptoJS.AES.decrypt(textAES, keyAES, {
        iv: ivAES,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });

    return JSON.parse(decryptText.toString(CryptoJS.enc.Utf8));
}

需要源码的同学们关注后私信我

原创声明:未经许可,不得转载。
如有侵权,请联系作者删除删除。

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗雅颂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值