Jump to content

Recommended Posts

5 hours ago, QuangBlue said:

Lấy từ https://banhang.shopee.vn/webchat/api/v1.2/login?_uid={uid}&csrf_token={csrf_token}'

 

Mỵ xem giúp với,  hix bí cả tuần ko làm được gì T_T

à mỵ quên mất ko xem lại, còn một dãy số bí ẩn thêm vào header nữa mà bạn không cho vào :

'x-s': '17a85bb5c5969b2039af0854a1e9396e',
'x-v': '2',

Cái này mỵ copy từ request chát nên chưa tìm được nó ở đâu...khi thay đổi nó thì ko gửi đi được. Bạn thử tìm cùng mỵ xem

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
5 hours ago, Thiên Chi Kiều Nữ said:

à mỵ quên mất ko xem lại, còn một dãy số bí ẩn thêm vào header nữa mà bạn không cho vào :


'x-s': '17a85bb5c5969b2039af0854a1e9396e',
'x-v': '2',

Cái này mỵ copy từ request chát nên chưa tìm được nó ở đâu...khi thay đổi nó thì ko gửi đi được. Bạn thử tìm cùng mỵ xem

T_T thua luôn. có tìm rồi mà tìm không ra, Mỹ có code ko share mình được ko T_T

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
54 minutes ago, QuangBlue said:

T_T thua luôn. có tìm rồi mà tìm không ra, Mỹ có code ko share mình được ko T_T

hình như dãy số này ko đổi :v bạn cho cho mỵ cái đoạn F12 header khi bạn chát xem..... mỵ có tìm ra đâu mà có code :D

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites

 

18 hours ago, Công Dũng said:

cái này tìm trong file js của shopee nha bạn 

 

20 hours ago, Thiên Chi Kiều Nữ said:

hình như dãy số này ko đổi :v bạn cho cho mỵ cái đoạn F12 header khi bạn chát xem..... mỵ có tìm ra đâu mà có code :D

Mình tìm thấy đoạn này trong JS của shopee :

 

return new Promise((function(e, a) {
                        if (void 0 !== x && parseInt(x) <= 0 || void 0 !== C && parseInt(C) <= 0) {
                            var d = [b, C, y, x, _].filter((function(e) {
                                return e
                            }
                            )).join("/");
                            return f.reportException(d + " parameter exception: " + C + "/" + x),
                            void a(new Error)
                        }
                        var A = z.includes("/webchat/api") ? {
                            "x-v": w || "",
                            "x-s": (0,
                            p.getSecurityHash)(w, {
                                url: F,
                                method: S,
                                token: k.Authorization,
                                ctoken: n || ""
                            })
                        } : {}
                          , h = {
                            method: S,
                            headers: r({}, k, A),
                            body: R
                        };
                        M && (h.credentials = M),
                        (0,
                        o.default)(z, h).then((function(e) {
                            switch (200 === (B = e.status) && (T = parseInt(e.headers.get("total")),
                            P = parseInt(e.headers.get("per-page"))),
                            B) {
                            case 204:
                                return null;
                            case 404:
                                return {
                                    message: "Resource not found"
                                };
                            case 500:
                                return {
                                    message: "Internal server error."
                                };
                            case 502:
                                return {
                                    message: "Bad Gateway"
                                };
                            default:
                                return e.json()
                            }
                        }
                        )).then((function(n) {
                            var r, o, d, p = Date.now() - D;
                            if ("read" === y && (0,
                            u.collectAsyncTask)(u.ReportPoint.READ_API, p),
                            void 0 === x && void 0 !== y && ("messages" === y && U.indexOf("shop_id") < 0 ? (L = JSON.parse(R).request_id,
                            (0,
                            l.setItem)(L, D),
                            (0,
                            u.collectAsyncTask)(u.ReportPoint.MESSAGE_API, p)) : u.ReportPoint[y.toUpperCase()] && (0,
                            u.collectAsyncTask)(u.ReportPoint[y.toUpperCase()], p)),
                            200 === B ? e(n instanceof Array ? (r = {
                                total: T,
                                perPage: P
                            },
                            o = y,
                            d = n.map(N),
                            o in r ? Object.defineProperty(r, o, {
                                value: d,
                                enumerable: !0,
                                configurable: !0,
                                writable: !0
                            }) : r[o] = d,
                            r) : N(n)) : 204 === B && e(),
                            (0,
                            i.isError)(B)) {
                                var A = t || [b, C, y, x, _].filter((function(e) {
                                    return e
                                }
                                )).join("/");
                                if (400 !== B && 404 !== B || (f.setTag("API Request Error", A),
                                f.reportException(new ((0,
                                i.HTTPError)(B))(JSON.stringify({
                                    body: n,
                                    status: B
                                })))),
                                [429, 491, 493].includes(B)) {
                                    var h = new ((0,
                                    i.HTTPError)(B))(n);
                                    a(h)
                                } else if (401 === B)
                                    if (y.includes("login")) {
                                        var g = new ((0,
                                        i.HTTPError)(B))(n.message,n.errors || n.error_code || n.errcode,n.data);
                                        a(g)
                                    } else
                                        s.store.dispatch((0,
                                        c.handle401ErrorRequested)({
                                            resource: y
                                        }));
                                else {
                                    var m = new ((0,
                                    i.HTTPError)(B))(n.message,n.errors || n.error_code || n.errcode,n.data);
                                    a(m)
                                }
                            }
                        }

mà thề là đang học python thôi. cái JS này  .... :( mọi người giúp mình với. 

 

 

Còn đây là link download cái file JS đó. https://drive.google.com/file/d/1tJYCquippPHJIROUdOZWBa5CAItullS7/view?usp=sharing

 

Edited by QuangBlue

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
34 minutes ago, Công Dũng said:

getSecurityHash bạn tìm hàm này thử xem

@Thiên Chi Kiều Nữ @Công Dũng

 

function(e, t, n) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            }),
            t.getSecurityHash = function(e, t) {
                var n = t.url
                  , r = t.method
                  , c = t.token
                  , u = t.ctoken
                  , l = function(e) {
                    return "live" === (0,
                    o.getRuntimeServer)() ? i[e] : s[e]
                }(e);
                switch (e) {
                case 1:
                    return function(e, t) {
                        return (0,
                        a.default)(e + t).toString()
                    }(n, l);
                case 2:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, r);
                case 3:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, c);
                case 4:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, u);
                default:
                    return ""
                }
            }
            ;
            var r, a = (r = n(54)) && r.__esModule ? r : {
                default: r
            }, o = n(4), s = {
                1: "70c74f4e-dcda-483e-826b-19dd2c42e799",
                2: "29ffec18-c614-4645-8f1c-686e22d2e26a",
                3: "04229e76-1ba3-4ac9-8a4e-68d46a3881a2",
                4: "a3769a87-35cf-45e9-a5a7-2b4016c52e92"
            }, i = {
                1: "396c15ad-6d3e-4018-98be-cef58cb45cd0",
                2: "607c871d-b766-4c6f-ba89-b6c6ca32b156",
                3: "42990074-9a73-4459-b749-f3110d222a72",
                4: "5702b6f3-62a3-44d2-abe8-fece100a8bf4"
            }
        }

