当前位置:网站首页>[Android reverse] function interception (use cache_flush system function to refresh CPU cache | refresh CPU cache disadvantages | recommended time for function interception)
[Android reverse] function interception (use cache_flush system function to refresh CPU cache | refresh CPU cache disadvantages | recommended time for function interception)
2022-07-04 07:09:00 【Programmer community】
List of articles
- One 、 Use cache_flush System function refresh CPU Cache
- Two 、 Use cache_flush System function refresh CPU The disadvantages of cache
- 3、 ... and 、 Function intercept recommended timing
One 、 Use cache_flush System function refresh CPU Cache
Use " Add jump code to the actually called function to realize function interception " programme Function interception , Due to the existence CPU Cache mechanism , No guarantee 100% success ;
Here you need to refresh CPU The cache of , call cache_flush
System function , Will be CPU All data related to the process in the cache are cleared , Then reload the cache information from memory , At this point, you can put After modification Added jump function Intercepted function , Reload into memory , here CPU You can execute The modified Intercepted function ; Interception effective ;
Two 、 Use cache_flush System function refresh CPU The disadvantages of cache
Use cache_flush System function refresh CPU The disadvantages of cache :
① Performance loss : CPU Rebuild cache , Resulting in reduced execution efficiency , Could cause Caton , Flashback, etc ;
② Affect other processes : Multicore CPU If you refresh Cache , May cause other processes Cache Also refreshed , Affect the execution of other processes ;
③ Affect multithreaded code logic : Multiple threads compete CPU Executive authority , It's empty CPU In cache ,
Multithreaded execution logic Reference resources 【Java Concurrent programming 】 Thread Introduction ( Concurrency type | Thread state | CPU Data caching ) Blog , Java Threads Runtime , Every Java Threads are equipped with a The working memory , Then the working memory starts from Main memory Get data in , Main memory is shared by all working memory ;
- The working memory Namely Thread Local memory , Which is stored in the main memory Copies of variables , Before using variables in main memory , First copy the variable to the working memory ;
- When in a thread Modified the data in working memory , At the same time Synchronize the changes of variables to main memory ;
there The worker thread / Local thread amount to CPU Medium L1 / L2 cache , Main memory amount to CPU Medium L3 cache ;
If the cache is cleared , There must be problems with multithreading execution ;
3、 ... and 、 Function intercept recommended timing
Whereas Function interception need Empty CPU Cache There are the above disadvantages , Therefore, it is suggested that Function interception during program initialization , Do not do this while the program is running Function interception ;
If you have to intercept after the program starts , Can only risk Empty CPU Cache , However, it is recommended to intercept all functions at one time , Don't do it frequently Function interception + Empty CPU Cache operation , The more times , The more likely it is to go wrong ;
边栏推荐
- Electronic Association C language level 1 35, bank interest
- Su Weijie, a member of Qingyuan Association and an assistant professor at the University of Pennsylvania, won the first Siam Youth Award for data science, focusing on privacy data protection, etc
- Finishing (III) - Exercise 2
- tornado项目之路由装饰器
- Tar source code analysis Part 10
- selenium驱动IE常见问题解决Message: Currently focused window has been closed.
- Splicing plain text into JSON strings - easy language method
- [GF (q) + LDPC] regular LDPC coding and decoding design and MATLAB simulation based on the GF (q) field of binary graph
- js 常用时间处理函数
- Tar source code analysis 6
猜你喜欢
Knowledge payment applet dream vending machine V2
【网络数据传输】基于FPGA的百兆网/兆网千UDP数据包收发系统开发,PC到FPGA
The number of patent applications in China has again surpassed that of the United States and Japan, ranking first in the world for 11 consecutive years
leetcode825. Age appropriate friends
The most effective futures trend strategy: futures reverse merchandising
Mobile adaptation: vw/vh
期末周,我裂开
What is industrial computer encryption and how to do it
Responsive mobile web test questions
图的底部问题
随机推荐
Chapter 1 programming problems
Tar source code analysis 6
Recursive Fusion and Deformable Spatiotemporal Attention for Video Compression Artifact Reduction
Knowledge payment applet dream vending machine V2
在已经知道表格列勾选一个显示一列
Introduction to deep learning Ann neural network parameter optimization problem (SGD, momentum, adagrad, rmsprop, Adam)
The important role of host reinforcement concept in medical industry
[Valentine's day] - you can change your love and write down your lover's name
What is industrial computer encryption and how to do it
Vulhub vulnerability recurrence 77_ zabbix
leetcode825. 适龄的朋友
The crackdown on Huawei prompted made in China to join forces to fight back, and another enterprise announced to invest 100 billion in R & D
Bottom problem of figure
The cloud native programming challenge ended, and Alibaba cloud launched the first white paper on application liveliness technology in the field of cloud native
Cochez une colonne d'affichage dans une colonne de tableau connue
Shopping malls, storerooms, flat display, user-defined maps can also be played like this!
Design of test cases
[FPGA tutorial case 8] design and implementation of frequency divider based on Verilog
响应式——媒体查询
tars源码分析之4