{"id":31221576,"url":"https://github.com/pa1n-dev/rtl8125_emulation","last_synced_at":"2026-02-16T19:39:53.628Z","repository":{"id":311266330,"uuid":"1009194582","full_name":"pa1n-dev/rtl8125_emulation","owner":"pa1n-dev","description":"rtl8125 emulation","archived":false,"fork":false,"pushed_at":"2025-08-27T20:15:14.000Z","size":2125,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-21T21:01:13.002Z","etag":null,"topics":["battle-eye","bypass","dma","dma-attack","eac-bypass-tool","emulation","fpga","guide","pcileech","pcileech-fpga"],"latest_commit_sha":null,"homepage":"","language":"Verilog","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pa1n-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-26T18:20:45.000Z","updated_at":"2025-09-07T10:50:49.000Z","dependencies_parsed_at":"2025-08-23T17:27:08.093Z","dependency_job_id":"b4efa37d-84e4-4795-9e97-03f4a98a1bd0","html_url":"https://github.com/pa1n-dev/rtl8125_emulation","commit_stats":null,"previous_names":["pa1n-dev/rtl8125_emulation"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pa1n-dev/rtl8125_emulation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa1n-dev%2Frtl8125_emulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa1n-dev%2Frtl8125_emulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa1n-dev%2Frtl8125_emulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa1n-dev%2Frtl8125_emulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pa1n-dev","download_url":"https://codeload.github.com/pa1n-dev/rtl8125_emulation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa1n-dev%2Frtl8125_emulation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29516176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T18:37:19.720Z","status":"ssl_error","status_checked_at":"2026-02-16T18:36:46.920Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["battle-eye","bypass","dma","dma-attack","eac-bypass-tool","emulation","fpga","guide","pcileech","pcileech-fpga"],"created_at":"2025-09-21T20:55:41.569Z","updated_at":"2026-02-16T19:39:53.621Z","avatar_url":"https://github.com/pa1n-dev.png","language":"Verilog","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DMA RTL8125\n\n\u003e [!WARNING]  \n\u003e #### For educational purposes only\n\nTested on Easy Anti-Cheat (EAC) in APEX Legends.\n\nTested on BattlEye in Arma3/DayZ.\n\n## Usage\n\nDownload CH347FPGATool [from](https://github.com/WCHSoftGroup/ch347/releases).\n\nDownload firmware for you DMA [from](https://github.com/pa1n-dev/rtl8125_emulation/releases).\n\nOpen CH347FPGATool:\n\n![CH347FPGATool](https://github.com/user-attachments/assets/b5361dea-7c1f-4115-acd4-739450fd3e22)\n\n1. Select your DMA card.\n2. Select \"BIN\".\n3. Select firmware.\n4. Start flash.\n\n## Guide to creating your own firmware\n\n### 1. Find Bar's Address\n\n```bash\nsudo lspci -vv -s 05:00.0\n```\n\n05:00.0 — This is your PCI device ID\n\noutput:\n\n```\n05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTLXXXX PCI Express Gigabit Ethernet Controller (rev 02)\n\tSubsystem: Realtek Semiconductor Co., Ltd. Device 0123\n\tControl: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+\n\tStatus: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast \u003eTAbort- \u003cTAbort- \u003cMAbort- \u003eSERR- \u003cPERR- INTx-\n\tLatency: 0, Cache Line Size: 64 bytes\n\tInterrupt: pin A routed to IRQ 17\n\tRegion 0: I/O ports at 3000 [size=256]\n\tRegion 2: Memory at ADDRESS_1 (64-bit, non-prefetchable) [size=SIZE_1 K]\n\tRegion 4: Memory at ADDRESS_2 (64-bit, prefetchable) [size=SIZE_2 K]\n\n```\n\n### 2. Create Memory Dump\n\n```bash\nsudo dd if=/dev/mem of=bar2.bin bs=1 count=$((SIZE_1*1024)) skip=$((0xADDRESS_1)) iflag=skip_bytes\nsudo dd if=/dev/mem of=bar4.bin bs=1 count=$((SIZE_2*1024)) skip=$((0xADDRESS_2)) iflag=skip_bytes\n```\n\nWhere is 0xdf200000 - Bar2 address and 64 - is size in K\nWhere is 0xdf210000 - Bar4 address and 16 - is size in K\n\n### 3. Convert Dump to Verilog\n\nUse `dump.py`:\n\nRun:\n\n```bash\npython3 dump.py -i bar2.bin -o bar2.v\npython3 dump.py -i bar4.bin -o bar4.v\n```\n\n### 4. Update ver\n\nIn the file [pcileech_tlps128_bar_controller.sv](https://github.com/pa1n-dev/rtl8125_emulation/blob/main/src/pcileech_tlps128_bar_controller.sv) replace the values with your own.\n- Insert bar2.v code [here](https://github.com/pa1n-dev/rtl8125_emulation/blob/cf3238407b379803bb9f35cfac157baa8a53898f/src/pcileech_tlps128_bar_controller.sv#L893).  \n- Insert bar4.v code [here](https://github.com/pa1n-dev/rtl8125_emulation/blob/cf3238407b379803bb9f35cfac157baa8a53898f/src/pcileech_tlps128_bar_controller.sv#L5007).\n\nUpdate [pcie_7x_0_core_top.v](https://github.com/pa1n-dev/rtl8125_emulation/blob/main/pcie_7x/pcie_7x_0_core_top.v).\nFor this, it's convenient to use LeCroy TeleScan PE or [drvscan](https://github.com/ekknod/drvscan/)\n\n## Result of work\n\n![Driver](https://github.com/user-attachments/assets/640a6766-e0b7-4417-a956-3445d0c913c4)\n\n![LeCroy](https://github.com/user-attachments/assets/a198e107-cd12-44e0-bbf0-bb806e3f200b)\n\n![Test](https://github.com/user-attachments/assets/5af644a9-3573-4c33-a526-5eb1f773eac9)\n\n## Credits\n\n- Special thanks to: [ekknod](https://github.com/ekknod)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpa1n-dev%2Frtl8125_emulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpa1n-dev%2Frtl8125_emulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpa1n-dev%2Frtl8125_emulation/lists"}