cái getSecurityHash mình thấy có chỗ này. Mọi người igúp mình với,  không học JS nên ngu quá T_T

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
5 hours ago, QuangBlue said:

@Thiên Chi Kiều Nữ @Công Dũng

 


function(e, t, n) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            }),
            t.getSecurityHash = function(e, t) {
                var n = t.url
                  , r = t.method
                  , c = t.token
                  , u = t.ctoken
                  , l = function(e) {
                    return "live" === (0,
                    o.getRuntimeServer)() ? i[e] : s[e]
                }(e);
                switch (e) {
                case 1:
                    return function(e, t) {
                        return (0,
                        a.default)(e + t).toString()
                    }(n, l);
                case 2:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, r);
                case 3:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, c);
                case 4:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, u);
                default:
                    return ""
                }
            }
            ;
            var r, a = (r = n(54)) && r.__esModule ? r : {
                default: r
            }, o = n(4), s = {
                1: "70c74f4e-dcda-483e-826b-19dd2c42e799",
                2: "29ffec18-c614-4645-8f1c-686e22d2e26a",
                3: "04229e76-1ba3-4ac9-8a4e-68d46a3881a2",
                4: "a3769a87-35cf-45e9-a5a7-2b4016c52e92"
            }, i = {
                1: "396c15ad-6d3e-4018-98be-cef58cb45cd0",
                2: "607c871d-b766-4c6f-ba89-b6c6ca32b156",
                3: "42990074-9a73-4459-b749-f3110d222a72",
                4: "5702b6f3-62a3-44d2-abe8-fece100a8bf4"
            }
        }

cái getSecurityHash mình thấy có chỗ này. Mọi người igúp mình với,  không học JS nên ngu quá T_T

Bạn phải tìm xem giá trị e, t, n kia được truyền vào là gì, sau đó execute cái js này ra thì nó ra kết quả dãy số đó cho bạn :167788066751813:

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
14 giờ trước, QuangBlue said:

@Thiên Chi Kiều Nữ @Công Dũng

 


