shadowhook v1.1.1 #82
Colibrow
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
New Features
1. Added 4 APIs for registering/unregistering
pre/postcallbacks ofsoinfo::call_constructorsandsoinfo::call_destructorsshadowhook_register_dl_init_callback(),shadowhook_unregister_dl_init_callback().shadowhook_register_dl_fini_callback(),shadowhook_unregister_dl_fini_callback().Bug Fixes
1. Fixed the IT instruction fix bug under Thumb instructions
The fix for the IT instruction under the
necondition under Thumb has been corrected.In the previous version, because the incorrect use of memset would make
it->firstcondalways 0, only theeqcase could be fixed correctly in the conditional judgment.2. Fix the memory leak bug caused by the thread re-entering the proxy function
Currently, if the function after
pthread_key_clean_allis hooked, the proxy function execution will be skipped and no memory leak will be caused.In the previous version: if the proxy function is run after the thread's
pthread_key_clean_allcall, if there are more thanSH_HUB_THREAD_MAXcachedhub_stackat this time, new memory will be mmaped out throughsh_hub_stack_createand will not be released.Improvement
新特性
1. 新增4个API,用于注册 / 反注册
soinfo::call_constructors和soinfo::call_destructors的pre /post回调shadowhook_register_dl_init_callback(),shadowhook_unregister_dl_init_callback()。shadowhook_register_dl_fini_callback(),shadowhook_unregister_dl_fini_callback()。Bugs 修复
1. 修复了Thumb指令下的IT指令修复bug
针对IT指令在Thumb下的
ne条件下的指令修复进行了修正。在之前的版本中因为memset的错误使用会使得
it->firstcond一直为0,所以在条件判断中只能正确修复eq的情况。2. 修复线程再次进入代理函数引起的内存泄漏bug
目前如果hook了在
pthread_key_clean_all之后的函数将会跳过代理函数执行,不引起内存泄漏。在之前的版本中:如果代理函数在线程的
pthread_key_clean_all调用之后运行,如果此时已经超过SH_HUB_THREAD_MAX个缓存的hub_stack,会通过sh_hub_stack_createmmap出新的内存并且不会释放。改进
This discussion was created from the release shadowhook v1.1.1.
Beta Was this translation helpful? Give feedback.
All reactions