解决msys2提示替换 mingw-w64-i686-ncurses 为 mingw32/mingw-w64-i686-pdcurses 吗 ?后失败的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
➜  ~ pacman -Syyu
:: Synchronizing package databases...
mingw32 545.2 KiB 822K/s 00:01 [------------------------------------------------------------------------] 100%
mingw32.sig 119.0 B 5.81K/s 00:00 [------------------------------------------------------------------------] 100%
mingw64 546.4 KiB 3.38M/s 00:00 [------------------------------------------------------------------------] 100%
mingw64.sig 119.0 B 9.68K/s 00:00 [------------------------------------------------------------------------] 100%
msys 180.4 KiB 5.68M/s 00:00 [------------------------------------------------------------------------] 100%
msys.sig 119.0 B 11.6K/s 00:00 [------------------------------------------------------------------------] 100%
:: Starting core system upgrade...
there is nothing to do
:: Starting full system upgrade...
warning: mingw-w64-i686-binutils: local (2.31.1-1) is newer than mingw32 (2.30-6)
:: Replace mingw-w64-i686-ncurses with mingw32/mingw-w64-i686-pdcurses? [Y/n] y
:: Replace mingw-w64-i686-termcap with mingw32/mingw-w64-i686-pdcurses? [Y/n] y
warning: mingw-w64-x86_64-binutils: local (2.31.1-1) is newer than mingw64 (2.30-6)
:: Replace mingw-w64-x86_64-ncurses with mingw64/mingw-w64-x86_64-pdcurses? [Y/n] y
:: Replace mingw-w64-x86_64-termcap with mingw64/mingw-w64-x86_64-pdcurses? [Y/n] y
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing mingw-w64-i686-gcc (9.1.0-2) breaks dependency 'mingw-w64-i686-gcc=7.4.0-1' required by mingw-w64-i686-gcc-ada
:: installing mingw-w64-i686-gcc (9.1.0-2) breaks dependency 'mingw-w64-i686-gcc=7.4.0-1' required by mingw-w64-i686-gcc-objc
:: installing mingw-w64-x86_64-gcc (9.1.0-2) breaks dependency 'mingw-w64-x86_64-gcc=8.3.0-2' required by mingw-w64-x86_64-gcc-ada
:: installing mingw-w64-x86_64-gcc (9.1.0-2) breaks dependency 'mingw-w64-x86_64-gcc=8.3.0-2' required by mingw-w64-x86_64-gcc-objc

查找资料,发现已将*-ncurses*-termcap替换为*-pdcurses,但这不是导致错误的原因.导致错误的原因是adaobjc已经被弃用,需要手动移除adaobjc.
pacman -R --noconfirm mingw-w64-i686-gcc-ada mingw-w64-i686-gcc-objc mingw-w64-x86_64-gcc-ada mingw-w64-x86_64-gcc-objc,然后pacman -Syyu问题解决

PE结构

也是一些基础啦

文件头

一开始DOS头的最后一个成员指向NT头.
NT头的中定义了加载地址,加载选项,入口地址.也在最后一个成员IMAGE_DATA_DIRECTORY_ARRAY定义了pe文件包含导入表、导出表、资源表、重定位表在内的、固定的15个表信息,包含RVA与大小信息.
NT头后的IMAGE_SECTION_HEADER定义了所有的区块(如.upx0、.upx1、.text等)的加载信息,包含RVA、名称、大小等信息。

导入表

先来看一波结构体,其中前置的有:dos头->nt头->附加头->导入表--(对应区段地址)-->PIMAGE_IMPORT_DESCRIPTOR

Read more »

Q:

1
2
3
req=requests.post("http://www.example.com/post_it",data=_data,headers=_headers)
req.content
#{"status":"error","code":"不能以get的方式请求"}

A:

求求你吧网址最后的/加上,网址写全了.

1
2
3
req=requests.post("http://www.example.com/post_it/",data=_data,headers=_headers)
req.content
#{"status":"ok"}

why:

访问http://www.example.com/post_it,服务器自动301到http://www.example.com/post_it/了.于是requests就跟随了.

Read more »

win10不断要求认证账户,认证要求输入pin码,输入完后没问题,过一段时间又要求验证.在某种情况下也会导致win10的激活突然消失,甚至在极端的情况下用slmgr -ato也无法再次激活.

Read more »

缘由

一个apk,上burp死活抓不到数据包,应用还正常.
想开wifi热点抓,结果我那破红米不支持5g,win10的热点老是开到5g上,行不通,只能想其他方法.

非实时

tcpdump直接抓
但是不够优雅,不能实时反应过来,而且也没wireshark易用

实时

wifi热点法

垃圾红米手机和win10配不上.

管道法

老早之前记得看过有人用pipe来将抓包的数据实时重定向到wireshark.

Read more »

why?

Github上看到了被Fork的仓库,因为种种原因pull requests主仓库没有接受,并且还往后更新了.需要在本地合并两个仓库.

how?

1
2
3
4
5
6
git clone https://github.com/A/git.git
git remote add other https://github.com/B/git.git
#git remote add -t remote-branch remote-name remote-url
git fetch other master
#git branch -a
git merge other/master

年前疯狂更了一波博客,是因为准备换工作了,说不定可以拿博客出去吹一吹.然而这么菜,根本没有勇气拿出来吹.本来是打算搞搞windows内核那些东西,结果感觉自己菜的一笔,没勇气干,还是面的Web.最终在年前,面上了某家的渗透测试(实质上是安服),工作后就莫名其妙偏了点移动方面的安全,于是就又捡起来以前的东西搞了搞.这一搞,不但发现了之前绕的弯路,也发现了一大堆有意思的东西:frida, llvm, etc…

基础的前置工具

到现在依旧好用的apktools, signapk.jar, dex2jar, jd-gui, jeb, ida;以及最近发现的jadx, Luytan

apktools

哪一部分出错了就删哪一部分, 再出错了再尝试修复.有时候甚至你用–no-res会出现问题,不使用却没问题.

ida

Shift + F11直接导入头文件即可,JNIEnvJavaVM给你自动识别还有啥不满足的,还要啥自行车.
Alt + G修改ARM工作模式,这还是之前做pwnable.kr的题知道的.

Android Studio

没错!是AS!这玩意可以直接解包apk,配合smalidea,设置为code目录即可直接开始调试.

基础工具

Xposed

简单来说,Xposed仅仅用findAndHookMethod就可以搞定99%的应用场景.
Xposed最近读了一遍它的源码,过了一遍Xposed的流程.

Read more »

Structured Exception Handling,即SEH,是windows的异常处理机制.官方已不建议使用SEH,而是用ISO标准的c++异常处理.但是因为要向前兼容,所以在windows下SEH还是可以使用的,除了系统的代码大量使用以外,自己在一些特殊情况下,也是非常好用的.

也是一些基础啦.

Read more »