首页 手机软件 正文

C32Asm 教程:克隆公司饭卡 然后优雅地“蹭饭”

教程:克隆公司饭卡 然后优雅地“蹭饭”

最近借了Proxmark3来娱乐性的玩下RFID技术,工资甚低的我只好拿公司饭卡实验,优雅地蹭几顿。物业大叔表打我啊!以下操作纯属学习目的,初学难免错误较多,望斧正。

首先了解M1卡的结构:请参考http://bobylive.com/static/1491

实验设备:PM3及天线+饭卡+UID白卡

连接好设备后通过hw tune观察电压变化,判断高低频卡,Freebuf已有文章。

末放卡电压值

放卡后电压值

以上步骤可以无视,以下直接进入正题。

一、克隆卡

读M1的卡数据。记下UID号,用于之后复制一张UID一样的卡,sector0区其它厂商信息地方改不了就没办法了,写死了。所以这个数据区之后在数据对比会有点点差异,所以我们可以利用一张UID白卡完成克隆和修改,保证数据可对比性。

连接com3口 proxmark3COM3进入命令行

执行:hf 14a reader,记下UID:b3 9422 d4后续克隆卡使用

获取区块1的A/B key

使用hf mf nested枚举其它区块key

可以看到,区块基本都使用的是默认的卡密。操作完之后,就可以把我们卡的原始数据dump出来,接着把dumpdate.bin文件备份,使用C32asm对数据进行个性。为了克隆卡及验证修改数据后是否可正常使用,先把卡上的姓名进行修改。

之后,我们把修改后的dumpdata.bin重新写入到UID白卡上,为防止检校UID,我们先把白卡的UID改掉。

输入命令:

hf mfcsetuid b39422d4

接着就可以将dumapdata.bin内容克隆到新卡上了。

使用命令: hf mf restore 进行克隆。PM3灯闪一会就克隆完了。然后中午饭去刷下卡,修改姓名后的克隆卡正常使用。

二、优雅地篡改卡余额

中饭过后,刷了一次卡,然后这时第一时间就是dump出克隆卡的数据,将原卡数据与刷卡后的数据进行对比。使用bcompare对两次数据进行比对。

对比两次刷卡记录发现有两个区块的数据变化,同一次刷卡中,上面数据一至。猜测是作为备份数据使用。

其中红色框左边的 0e 06换算成十进制就是1550,右边F0 05换算成十进制是1520。正好对应我的卡余额155以及刷卡后的152。说明这个位置是余额位。

绿色框框表示的是余额的检校位。两次数据对比很容易发现检校位的生成方式。

余额检校位算法:

OE+06=14f0+05=f5

修改余额200.0转换十六进制:07 D0

倒序写入 06 27 检校位 2D

修改几处数据

运行hfmf restore命令,重新写入白卡。

再次刷卡后:

深藏功与名。

首页>>文章

免杀技术详解,病毒木马是如何逃过杀毒软件的?

导读:很多小白为了让自己的电脑在日常的工作中更加的安全下载多个杀毒软件进行定期查杀,觉得电脑肯定是非常的安全,便肆无忌惮的浏览一些少儿不宜网站,甚至主动或被动下载一些乱七八糟的软件,那么杀毒软件真的可以全部把病毒和木马查杀吗?本期文章我们就详细讲讲木马病毒是如何伪装不被杀毒软件所查杀的。

什么是免杀?

免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字翻译为“反-反病毒”,翻译为“反杀毒技术”。

免杀技术的分类

二进制的免杀(无源码),只能通过通过修改asm代码/二进制数据/其他数据来完成免杀。有源码的免杀,可以通过修改源代码来完成免杀,也可以结合二进制免杀的技术。

杀毒软件是如何提取文件特征码的?

扫描时,先获取文件每个节的特征(节大小+节的哈希值),再进行一次哈希,即得到一个类似MD5的字符串。然后对比此哈希值字符串首字母,首字母范围是0-9,A-F。根据首字母,分别与分隔开的病毒库进行匹配。为什么这样做?就是为了提高扫描速度。原本200万的特征码,需要匹配200万次。进行首字母分隔后,只需要匹配200/16,大约12万次。相当于效率提高了16倍。通俗讲就是不要把一个文件的所有内容都拿来计算hash,而通过分片,取出部分重要(不易改变)的内容进行hash计算,这样就能达到通过一个特征码找到类似的病毒变种。

