Jump to content

tk21590

Members
  • Content Count

    24
  • Joined

  • Last visited

Community Reputation

1 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. http://www.javadecompilers.com/ Trang này dùng debug apk ra java rất ngon . nhưng có mấy file ko debug hoàn toàn được mà toàn ra code Hex .
  2. @khangminh Tới h e vẫn ko biết cái nhân tố bí ẩn e làm đúng hay sai nữa chạy code hoài mà cứ bị giỏ hàng , bác rành chỉ e với
  3. Ok bác, e thấy nó viết bằng ngôn ngữ python hay js gì đó thì phải . Vậy là phải học thêm về ngôn ngữ đó
  4. Cám ơn bác , đọc của bác dễ hiểu hơn hẳn . Cơ mà để đọc hiểu và giải thích như bác thì phải học qua những gì và trải qua quá trình gì bác . Em tự học ngôn ngữ cơ bản C# , làm cũng ngon lành rồi . Giờ chạy qua request mà chẳng biết làm cách nào để có thể bung được app hay web như mấy đàn anh đi trước . Bác cho e xin lộ trình học tập hoặc keyword của bác với được ko ạ .
  5. @Thiên Chi Kiều Nữ E test ok rồi , tuy nhiên là do mặt hàng , em mua mặt hàng voucher 1k nên ko thể nào post lên server ra dạng như vậy , đổi qua mặt hàng khác thì nó ra Kết Quả ngon lành ko biết cái này là sao luôn , vậy là bữa giờ làm sai hàng , sai thời điểm
  6. đúng rồi e luôn luôn bị lỗi sản phẩm trong giỏ cập nhật ạ . Vậy tức là x-cv-id khi e request để trả về json e để 99 thì nó sai nên luôn trả về kết quả này nhỉ
  7. tại vì chưa làm được bác ơi , id acc em đang test là 237512325 nên nếu chiếu theo code (e%10) thì nó sẽ là case 5 . case 5: n = t.shipping_orders.reduce(function(e, t) {return e + Object(a.a)(t, ["order_total"], 0)}, 0); break; em thì đọc ko hiểu code case 5 trên nên cho nó là : string odertotal = obj.shoporders[0].order_total.toString(); Vậy nên khi chiếu theo key bác bảo //usershopid_timestamp_nhan-to-bi-an var keylist = new List<string> { shopid.ToString(), //usershopid = obj.shoporders[0].shop.shopid timestamp.ToString(), //timestamp = obj.timestamp; odertotal,//nhan-to-bi-an }; Thử hoài mà nó ko thành công nên vẫn chưa làm được 9 case còn lại .
  8. Đây ạ , em test cả 2 trường hợp , xem kĩ trong ảnh rồi ko biết sai chỗ nào nên mới đau đầu đây :(
  9. shopee_key e nhập vào cố định rồi là 812bee77ebc80ab083a9bf2dd600dad2 như trên ạ . userID tức là id của acc mình đăng nhập vào lúc đầu thì cũng biết luôn . User_Shop_Id : Cái này e có hỏi ở trên mấy lần lun , là cái ShopID của thằng mua (có trong Text Json get về )hay là ShopID của acc đang login(ko có trong file json get về) ạ Em thử cả 2 cái ShopID của thằng mua và thằng bán đều ra {Sai shopeekey nha bạn} long shopid = obj.shoporders[0].shop.shopid; //ShopId của thằng đang bán hàng string shopee_key = "812bee77ebc80ab083a9bf2dd600dad2"; RequestParams dataKey = new RequestParams(); dataKey["param"] = postGetJson; dataKey["shopee_key "] = shopee_key; string addressDataKey = "https://teamcodedao.com/shopee/shopee_getparams.php?user_id=" + buyerID + "&user_shop_id=" + shopid; var postDataKey = http.Post(addressDataKey, dataKey).ToString();
  10. được bác , e chấp nhận bỏ phí cũng đc , đó h e tự học ko ai dạy nên muối mặt đi hỏi free thôi , cơ mà e muốn học cách dò được code với hàm như bác chứ e ko muốn mua code nguồn đâu . Vì mỗi cái mỗi khác chứ mỗi lần mỗi mua thì tội em :(
  11. Bác thông cảm ! đâu phải ai cũng học từ trường lớp ra , e tự học đó h nên chuyên về những cái khác, và có thể ko chuyên về nhiều cái . E biết khuyết điểm của e nên đi hỏi lung tung lắm .Với lại e cũng ko phải dân hỏi basic đâu , ít nhất thì e đã làm được tool shoppee login , register , like follow từ nhiều tháng trước tự mình em làm rồi . Chỉ có mấy cái dò ngược code kiểu này thì nó quá phức tạp với e . Ngoài ra cái chỗ trong trích dẫn này em thông rồi ạ . Vấn đề là e đọc ko hiểu cái js nên ko biết những chỗ khác bác thông não giúp e với . 1. là làm sao bác tìm được đúng cái chỗ đó . 2 . Là cái key của xtrackid , em đã cho key như sau rồi. long timestamp = obj.timestamp; long buyertotal = obj.shoporders[0].order_total; var keylist = new List<string> { shopid.ToString(), timestamp.ToString(), buyertotal.ToString(), }; string keyfull = string.Join("_", keylist); string xtrackID = SHA512_ComputeHash(msg, keyfull); Tuy nhiên dù em có thử cho null (bỏ qua những cái null) hoặc cho nó emty thì vẫn ko thể post thành công được lần nào bác ạ . P/s : Chỗ usecoin nó là bool nếu string ra thì False hoặc True chứ sao bác cho 0 vs 1 nhỉ . Bác có nhận đệ cho e xin 1 slot với
  12. vâng để em inbox ạ , lỡ hỏi chục người roài thêm 1 người nữa cũng ko sao
  13. vâng e biết rõ lun , tại đọc bài cũng hơn 20 lần rồi . Cơ mà chỗ x-track-id e vẫn chưa lấy ra được thì làm sao post được ạ ! Bác Admin xem giúp e mấy chỗ thắc mắc được ko
  14. Bác chủ thớt , e inbox và comment 2 ngày ko thấy đâu , nên lên đây post . Phần js em cũng tìm thấy rồi hi vọng bác đọc được cho em giải được cái này . Đây là full JS mới lấy về function y(e, t) { void 0 === e && (e = {}); var n = function(t, n) { return Object(a.a)(e, t) || n }, r = function(e) { return void 0 === e && (e = []), function(t, r) { return n(e, []).map(function(e) { return Object(a.a)(e, t) || r }).join(":") } }, o = r(["shoporders"]), i = r(["shipping_orders"]), c = function(e, t) { return n(["shoporders"], []).reduce(function(n, r) { return [].concat(n, Object(a.a)(r, ["items"], []).map(function(n) { return Object(a.a)(n, e) || t })) }, []).join(":") }, s = t.userId || 0, u = n(["client_id"], 0), d = n(["cart_type"], 0), l = n(["device_info", "device_fingerprint"], ""), p = n(["device_info", "device_id"], ""), _ = o(["shop", "shopid"], 0), f = c(["itemid"], 0), h = c(["modelid"], 0), m = c(["quantity"], 0), g = i(["buyer_address_data", "addressid"], 0), v = i(["selected_logistic_channelid"], 0), E = function(e) { void 0 === e && (e = {}); var t = function(t, n) { return Object(a.a)(e, t) || n }, n = t(["selected_payment_channel_data", "version"], 0); if (0 === n || 1 === n) { var r = t(["selected_payment_channel_data", "payment_channelid"], 0); return { paymentChannelId: r, paymentChannelItemId: 0, paymentChannelExternalItemId: 0, paymentOptionInfo: "" } } var o = t(["selected_payment_channel_data", "channel_id"], 0), i = t(["selected_payment_channel_data", "channel_item_option_info", "channel_item_id"], 0), c = t(["selected_payment_channel_data", "channel_item_option_info", "external_channel_item_id"], 0), s = t(["selected_payment_channel_data", "channel_item_option_info", "option_info"], ""); return { paymentChannelId: o, paymentChannelItemId: i, paymentChannelExternalItemId: c, paymentOptionInfo: s } }(e), b = E.paymentChannelId, C = E.paymentChannelItemId, y = E.paymentChannelExternalItemId, O = [s, u, d, l, p, _, f, h, m, g, v, b, E.paymentOptionInfo, C, y, n(["promotion_data", "free_shipping_voucher_info", "free_shipping_voucher_id"], 0), n(["promotion_data", "use_coins"], 0) ? 1 : 0, n(["checkout_price_data", "total_payable"], 0)].join("_"); return "buyerId,clientId,cartType,deviceFingerprint,deviceId,shopIds,itemIds,itemModelIds,itemQuantities,addressIds,logisticChannelIds,paymentChannelId,paymentOptionInfo,paymentChannelItemId,paymentChannelExternalItemId,fsvId,useCoins,totalPayable".split(",").forEach(function(e, t) {}), O } Còn đây là code chỗ lắc não , nôm na theo e hiểu là khi mà buyerid chia cho 10 , số dư ra là bao nhiêu thì cái Nhân_Tố_Bí_Ẩn đó sẽ vào case bấy nhiêu , Ví dụ buyerid của e là 3356105 thì khi (buyerid %10 ) nó sẽ ra 5 . Vậy case nó sẽ là : n = t.shipping_orders.reduce(function(e, t) { return e + Object(a.a)(t, ["order_total"], 0) }, 0); Nhưng thú thật e học c# nên không hiểu chỗ js này nó là gì ? Nó truyền 2 tham số , buyerid +oder_total lấy trong json ? không biết có đúng ko ? Vậy nên theo kiểu em thì long odertotal = obj.shoporders[0].oder_total; //Code lúc này để lấy key sẽ là var keylist = new List<string> { timestamp.ToString(), shopid.ToString(), // Vẫn không biết cái shopid này là của thằng mua hay thằng bán . Trong file json thì chỉ có shopid của thằng bán odertotal.ToString(), }; string keyJoin =string.Join("_", keylist);// Rồi đem nó mã hóa ra SHA512 bao gồm text ở trên và key này. Đoạn code switch_case , các trường hợp có | | 0 ; có phải là n có thể bằng 0 hoặc bằng với Oject(a.a)(t....) đều được đúng ko ạ? Nhưng t.shipping_oders.reduce bao hết cái hàm trước nó là gì ? e vẫn chả hiểu là cái gì . Trong file json thì có nhưng là 1 giá trị cụ thể và không có .reduce Chỗ này vẫn là ngu code js nên ko biết dịch ra c# như thế nào . function C(e, t) { var n = e.a, r = e.ts; return [e.ua || "", n, r].filter(function(e) { return e }).join("_") + "_" + function(e, t) { var n = ""; switch (e % 10) { case 0: n = Object(a.a)(t, ["promotion_data", "free_shipping_voucher_info", "free_shipping_voucher_id"], 0) || 0; break; case 1: n = t.shipping_orders.reduce(function(e, t) { return e + parseInt(t.selected_logistic_channelid, 10) || 0 }, 0); break; case 2: var r = Object(a.a)(t, ["selected_payment_channel_data", "payment_channelid"], 0) || 0, o = Object(a.a)(t, ["selected_payment_channel_data", "channel_id"], 0); n = r || o || 0; break; case 3: n = Object(a.a)(t, ["checkout_price_data", "total_payable"], 0); break; case 4: n = t.shoporders.reduce(function(e, t) { return e + Object(a.a)(t, ["shop", "shopid"], 0) }, 0); break; case 5: n = t.shipping_orders.reduce(function(e, t) { return e + Object(a.a)(t, ["order_total"], 0) }, 0); break; case 6: n = t.shoporders.reduce(function(e, t) { return e + Object(a.a)(t, ["order_total"], 0) }, 0); break; case 7: n = t.shipping_orders.reduce(function(e, t) { return e + Object(a.a)(t, ["buyer_address_data", "addressid"], 0) }, 0); break; case 8: n = t.shipping_orders.reduce(function(e, t) { return e + Object(a.a)(t, ["shipping_fee"], 0) }, 0); break; case 9: n = t.shipping_orders.reduce(function(e, t) { return e + Object(a.a)(t, ["shipping_fee"], 0) + Object(a.a)(t, ["shipping_fee_discount"], 0) }, 0) } return n = String(n) }(e.b, t) } Và hiện tại e chỉ làm được đến chỗ này ,có rất nhiều chỗ ko rõ lắm dynamic obj = JsonConvert.DeserializeObject<JsonCheckOut>(postGetJson); string client_id = "0"; string carType = "0"; long shopid = obj.shoporders[0].shop.shopid;// Đúng long itemid = obj.shoporders[0].items[0].itemid;// Đúng long modelid = obj.shoporders[0].items[0].modelid;// Đúng long itemQuantities = obj.shoporders[0].items[0].quantity;// Đúng long channelId = obj.shipping_orders[0].selected_logistic_channelid;// Đúng long paymentChannelId = obj.selected_payment_channel_data.channel_id;// Đúng long addressid = obj.shoporders[0].buyer_address_data.addressid;// Đúng string paymentOptionInfo = ""; string paymentChannelItemId = "0"; string paymentChannelExternalItemId = "0"; //string fsvId = ""; // CHỖ NÀY Có fsvID nhưng tại sao chủ thớt ko thêm vào mà bỏ qua luôn ? string useCoin = "1"; long totalPayable = obj.checkout_price_data.total_payable;// Đúng //string deviceFingerprint = obj.device_info.device_fingerprint; không có trong json //string deviceid = obj.device_info.device_id; không có trong json string deviceId = ""; string deviceFingerprint = ""; var list = new List<string> { userID.ToString(), client_id, carType, deviceFingerprint, deviceId, shopid.ToString(), itemid.ToString(), modelid.ToString(), itemQuantities.ToString(), addressid.ToString(), channelId.ToString(), paymentChannelId.ToString(), paymentOptionInfo, paymentChannelItemId, paymentChannelExternalItemId, //fsvId, // Thằng này có , nhưng chủ thớt ko đưa lên ? nếu nó là emty thì code join lại sẽ ra paymentChannelExternalItemId__ship (2 dấu gạch) nếu ko đưa lên nó chỉ ra 1 dấu _ //ship.ToString(), // Thằng ship ko có trong phần khởi tạo của chủ thớt , và e ko biết nó là cái gì luôn ! useCoin, totalPayable.ToString() }; string msg = string.Join("_", list); long timestamp = obj.timestamp; var keylist = new List<string> { timestamp.ToString(), shopid.ToString(), // CHỗ này shop id của thằng bán hay thằng mua không biết luôn . Nếu của thằng mua thì ko có trong file json Nhân_Tố_Bí_Ẩn.ToString(), }; string keyJoin = string.Join("_", keylist); E mong ad hoặc ai có thể giúp con gà như em giải được phần này ạ . Mặc dù e biết e hỏi hơi nhiều
  15. Cám ơn bác , em lấy được file json trong Get rồi , tuy nhiên trong Json đó không hề có obj.device_info.finger và device_id như bài trên . cụ thể là 2 dòng này string finger = obj.device_info.device_fingerprint; string deviceid = obj.device_info.device_id; Vậy là shopee nó đã loại bỏ 2 thông tin đó trong Json rồi , đây là file json trả về . Tới đây thì vẫn hoàn bí , vì ko tìm được 2 thông tin này :( Rồi còn phần Nhân_Tố bí ẩn , em đọc mà chả hiểu gì , đề bài quất nguyên đoạn java lên rồi kiêu lắc não , em lắc rớt não luôn vẫn ko hiểu Hiểu sơ sơ là string Key = Usershopid_timestamp_userid ko biết vậy có đúng chưa
×
×
  • Create New...