function(e, t, n) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            }),
            t.getSecurityHash = function(e, t) {
                var n = t.url
                  , r = t.method
                  , c = t.token
                  , u = t.ctoken
                  , l = function(e) {
                    return "live" === (0,
                    o.getRuntimeServer)() ? i[e] : s[e]
                }(e);
                switch (e) {
                case 1:
                    return function(e, t) {
                        return (0,
                        a.default)(e + t).toString()
                    }(n, l);
                case 2:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, r);
                case 3:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, c);
                case 4:
                    return function(e, t, n) {
                        return (0,
                        a.default)(e + t + n).toString()
                    }(n, l, u);
                default:
                    return ""
                }
            }
            ;
            var r, a = (r = n(54)) && r.__esModule ? r : {
                default: r
            }, o = n(4), s = {
                1: "70c74f4e-dcda-483e-826b-19dd2c42e799",
                2: "29ffec18-c614-4645-8f1c-686e22d2e26a",
                3: "04229e76-1ba3-4ac9-8a4e-68d46a3881a2",
                4: "a3769a87-35cf-45e9-a5a7-2b4016c52e92"
            }, i = {
                1: "396c15ad-6d3e-4018-98be-cef58cb45cd0",
                2: "607c871d-b766-4c6f-ba89-b6c6ca32b156",
                3: "42990074-9a73-4459-b749-f3110d222a72",
                4: "5702b6f3-62a3-44d2-abe8-fece100a8bf4"
            }
        }

cái getSecurityHash mình thấy có chỗ này. Mọi người igúp mình với,  không học JS nên ngu quá T_T

var n = t.url
                  , r = t.method
                  , c = t.token
                  , u = t.ctoken
                  , l = function(e) {
                    return "live" === (0,
                    o.getRuntimeServer)() ? i[e] : s[e]
                }(e);
mấy biến n r c u l i bạn thay vào công thức case là ra đó

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
24 minutes ago, Công Dũng said:

var n = t.url
                  , r = t.method
                  , c = t.token
                  , u = t.ctoken
                  , l = function(e) {
                    return "live" === (0,
                    o.getRuntimeServer)() ? i[e] : s[e]
                }(e);
mấy biến n r c u l i bạn thay vào công thức case là ra đó

n = ctoken rồi nhóe :v khỏi tìm mất công 

zY1WkOR.png

mỵ đơ lắm rồi :v ace tìm tiếp nhóe :167788276751792:

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
On 1/14/2021 at 8:45 AM, Thiên Chi Kiều Nữ said:

n = ctoken rồi nhóe :v khỏi tìm mất công 

zY1WkOR.png

mỵ đơ lắm rồi :v ace tìm tiếp nhóe :167788276751792:

 

On 1/14/2021 at 8:13 AM, Công Dũng said:

var n = t.url
                  , r = t.method
                  , c = t.token
                  , u = t.ctoken
                  , l = function(e) {
                    return "live" === (0,
                    o.getRuntimeServer)() ? i[e] : s[e]
                }(e);
mấy biến n r c u l i bạn thay vào công thức case là ra đó

Em thề là em bỏ ra 2 tuần học JS để chỉ đọc cái này thôi , mà đến hôm nay bỏ cuộc luôn .... có anh chị em nào hỗ trợ e chuyển nó về python ko ạ T_T. Tính phí cũng dc. Trực tiếp zalo e dc ko. :( 0908990094 đúng oải luôn huhu

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
9 giờ trước, QuangBlue said:

 

Em thề là em bỏ ra 2 tuần học JS để chỉ đọc cái này thôi , mà đến hôm nay bỏ cuộc luôn .... có anh chị em nào hỗ trợ e chuyển nó về python ko ạ T_T. Tính phí cũng dc. Trực tiếp zalo e dc ko. :( 0908990094 đúng oải luôn huhu

chỗ switch case là 4 công thức đó bác shopee nó thay phiên để thay key secret bác thay vào công thức là được mà rồi giải mã md5 nữa là dxong

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
14 hours ago, Công Dũng said:

chỗ switch case là 4 công thức đó bác shopee nó thay phiên để thay key secret bác thay vào công thức là được mà rồi giải mã md5 nữa là dxong

Dạ vấn đề là em hiểu thêm 4 cái biến đó vào cái def đó. Nhưng cơ bản là e ko có căn bản JS cho nên đọc không hiểu gì ráo ... bác có thể giúp e chuyển quá python không . :(

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
4 giờ trước, QuangBlue said:

Dạ vấn đề là em hiểu thêm 4 cái biến đó vào cái def đó. Nhưng cơ bản là e ko có căn bản JS cho nên đọc không hiểu gì ráo ... bác có thể giúp e chuyển quá python không . :(

mình cũng mới tập tành code mới đây thôi mà cơ bản thì ngôn ngữ nào cũng như nhau mà mình ra công thức là được bác. được thì add nick sky mình chỉ công thức cho

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites
On 1/30/2021 at 4:43 PM, Công Dũng said:

mình cũng mới tập tành code mới đây thôi mà cơ bản thì ngôn ngữ nào cũng như nhau mà mình ra công thức là được bác. được thì add nick sky mình chỉ công thức cho

ok bác. bác cho mình skype của bác đi. cảm ơn bác nhiều lắmmmmm.

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Trả lời chủ đề này...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...