模拟器调试的缺点: 1、android自带emulator,基于ARM架构,缺点启动慢,IDA附加经常下不了断点,权限不够等 2、droid4x(中文名海马玩),基于ARM架构,缺点同上 3、Genymotion,基于X86架构,启动快,缺点对于不...
分类:
其他好文 时间:
2015-08-05 10:52:46
阅读次数:
536
又一道迭代加深搜索,从小到大枚举上限 。 关键的剪枝部分是写出启发函数,这个比较难。。
不过每次剪切后,不正确的数字个数最多减三还是很好理解的,因为我们算不正确数字个数的方法是看当前数字+1是不是等于下一个数字 。 所以每次剪切最多只有3个数字的后继数字发生了改变。 那么 剪枝条件就显而易见了 。
代码如下:
#include
using namespace std;
const in...
分类:
编程语言 时间:
2015-08-05 10:31:49
阅读次数:
156
IDA*算法, 从小到大枚举深度上限,不过该题是有深度上限的,题目中的第一个样例表明:最多需要5个皇后就可以覆盖整个棋盘 。
利用紫书上的技巧,我们可以快速的判断任意两个棋子是不是在同一行、同一列、同一对角线 (详情见紫书P193那两个图)。
这样之后暴力搜索就可以了 。 每一层需要O(nm)的复杂度,但是实际上并不需要那么大的复杂度 。和八皇后问题类似 , 当前行之前的行已经放置了皇后,...
分类:
其他好文 时间:
2015-08-05 08:57:48
阅读次数:
194
IDA*算法,迭代加深搜索和A*算法的结合 。
迭代加深搜索适用于那些没有明显深度上限的题目,将深度从小到大枚举,直到找到最优解 ,减小了深搜的盲目性 。
A*算法需要一个乐观估价函数,在这个函数里寻找一个代价最小的点去搜索,所以时间复杂度都浪费在这个上面了 。
其实我照着紫书上巧的,感觉很容易,实际上其中的算法思想是要静下心来仔细研究的,练ACM这么久了,深深感到这个竞赛是那么的迷人,又是...
分类:
编程语言 时间:
2015-08-04 21:06:59
阅读次数:
163
我们知道so文件在被加载的时候会首先执行.init_array中的函数,然后再执行JNI_OnLoad()函数。JNI_Onload()函数因为有符号表所以非常容易找到,但是.init_array里的函数需要自己去找一下。首先打开view ->Open subviews->Segments。然后点击...
分类:
其他好文 时间:
2015-08-04 20:48:17
阅读次数:
184
在android调试中,你会经常见到这种类型的函数:首先是一个指针加上一个数字,比如v3+676。然后将这个地址作为一个方法指针进行方法调用,并且第一个参数就是指针自己,比如(v3+676)(v3…)。这实际上就是我们在JNI里经常用到的JNIEnv方法。因为Ida并不会自动的对这些方法进行识别,所...
分类:
其他好文 时间:
2015-08-04 20:38:29
阅读次数:
167
Ida双开定位的意思是先用ida静态分析so文件,然后再开一个ida动态调试so文件。因为在动态调试中ida并不会对整个动态加载的so文件进行详细的分析,所以很多函数并无法识别出来。比如静态分析中有很多的sub_XXXX函数:但动态调试中的ida是没有这些信息的。所以我们需要双开ida,然后通过id...
分类:
其他好文 时间:
2015-08-04 20:37:50
阅读次数:
135
有时我们想要将app中的某个函数的逻辑提取出来,用gcc重新编译一个可执行文件,比如我们想要写一个注册机,就需要把app生成key的逻辑提取出来。但是ida ”F5”过后的c语言直接编译经常会有很多错误,比如未定义的宏,未定义的声明等。这是因为这些宏都在ida的一个头文件里。里面定义了所有ida自定...
分类:
其他好文 时间:
2015-08-04 20:36:36
阅读次数:
761
因为题目还可以做所以不放比赛名称,做个备忘吧~首先上IDA,前面401000处第一条指令跳过,修复栈平衡。然后发现验证的函数如下,可以看出这里主要是要逆算法了。当时室友也在做这题,晚了10分钟解出来,卡在我分析的地方,以后一定记住所见即所得。把算法捋一下,同时用ollydbg跑,即可看出算法的大致端...
分类:
其他好文 时间:
2015-07-30 07:03:07
阅读次数:
201
1. 首先,在VMWARE上安装 android 系统
2. 安装完成后 安装APK程序,
3. 启动APK程序
4. 启动andriod上的terminal 然后su 到root
5. 用ps命令查看进程要调试的APK进程ID
6.在Andriod 上启动gdbserver 并attach 到要调试的进程上
具体命令为 gdbserver 0.0.0.0:12345 --at...
分类:
移动开发 时间:
2015-07-17 10:10:37
阅读次数:
468