mirror of
https://github.com/NohamR/RMHook-Win.git
synced 2026-05-24 19:59:43 +00:00
Introduce a PAHO_FORWARDER_EXPORTS macro and generate Original_* FARPROC forwarder targets, replace the many hand-written fake exports with assembly forwarding stubs, and simplify exports.cpp to declare and initialize those forwarder pointers. Refactor paho-mqtt3as-proxy hook logic: improve logging, robustly load/save JSON config using std::filesystem and safe parsing, consolidate URL/host patching logic for HTTP/WS/MQTT, and add safer MQTT URI patching and resolution helpers. Update main to populate forwarder addresses at startup and make hook installation more defensive when symbols aren't found. Add docs images, update README (bump tested version and enable images), remove STATE.md, and adjust .gitignore to keep docs included.
62 lines
3.8 KiB
NASM
62 lines
3.8 KiB
NASM
.code
|
|
|
|
FORWARD_EXPORT MACRO fakeName, targetName
|
|
EXTERN targetName:QWORD
|
|
PUBLIC fakeName
|
|
fakeName PROC
|
|
jmp QWORD PTR [targetName]
|
|
fakeName ENDP
|
|
ENDM
|
|
|
|
FORWARD_EXPORT FakeMQTTAsync_connect, Original_MQTTAsync_connect
|
|
FORWARD_EXPORT FakeMQTTAsync_create, Original_MQTTAsync_create
|
|
FORWARD_EXPORT FakeMQTTAsync_destroy, Original_MQTTAsync_destroy
|
|
FORWARD_EXPORT FakeMQTTAsync_disconnect, Original_MQTTAsync_disconnect
|
|
FORWARD_EXPORT FakeMQTTAsync_free, Original_MQTTAsync_free
|
|
FORWARD_EXPORT FakeMQTTAsync_freeMessage, Original_MQTTAsync_freeMessage
|
|
FORWARD_EXPORT FakeMQTTAsync_getPendingTokens, Original_MQTTAsync_getPendingTokens
|
|
FORWARD_EXPORT FakeMQTTAsync_getVersionInfo, Original_MQTTAsync_getVersionInfo
|
|
FORWARD_EXPORT FakeMQTTAsync_global_init, Original_MQTTAsync_global_init
|
|
FORWARD_EXPORT FakeMQTTAsync_isComplete, Original_MQTTAsync_isComplete
|
|
FORWARD_EXPORT FakeMQTTAsync_isConnected, Original_MQTTAsync_isConnected
|
|
FORWARD_EXPORT FakeMQTTAsync_malloc, Original_MQTTAsync_malloc
|
|
FORWARD_EXPORT FakeMQTTAsync_reconnect, Original_MQTTAsync_reconnect
|
|
FORWARD_EXPORT FakeMQTTAsync_send, Original_MQTTAsync_send
|
|
FORWARD_EXPORT FakeMQTTAsync_sendMessage, Original_MQTTAsync_sendMessage
|
|
FORWARD_EXPORT FakeMQTTAsync_setAfterPersistenceRead, Original_MQTTAsync_setAfterPersistenceRead
|
|
FORWARD_EXPORT FakeMQTTAsync_setBeforePersistenceWrite, Original_MQTTAsync_setBeforePersistenceWrite
|
|
FORWARD_EXPORT FakeMQTTAsync_setCallbacks, Original_MQTTAsync_setCallbacks
|
|
FORWARD_EXPORT FakeMQTTAsync_setConnected, Original_MQTTAsync_setConnected
|
|
FORWARD_EXPORT FakeMQTTAsync_setConnectionLostCallback, Original_MQTTAsync_setConnectionLostCallback
|
|
FORWARD_EXPORT FakeMQTTAsync_setDeliveryCompleteCallback, Original_MQTTAsync_setDeliveryCompleteCallback
|
|
FORWARD_EXPORT FakeMQTTAsync_setDisconnected, Original_MQTTAsync_setDisconnected
|
|
FORWARD_EXPORT FakeMQTTAsync_setMessageArrivedCallback, Original_MQTTAsync_setMessageArrivedCallback
|
|
FORWARD_EXPORT FakeMQTTAsync_setTraceCallback, Original_MQTTAsync_setTraceCallback
|
|
FORWARD_EXPORT FakeMQTTAsync_setTraceLevel, Original_MQTTAsync_setTraceLevel
|
|
FORWARD_EXPORT FakeMQTTAsync_setUpdateConnectOptions, Original_MQTTAsync_setUpdateConnectOptions
|
|
FORWARD_EXPORT FakeMQTTAsync_strerror, Original_MQTTAsync_strerror
|
|
FORWARD_EXPORT FakeMQTTAsync_subscribe, Original_MQTTAsync_subscribe
|
|
FORWARD_EXPORT FakeMQTTAsync_subscribeMany, Original_MQTTAsync_subscribeMany
|
|
FORWARD_EXPORT FakeMQTTAsync_unsubscribe, Original_MQTTAsync_unsubscribe
|
|
FORWARD_EXPORT FakeMQTTAsync_unsubscribeMany, Original_MQTTAsync_unsubscribeMany
|
|
FORWARD_EXPORT FakeMQTTAsync_waitForCompletion, Original_MQTTAsync_waitForCompletion
|
|
FORWARD_EXPORT FakeMQTTProperties_add, Original_MQTTProperties_add
|
|
FORWARD_EXPORT FakeMQTTProperties_copy, Original_MQTTProperties_copy
|
|
FORWARD_EXPORT FakeMQTTProperties_free, Original_MQTTProperties_free
|
|
FORWARD_EXPORT FakeMQTTProperties_getNumericValue, Original_MQTTProperties_getNumericValue
|
|
FORWARD_EXPORT FakeMQTTProperties_getNumericValueAt, Original_MQTTProperties_getNumericValueAt
|
|
FORWARD_EXPORT FakeMQTTProperties_getProperty, Original_MQTTProperties_getProperty
|
|
FORWARD_EXPORT FakeMQTTProperties_getPropertyAt, Original_MQTTProperties_getPropertyAt
|
|
FORWARD_EXPORT FakeMQTTProperties_hasProperty, Original_MQTTProperties_hasProperty
|
|
FORWARD_EXPORT FakeMQTTProperties_propertyCount, Original_MQTTProperties_propertyCount
|
|
FORWARD_EXPORT FakeMQTTPropertyName, Original_MQTTPropertyName
|
|
FORWARD_EXPORT FakeMQTTProperty_getType, Original_MQTTProperty_getType
|
|
FORWARD_EXPORT FakeMQTTReasonCode_toString, Original_MQTTReasonCode_toString
|
|
FORWARD_EXPORT FakeThread_create_mutex, Original_Thread_create_mutex
|
|
FORWARD_EXPORT FakeThread_getid, Original_Thread_getid
|
|
FORWARD_EXPORT FakeThread_lock_mutex, Original_Thread_lock_mutex
|
|
FORWARD_EXPORT FakeThread_start, Original_Thread_start
|
|
FORWARD_EXPORT FakeThread_unlock_mutex, Original_Thread_unlock_mutex
|
|
|
|
END
|