自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 NDK 循环优化的BUG

在执行一段解密代码的时候出现错误,导致只解密前几个字节,通过查看汇编代码发现for循环被优化掉了,没有具体研究什么情况下会被优化掉,但是逻辑已经不对了,通过去掉优化,问题解决。方法为加优化标记,去掉优化,如下。__attribute__((optimize("O0")))void FunctionUseFor(params ...){    ...}...

2018-05-17 10:35:31 236

原创 Binder的JAVA接口

之前看的binder的那么多类和接口感觉蛮迷糊的,以ActivityManager为例理了一下。IBinder:远程对象,关键接口就一个transact,发送数据到远程对象上。Binder 实现IBinder接口 onTransact 具体发送的类型数据。ActivityManagerNative 实现了onTransact ,用于解析数据传输,提供方法getDefault获取Acti

2017-11-20 20:56:11 331

原创 apktool 回编译说文件名或扩展名太长

>Caused by: java.io.IOException: Cannot run program "C:\Users\Administrator\ShakaApktool\windows-x86\bin\aapt.exe": CreateProcess error=206, 文件名或扩展名太长。>at java.lang.ProcessBuilder.start(ProcessBuild

2017-10-18 20:57:18 4072 2

原创 Android 非ROOT GDB 调试步骤

直接把命令列出来吧 1、cmd>adb shell am start -D -n appname/LaunchActivity 2、cmd>adb shell 3、cmd>ps | grep str=> get pid 查找进程pid 4、cmd>run-as appname 5、cmd>adb push gdbserver /data/data/appname/tmp 6、cmd>m

2017-10-16 17:29:03 559

原创 Android DEX 文件打开分析

函数为 DexFile_openDexFileNativeClassLinker::OpenDexFilesFromOat 1、 FindOpenedOatDexFile 查找缓存中是否存在,checksum为空或者相同 2、 CreateOatFileForDexLocation 1、生成oat文件 执行execv 调用 dex2oat 生成Oat 会启动进程生成较慢

2017-10-13 16:44:15 2546

原创 Binder 内存分配

android6.0已经把binder_buffer有关的操作和binder.c分开了,实现在binder_alloc.c文件里面 一、binder_alloc_mmap_handler函数进行map,先看这个结构体:struct binder_alloc { struct mutex mutex; struct vm_area_struct *vma; struct mm

2017-10-10 11:13:26 2427

原创 Binder驱动研究

好久没写过博客了,也没怎么研究过源码,偶尔看到别人的博客都是系列研究,自愧不如啊,所以也下下来android源码开始看了,参考网上的讲解,结合源码。希望这样记录下自己的阅读历程,也不枉虚度时光了。         先从android的Binder驱动说起吧,以前也不动Linux驱动,有说错的地方敬请谅解,欢迎指正。一、驱动注册就不详细说了binder_init1、初始化工作队列bind

2017-09-30 10:53:13 455 1

原创 MFC图片按钮

MFC的图片按钮为CBitmapButton,一开始创建的时候由于少写了BS_OWNERDRAW属性,导致不显示图片,因此感觉MFC只是对API的一个简单封装,因此用起来不是特别好用,有一些陷阱,不仔细就容易出现问题。CBitmapButton有个LoadBitmaps,需要把资源加到程序里,不太方便,一个方法是继承CBitmapButton,然后添加一个方法,内部是四个状态的CBitmap,用L

2015-03-09 19:11:24 324

原创 半透明子窗体MFC实现

上一篇说了大概的思路,但是写的时候就可能遇到各种问题,下面给出完整的步骤源代码。先建立一个MFC的对话框程序,然后添加类CTransparentWnd,以下给出改动后的代码。1、CTransparentWnd类#pragma onceclass CTransparentWnd:public CWnd{public:    CTransparentWnd(void);

2015-03-06 09:55:15 1326

原创 VC半透明透明子窗体

对子窗口理解出现一些误区,导致实现跟随其它窗体的透明窗体时走了很多弯路。1、有父窗口不一定具有WS_CHILD属性,父子窗口可以保证Z轴顺序,也就是保证子窗口在父窗口上面。2、Layered Window不能有WS_CHILD属性,但是可以有父窗口,所以也能实现透明和异形效果。3、Z轴顺序用父子窗口关系实现,透明窗体用Layered Window实现,就能很容易实现透明子窗体。4、

2015-03-05 18:48:05 1175

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除