m4bln


  • 首页

  • 归档

  • 标签

  • hint

  • 关于

  • 搜索

Android加固厂商特征(转)

发表于 2018-02-28 | 阅读次数:

from https://bbs.pediy.com/thread-223248.htm

娜迦
libchaosvmp.so , libddog.solibfdog.so

爱加密
libexec.so, libexecmain.so,ijiami.dat

梆梆
libsecexe.so, libsecmain.so,libSecShell.so

梆梆企业版
libDexHelper.so , libDexHelper-x86.so

阅读全文 »

frida导出函数任意调用

发表于 2018-02-08 | 阅读次数:

除了hook外,frida提供了rpc接口,可以导出某一个指定的函数,实现随时对其进行调用。

1.js中指定导出的类和函数,并采用new方法创建一个实例,python文件中导入1.js,输入对应的参数调用即可。如果通过http的方式传递参数,就可以变为一个服务框架,例如salt写的Hrida。(https://github.com/5alt/hrida)

阅读全文 »

Android直接执行so里的函数

发表于 2018-02-06 | 阅读次数:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include <stdio.h>#include <stdlib.h>#include <dlfcn.h>int main(int argc, char *argv[]){ //decrypt_db in.db out.db key //char key_in[256] = "thMSot/QNM/iFsDVNksPtXHiqi0wxjD0m2SMLipLEQ4="; char *in_db = argv[1]; char *out_db = argv[2]; char *key_in = argv[3]; char key_out[256] = {0}; void *p; void (*key_func)(char *, char *); void (*decrypt)(char *, char *, char *); //dlopen p=dlopen("./libdatabase_sqlcrypto.so",RTLD_NOW); if(p==NULL) { printf("dlopen error!\n"); exit(0); } else printf("dlopen ok!\n"); //dlsym aes_decrypt_key128 key_func=dlsym(p, "aes_decrypt_key128"); key_f ...
阅读全文 »

Ajax读取本地文件

发表于 2018-01-24 | 阅读次数:

关于Ajax

AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

阅读全文 »

js直接在页面输出错误

发表于 2018-01-24 | 阅读次数:
hook了window.onerror事件123456789101112131415161718192021222324252627282930313233343536<script>window.onerror = function (msg, url, lineNo, columnNo, error) { var string = msg.toLowerCase(); var substring = "script error"; if (string.indexOf(substring) > -1){ //alert('Script Error: See Browser Console for Detail'); var message = [ 'Message: ' + msg, 'URL: ' + url, 'Line: ' + lineNo, 'Column: ' + columnNo, 'Error object: ' + JSON.stringify(error) ].join('\n'); alert('window.onerror: script error '+ message); } else { var message = [ 'Message: ' + msg, 'URL: ' + url, 'Line: ' + lineNo, 'Column: ' + columnNo, 'Er ...
阅读全文 »

apache搭建https站

发表于 2018-01-17 | 阅读次数:
激活SSL模块 [html] view plain copysudo a2enmod ssl重启apache2[html] view plain copysudo service apache2 restart 2.创建自签名SSL证书 [html] view plain copysudo mkdir /etc/apache2/sslsudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt 3. 编辑配置文件,修改描红部分[html] view plain copysudo vim /etc/apache2/sites-available/default-ssl.conf[html] view plain copy ServerAdmin admin@example.com ServerName your_domain.com ServerAlias www.your_domain.com DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key ...
阅读全文 »

Android WebView那些事儿

发表于 2018-01-17 | 阅读次数:
Android WebView经常会有一些奇奇怪怪的问题,为了避免日后重复采坑,统一在这里总结下: setWebContentsDebuggingEnabledsetWebContentsDebuggingEnabled()用来配置WebView是否支持远程调试,当被设置为true时,既可以用PC端的Chrome来调试手机端的WebView。具体操作如下: WebView配置如下 1234//KITKAT版本一下不支持这个APIif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } 手机通过USB连接PC,在Chrome下输入”chrome://inspect”即可进入调试页,同时会显示出所有可调式的WebView页,审查元素、network等调试操作和PC上相同。 setWebChromeClient和setWebViewClient WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:onLoadResource,onPageStart,onPageFinish,onReceiveError,onReceivedHttpAuthRequest 等。 WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等,比如:onCloseWindow(关闭WebView),onCreateWindow(),onJsAlert (WebView上alert无效,需要定制WebChromeClient处理弹出),onJsPrompt,onJsConfirm,onPro ...
阅读全文 »

移动端使用JavaScript自动写入剪贴板

发表于 2018-01-12 | 阅读次数:
背景近期风靡的“吱口令”红包在互联网上铺天盖地,用户复制一段“吱口令”,打开支付宝就可以直接进入抢红包的页面。研究发现,支付宝是通过读取用户剪贴板数据,提取出吱口令,之后加载抢红包页面。 如果可以实现在用户打开某个网页的时候就写入剪贴板,那么用户会在不知不觉打开支付宝时,就会直接进入领取页面。因此,我们尝试了js自动写入剪贴板是否可行。 遍历js事件PC端似乎需要用户主动点击才能实现写入剪贴板,我们首先写一段写入剪贴板的代码12345678<input type="text" id="website" value="tobecopydata" /><script>function copy(e) { website.select() document.execCommand('copy'); }</script> 之后通过遍历js事件来触发复制操作12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697// event handlerdocument.body.addEventListener('blur', copy, true);document.body.addEventListener('error', copy, true);document.body.addEventListener('focus', copy, tru ...
阅读全文 »

OpenCV学习

发表于 2017-12-25 | 阅读次数:
打开图片123img = cv2.imread('hat.png')cv2.imshow('image', img)cv2.waitKey(0) #没有waitKey没办法显示 通道提取 图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。阿尔法通道(Alpha Channel)是指一张图片的透明和半透明度。例如:一个使用32位存储的图片,每8位表示红绿蓝,和阿尔法通道。在这种情况下,就不光可以表示透明还是不透明,阿尔法通道还可以表示256级的半透明度。 1234567r,g,b,a = cv2.split(img) cv2.imshow("Blue",r) cv2.imshow("Red",g) cv2.imshow("Green",b) cv2.imshow("Alpha",a) cv2.waitKey(0)#jpg等压缩格式没有Alpha通道 通道合并1merged = cv2.merge([b,g,r]) #前面分离出来的三个通道 灰度转换123gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)cv2.imshow('image', gray)cv2.waitKey(0) 人脸检测123456789101112face_patterns = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')//xml文件为opencv在GitHub上共享出来的具有普适的训练好的数据sample_image = cv2.imread('muti.jpg')faces = face_patterns.detectMultiScale(sample_image, ...
阅读全文 »

(待补充)安卓“Janus”漏洞分析(CVE-2017-13156)

发表于 2017-12-11 | 阅读次数:
简介“Janus”漏洞是Google在12月发布的安卓系统的安全公告中披露的,由移动安全公司GuardSquare 的研究团队发现,漏洞编号:CVE-2017-13156。该漏洞的可以绕过Andorid的签名校验机制,攻击者可以利用漏洞通过升级的方式对App进行篡改。 由于安卓系统中App的安全和可信都是建立在签名和校验基础之上,“Janus”漏洞绕过了系统的签名校验,可以说是突破了安卓整个安全机制,导致安卓整个安全体系的沦陷。 一旦攻击者将植入恶意代码的仿冒的App投放到安卓商店等第三方应用市场,就可替代原有的App做下载、更新。网友安装这些仿冒App后,不仅会泄露个人账号、密码、照片、文件等隐私信息,手机更可能被植入木马病毒,进而或导致手机被ROOT,甚至被远程操控。 影响范围 安卓5.0-8.0的各个版本系统; 使用安卓Signaturescheme V1签名的App APK文件。 由于,signature scheme V2需要对App进行重新发布,而大量的已经存在的App APK无法使用V2校验机制,所以为了保证向前兼容性,V1的校验方式的还被保留,故该漏洞影响范围较大。 漏洞分析漏洞原理1、安卓在4.4中引入了新的执行虚拟机ART,这个虚拟机经过重新的设计,实现了大量的优化,提高了应用的运行效率。与“Janus”有关的一个技术点是,ART允许运行一个raw dex,也就是一个纯粹的dex文件,不需要在外面包装一层zip。而ART的前任DALVIK虚拟机就要求dex必须包装在一个zip内部且名字是classes.dex才能运行。当然ART也支持运行包装在ZIP内部的dex文件,要区别文件是ZIP还是dex,就通过文件头的magic字段进行判断:ZIP文件的开头是‘PK’, 而dex文件的开头是’dex’.1代码部分 2、APK本质是一个ZIP文件,ZIP文件 ...
阅读全文 »
1…6789

m4bln

影后入林到驿前

84 日志
2 标签
© 2021 m4bln
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.3