EN
v2.1.7
WPE_TUTORIAL_V2 // 08_APPENDIX

Appendix · Reference

Tutorial Rev · 2.1.8 beta

Four look-it-up-and-go tables: file types by extension, packet types side by side, the directory and dependencies for troubleshooting, and a glossary that settles the naming. Nothing here needs reading front to back — come back when something does not add up.

Appendix A · Data file types

ExtensionContentsExported fromEncrypted
.sbsystem backup — the whole configurationBackup Settings
.fpthe filter listFilter List → Menu
.spthe send listSend List → Menu
.sca send set — the packets of one sendSend Edit
.rpthe robot listRobot List → Menu
.whpthe warehouse listWareHouse List → Menu
.whsstored itemsright-click in the stored items
.pasauto-store rulesAuto Store
.pathe proxy account listAccount List → Menu
.pml / .pmrlocal / remote mappingsMap Settings
.wl / .blallow list / block listFireWall Settings
.xlsExcel — tab-separated textExport to Excel, from any list's context menu
.cer .crt .pem .0the HTTPS root certificateProxy Settings → Export Cert
.filtimport: an old-WPE filterExtraction
.chlsximport: a Charles sessionExtraction
.iniimport and export: CCProxy accountsAccount List / Extraction

Appendix B · Packet types

ValueEnumName on screenModeFilter category
0 / 1WS1_Send / WS2_SendSend 1.1 / SendInjectSend
2 / 3WS1_SendTo / WS2_SendToSendTo 1.1 / SendToInjectSendTo
4 / 5WS1_Recv / WS2_RecvRecv 1.1 / RecvInjectRecv
6 / 7WS1_RecvFrom / WS2_RecvFromRecvFrom 1.1 / RecvFromInjectRecvFrom
8WSASendWSASendInjectWSASend
9WSASendToWSASendToInjectWSASendTo
10 / 11WSARecv / WSARecvExWSARecvInjectWSARecv
12WSARecvFromWSARecvFromInjectWSARecvFrom
13 / 15TCP_Req / TCP_RespTCP request / responseProxyTCP request / response
14 / 16UDP_Req / UDP_RespUDP request / responseProxyUDP request / response
17—20HTTP(S)_Req / RespHTTP(S) request / responseProxynever filtered
21 / 22WebSocket_Req / RespWebSocket request / responseProxynever filtered

Appendix C · Files and dependencies

PathWhat it is
WinsockPacketEditor.exethe main program
WPEHook.dllthe hook assembly injected into the target process
EasyHook32/64.dll, EasyLoad32/64.dllthe EasyHook bootstrap libraries, picked automatically from the target's bitness
x86\SunnyNet.dllthe MITM engine written in Go, with HTTP, HTTPS, WebSocket, TCP and UDP callbacks
IPLocation\qqwry.datthe offline QQWry IP-location database
Config\log4net.configlogging configuration
Web\the static pages of the remote management console
C:\WPE64DB\<version>.dbthe default SQLite database; the path is changeable in Database Setting
ComponentVersionUsed for
AntdUI2.1.12every control, the themes and the localisation
EasyHook2.7process injection and API hooking
SuperSocket1.6.6.1the SOCKS5 server framework
SunnyNetthe HTTPS man-in-the-middle and driver-level Force Proxy
Be.Windows.Forms.HexBox1.6.1the hex editor
DiffPlex1.9text differencing
QQWryIP location lookup
log4net3.3.1logging to disk
EntityFramework + System.Data.SQLite6.0 / 1.0.119persistence
Microsoft.Owin.*4.2.2self-hosting the remote management web service
InputSimulatorthe Robot's keyboard and mouse simulation

Appendix D · Glossary

TermMeaning
Inject Modeinjects WPE's hook assembly into the target process and hooks the WinSock API from inside it
Proxy ModeWPE runs its own SOCKS5 and HTTP proxy services and the target's traffic detours through it
Socketa connection handle; sending a packet needs a valid one
System socketa global socket variable the Send List and Robot can use
Filtera rule that matches and rewrites real network data. Not to be confused with Leach Setting, which only affects what is displayed
Normal modematching at absolute positions — it compares and rewrites at fixed indexes only
Advanced modea sliding search for a signature; it can match in several places and rewrite at relative offsets
Progressionincrements the marked byte by the step on every match or send, with optional carry-over
Randomfills the marked position with a random byte on every send
Excludeinverts a search cell: it matches only when the byte is not the value you entered
Changediscards the original packet and builds a new one from the modify row
UnPacksplits a coalesced TCP stream into whole packets using the head and the length field
Force Proxyuses a driver — NFAPI, Proxifier or WinDivert — to push a named process's traffic through the proxy at system level
Upstream proxychains WPE's outbound traffic on to a further SOCKS proxy
Map Localreplaces the response body of a remote URL with a local file
Map Remoteredirects a request from one URL to another
WareHousewhere packet samples are archived
Auto Storefiles matching proxy packets into a warehouse by packet-head rules; Proxy Mode only
Speed Modea high-throughput mode that displays nothing and only counts packets and runs the filters
Multiple instancesrunning independent configurations side by side by switching the SQLite database path
WPC Configthe nodes, rules and notices published to the WPEProxyCap accelerator client