- 博客(15)
- 收藏
- 关注
原创 ida动态调试elf(无坑详细)
虽然linux下有gdb,radare2等神器,但有时候难免有用到ida动态调试linux下文件的时候,这次自己按照网上教程来但是踩了无数坑,所以打算自己写一篇教程1.把ida中dbgsrv目录下的linux_server或者linux_serverx64放到linux中(根据自己要调试的程序选择哪个版本的)2.chmod a+x linux_serverx64改变属性,然后运行 linux_se...
2018-04-24 16:43:36
15967
6
转载 总结五种语言按钮事件--逆向下断点
调试软件,最重要的就是下断点,那么如何下断点,就是一门重要的技巧.比如:弹提示框,就下MessageBoxA,注册表的,就下RegOpenKeyA等等.当然,能直接下到按钮事件,当然更为方便,因为到了按钮事件后,很快就会到达核心代码,离你的破解也就不远了.本文就总结一下各类语言找按钮事件的方法,当然也可以借助工具,如VBexplorer,DEDE,ECE等等.一、VB程序其实,VB的按钮事件的找法...
2018-03-15 17:27:35
4585
原创 160个crackme(6)----aLoNg3x(详细非暴力破解)
测试输入nome和codice发现nome最多可以输入10个字符,codice没有限制用PEiD查壳,无壳并且发现是Delphi编写的程序 作者在这里提示说要隐藏OK和cancella按钮,最后就可以看到Ringzer0 logo 这里总结对Delphi下断点的方法:(1)找到Delphi的按钮事件然后下断点OD载入后,CTRL+G,转到00401000处然后就CTRL+B,查找特征码740E8...
2018-03-14 23:53:05
815
原创 反逆向的基本实现方式
要完全阻止对程序的逆向分析跟踪是不可能的,但是还是可以扰乱攻击者的视线,使得逆向分析变得十分困难,最终使攻击者放弃攻击。下面介绍几种基本的反逆向方法,在实际使用中,通常采用其中的几种方法!1.消除字符消息这是十分必要的反逆向方法,否则留下的符号信息对逆向人员来说特别有用!对于非基于字节码的程序来说,只要从程序中的可执行文件中去除所有符号信息就可以,对于基于字节码的程序来说,可以使用字节码混淆器吧所...
2018-03-14 20:10:31
2541
原创 排序算法的总结,思考和优化
稳定的冒泡排序(bubble sort) — O(n^2)鸡尾酒排序(Cocktail sort,双向的冒泡排序) — O(n^2)插入排序(insertion sort)— O(n^2)桶排序(bucket sort)— O(n); 需要 O(k) 额外空间计数排序(counting sort) — O(n+k); 需要 O(n+k) 额外空间合并排序(merge sort)— O(nlog n...
2018-03-13 23:10:17
380
原创 第一个安卓逆向
开始从吾爱破解里学习安卓逆向,今天来交作业,这是吾爱破解一个简单的crackme.apk,打开可以看到这个点击升级后出现在这里用AndroidKiller来分析它,因为代码量比较少,我找了找发现了这个函数在这里可以看到很多字符串,他们就是上面点击按钮后出现的文字,关键的是这里还有一个跳转, const/16 v2, 0x1e //给16字节的v2赋值30,对应上面积分30 if-...
2018-03-09 17:30:44
508
原创 实验吧-证明自己吧(超详细)
把Crackme拖到IDA里查看可以看到,程序通过eax跳转,而eax的值很有可能是上面那个call sub_401060决定的。 进入到sub_401060查看,可以看到最后的跳转代码有两个,一个是将eax清零,是错误跳转,一个是将eax赋值1,是正确跳转直接F5查看代码,关键代码如下:其中a1是传入函数的一个指针,指向我们输入的字符串,这段代码大致就是将传入的字符串与0x20进行异或,然...
2018-03-08 10:17:21
2887
转载 repne scasb 详解
SCAS是在检索目标字符串;REPNE/REPNZ是重复前缀(CX<>0 且ZF=0重复执行字符串指令),类似的还有REPE/REPZ、REP ax/al 搜索数据 es:di 目标串 cx 串长度 df 方向标志利用 REPNE SCAS 来检测代码中是否被下int3断点(CC): 00401241 /$ 8D3D...
2018-03-08 08:59:53
7514
原创 160个crackme(5)----ajj.2(CKme.exe)
据说这次的CKme可是层层设防,查壳发现加了upx壳,暂时用软件直接脱用的工具是UPXEasyGUI,链接: https://p an.baidu.com/s/1hsYAevM 密码: vrtq脱壳后再查如下:这次直接先用DeDe来看下它,这个程序竟然隐藏了一个Edit2!!主要的事件有Edit2的双击,panel的双击,button1的Button1click,
2018-02-05 22:36:41
1068
原创 160个crackme(4)----ajj.1(CKme.exe)
这个CKme与一般的软件注册过程不一样,它没有"确定"键,而且注册成功还有奖励,激动先放到OD里看下,crtl+F8,程序停下来了,输入name和serial后,没反应。先用最简单的方法,搜字符串,一搜还真有,双击进去再前面的push ebp下断点输入name和serial,发现不知道怎么触发断点,双击灰色框后竟然跳到了断点,看来双击灰色框相当于确定键。进去
2018-02-04 21:15:04
1090
原创 160个crackme(3)----Afkayas2
3Afkayas★★Nag,Name/Serial(VB5)这个跟上次那个也是VB编写的,这里转载两篇篇关于VB程序逆向反汇编的博文VB程序逆向反汇编常见的函数http://www.cnblogs.com/bbdxf/p/3780187.htmlVB程序逆向反汇编常见的函数(下断用)http://blog.sina.com.cn/s/blog_80deaf0
2018-02-03 22:54:26
625
原创 160个crackme(2)----Afkayas1
Afkayas★Name/Serial(VB5)在win10运行时提示缺少MSVBVM50.DLL,链接: https://pan.baidu.com/s/1c33kt4c 密码: kk7h今天是先逆向好了再开始写博客的,可能讲的节奏会有点快查壳发现无壳运行程序,程序很简单,就两个按钮直接拖进OD,cr
2018-01-31 21:56:22
621
原创 160个crackme(1)----Acid burn
这160个crackme虽然程序都比较老但是也都比较经典。附上160个crackme链接: https://pan.baidu.com/s/1jJ2rSb0 密码: 6m8i第一关 Acid burn第一步就去掉这个nag,nag的释义是困扰和唠叨,估计大家都不喜欢我nop了好几次,但是可
2018-01-29 22:40:26
655
原创 函数调用约定以及函数栈帧
栈帧(stack frame),机器用栈来传递过程参数,存储返回信息,保存寄存器用于以后恢复,以及本地存储。为单个过程(函数调用)分配的那部分栈称为栈帧。栈帧其实 是两个指针寄存器,寄存器ebp为帧指针(指向该栈帧的最底部),而寄存器esp为栈指针(指向该栈帧的最顶部),当程序运行时,栈指针可以移动(大多数的信息的访问都是通过帧指针的,换句话说,就是如果该栈存在,ebp帧指针是不移动的,访问栈里面
2018-01-28 12:39:18
864
原创 PE文件结构学习笔记
PE 的意思就是 Portable Executable(可移植的执行体)。它是 Win32环境自身所带的执行体文件格式。它的一些特性继承自 Unix的 Coff (common object file format)文件格式。"portable executable"(可移植的执行体)意味着此文件格式是跨win32平台的 : 即使Windows运行在非Intel的CPU上,任何win32
2018-01-26 15:38:41
1192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人