本文目录一览:
一、安卓APP
用android-killer可以反编译apk,比较方便,不过只能看到 *** ail文件,学习一点 *** ail,你可以看明白他的源代码的意思,如果有壳的话,先改apk后缀后为zip,找到加壳的so文件,一般如名字中带xxxprotect.so 用百度,360,腾讯厂商加固的话,也都有对应特点,然后把这个so文件用IDA pro打开,找到它的关键加密算法。找到后,一版是不让进加密算法,直接return。就可去壳,去了壳之后,再进行重打包签名,测试下。
二、ios上的app一般走如下流程
1、 拿个越狱机-下好工具
2、 去越狱平台下个想分析的应用(或者去app store下,用解密工具解密一下)
3、 导入reveal分析页面,得到想要的知道的具体视图类或者大致范围
4、 分析class-dump中,找到想要的类和函数
5、 在IDA或者Hopper中找到具体函数,查看汇编逻辑
6、 修改相应的逻辑,达到篡改目的,重新打包
就是伪代码,也就是就是用常规语言或文字符号(即非编程语言写的)代码算法,叫伪代码
只是为了直观的表达出算法,才用伪代码,还有相应的伪代码语言等,这些代码无法运行,只有通过按照伪代码所表达的算法或操作,编好程序,才能运行.
这个一般没有要求。一般/lib /usr/lib 其它的要看具体情况。。。 如果你是自己编译的应用程序,.so文件一般就在安装目录下的lib目录中。
1、解包对方APK,插入一个:对应 *** ALI: android.os.SystemClock.sleep(20000);const-wide/16 v0, 0x2710 #20秒invoke-static {v0, v(X-1)}, Landroid/os/SystemClock;-sleep(J)V这里(X-1)对应.local X。
2
另外,有的包在你要调试的那个SO里面有签名保护,反正你重新打了包之后会导致程序运行崩溃,这个相比JAVA修改困难些,建议你用那个签名漏洞来打包。事实上我调试那个SO也遇到过这样,然后打了个签名漏洞的包嵌入的延时函数就可以了。
1) am start -D -n 包名/类名;
2) IDA pro attach 进程, 设置新线程,加载so时断点,continue;
3) 打开ddms, 查看调试端口, jdb attach port;
4) 这个时候应该已经断在新线程,或者加载so处了,在你感兴趣的so处停下来;
5) 另外用ida 打开so,查看你感兴趣的函数偏移, 加上你感兴趣的so的基地址,打上断点,continue, 就大功告成了。
如何JAVA代码调用?
jni吧?
安卓的SO文件是linux下的文件,用c或者c++写的。
安卓手机用ida在apk执行前动态调试其so中的函数 *** 1 1、解包对方APK,插入一个:对应 *** ALI: android.os.SystemClock.sleep(20000);const-wide/16 v0, 0x2710 #20秒invoke-static {v0, v(X-1)}, Landroid/os/SystemClock;-sleep(J)V这里(X-1)