如何能快速查找特征码?

常见的特征码定位工具有CCL、MYCCL。工具大致原理就是分割文件,某些分割部分填入数据(0),如果扫描该部分不报警,则特征码在这个部分。如此反复,直到找到很短的某一段内容。不同工具使用的分割算法不同,查找特征码的效果也不尽不同。

在这里推荐一款最新的特征码定位软件VirTest。

官方介绍:我们可以这样假设报毒过程,如果检测文件是PE,如果在CODE位置存在 标志A,在DATA位置存在标志B,在资源位置存在标志C,同时满足这个3个条件,那么杀软就会报毒,VIRTEST工作原理就是要找到引起报毒最后一个标志,也就是假设中的标志C。因此VIRTEST采用2分排除法,测试标志C所在文件中的位置,由于被杀的文件可能存在多个 类似于ABC这样的连锁条件,所以我们必须要通过一种排除机制,先要找最靠近文件前部的连锁条件,排除掉文件尾部数据,当找到第一个连锁条件后,抹掉引标志C,再恢复尾部数据,然后继续测试另外的连锁条件,直到找到最后一个连锁条件,抹掉后,整个文件免杀了,则说明特征代码被定位完毕了,所以VIRTEST绝对可以精确的定位出所有的复合特征。

找到特征码了,怎么免杀呢?

找到特征码之后,只要改变这个特征码值的话就免杀成功了,常用的修改工具有,OD,C32ASM,UE,010Editor等等。

没有源码的情况下修改:

如果特征码定位到数据(通过IDA/OD等确认),修改这类的特征码是非常容易导致软件的运行失败无法打开,或者影响程序运行流程或结果。

1、数据

字符串,如果不影响程序逻辑,可以替换大小写;如果无关紧要的数据,便可以随意替换。整数,如果不影响结果,替换值,清零等等操作。PE头数据,根据PE结构具体来看,无用数据清零或修改,有用数据看情况修改。最后,终极修改方法,找到访问数据的代码,直接修改代码访问数据的地址,数据也可以放到其他地址了。

2、代码

如果特征码定位到代码(也通过IDA/OD等确认),在不改变程序功能的基础上,应用各种方法修改。等价替换汇编代码,如mov eax,0可以换成xor eax,eax,直接结果相同,二进制代码不同。交换代码顺序,在不影响逻辑的情况下。代码块移位,将代码块移动不用的内存位置,通过加入jmp addr跳过去执行,addr是新的代码块地址。

有源码的情况下修改:

在有源码的情况下,修改的方式就更灵活了,更简单了。 如果特征码是数据,那么修改数据位置,访问数据的代码位置等(思想类比非源码方式)。 加花指令,这是最有效也是最常用的方式,要点在于如何加花指令。加上数据计算代码,加减乘除各类组合。加字符串操作代码,增加、删除、查找、替换等。加多层跳转,跳转间加无效指令(不会执行的)。加貌似有效的API调用,如LoadLibrary+GetProcAddr+API等。

本文只讲解原理,请勿违规操作!

相关问答

谁能用 c32asm 如何提取电子杂志中的音乐,图片等素材?

[回答]zinemaker是电子杂志制作软件,最终生成的exe基本上不能再编辑了。exe可执行文件,如果随便编译,那盗版就更容易了。如果想尝试,推荐个软件C32asm可...

怎么破解易语言制作的软件?

首先看加没加壳,加了就先脱壳,没加就直接用C32asm查找注册错误信息,然后向上找会有一个关键跳,更改关键跳就可以注册成功,这就是爆破。要找注册码的话就用E...

特征码 物理地址/物理长度

[回答]跳转到位置然后用C32修改

肿么修改手机的软件名-ZOL问答

回复linhg123用这个软件Exescope详见参考资料或者是C32Asm有用(0)回复精品应用推荐新浪微博天气通淘宝特价版UC浏览器相关问题手机性能天梯榜讨...

SRSVC.DLL病毒怎么杀?

[回答]接库文件被加载后,衍生Nskhelper2.sys文件到系统目录下,并创建事件NsDlRk250,检测当前的系统时间,如果年份大于2008则退出执行;否则创建远...[编辑...

电脑中毒对机子有何危害

那要看你中的是那种毒。轻的弹一些网页,拖慢网速。稍重的修改你的注册表,使文件无法正常使用。再重的甚至使你的硬盘格式化,机器瘫痪。我所知道最严...