目前已经完成了COM盾和COM狗的编写任务,今天开始编写COM任务即COMTask的工作。
COMTask将是IDA等逆向软件的噩梦,它采用并发设计的思维,即多线程。
它将程序或函数分为互不相干的独立任务,然后开启多线程(任务)并行(并发)运行,在主线程里就是一个死循环查询各个任务完成的结果,当全部任务都完成后,再进行分析。
由于多线程的各个任务运行的顺序是随机的,故根本无法逆向,即当IDA跟踪一个任务(函数)时,其他任务或早已完成,或在等待其他任务的结果才能继续运行。
有人说菜农在闭门造车和吹牛,有的说技术过时,但它与目前的防御体系如加壳或虚拟机等被动防御相对,菜农的COM盾是程序员的主动防御。
前者一旦被脱壳,将暴露无遗。
COM盾的表达式:fnArray[TAB[Hash[x]]]。
COM狗的表达式:fnArray[Dog(TAB[Hash[x]])]。
COM任务的表达式:Task=>fnArray[Dog(TAB[Hash[x]])]。
其中:
Task=>表示多线程多任务(一个函数的多个细分),=>并发运行。
fn表示原始函数fn()。
Array[]为数组,fnArray[]为函数指针数组。
Dog()为函数指针监视(狗)捕获函数,它实际上是钩子或回调函数,捕获是自动产生的,而非人为。
TAB[]为COM盾COM16[]和COM32[]的随机散列发生器数组。
Hash为陷门哈希表(单向陷门散列函数)
x为期望得到的函数指针数组的真实序号。
因为这里的Hash是有时效性的,即合法用户和非法用户的哈希表是不同的。
COM盾运行表达式Task=>fnArray[Dog(TAB[Hash[x]])]是无法反汇编的,因为表达式是无法知道函数指针即函数名的。
要想知道函数名,必须跟踪调试,即debug。
但是COM盾运行表达式中的COM狗捕获了每个函数指针(这个一般很难做到,而且需要耗费系统资源,而COM狗却不会)
即使瞎猫遇到死耗子,找到了分支或重要数据,那么就需要更改应用程序,即篡改。
但是COM盾采用菜农独创的HotCRC保护技术,即《利用CRC碰撞保护版权信息不被篡改》(可以百度),它比目前的校验和保护办法要安全太多,因为它有两处可以篡改,一处是初值,一处是校验和。
而菜农的只有一处初值。
因为保护的就是初值,那么它就是唯一理论上无法篡改,即不存在碰撞。
但是有初值和校验和两处,就可以采用碰撞了,因为一个初值比对应一个唯一的校验和。
例如CRC16,即一个初值对应一个校验和,共有65536对。
故COM盾在理论上就无法篡改。
COM盾实际的反篡改采用了两次验证,一次为用存储暴露的初值进行CRC正运算,必然得到校验和恒为零(故不用存储暴露)。
二次是用这个不存储的零进行CRC逆运算(陷门单向散列函数是可以逆运算的),必然会得到那个存储暴露的初值!!!
所以,COM盾天生具备反篡改,反跟踪,反反汇编。(以后再说反注册)。
COM盾虽然是菜农构思于1991年,虽然几十年来菜农在网上极力推广,收效甚微。
菜农退休三年了,目前从事安全产品的研究,开发和应用。
本来这些技术是菜农的独门绝学不愿外传,更不想“开源”,因为菜农真还没有到达如此的境界。
大家可以继续喷,但是菜农研究四十余年,而且四十年如一日,一般人想与菜农扳手腕,真是自不量力。
COMTask将是IDA等逆向软件的噩梦,它采用并发设计的思维,即多线程。
它将程序或函数分为互不相干的独立任务,然后开启多线程(任务)并行(并发)运行,在主线程里就是一个死循环查询各个任务完成的结果,当全部任务都完成后,再进行分析。
由于多线程的各个任务运行的顺序是随机的,故根本无法逆向,即当IDA跟踪一个任务(函数)时,其他任务或早已完成,或在等待其他任务的结果才能继续运行。
有人说菜农在闭门造车和吹牛,有的说技术过时,但它与目前的防御体系如加壳或虚拟机等被动防御相对,菜农的COM盾是程序员的主动防御。
前者一旦被脱壳,将暴露无遗。
COM盾的表达式:fnArray[TAB[Hash[x]]]。
COM狗的表达式:fnArray[Dog(TAB[Hash[x]])]。
COM任务的表达式:Task=>fnArray[Dog(TAB[Hash[x]])]。
其中:
Task=>表示多线程多任务(一个函数的多个细分),=>并发运行。
fn表示原始函数fn()。
Array[]为数组,fnArray[]为函数指针数组。
Dog()为函数指针监视(狗)捕获函数,它实际上是钩子或回调函数,捕获是自动产生的,而非人为。
TAB[]为COM盾COM16[]和COM32[]的随机散列发生器数组。
Hash为陷门哈希表(单向陷门散列函数)
x为期望得到的函数指针数组的真实序号。
因为这里的Hash是有时效性的,即合法用户和非法用户的哈希表是不同的。
COM盾运行表达式Task=>fnArray[Dog(TAB[Hash[x]])]是无法反汇编的,因为表达式是无法知道函数指针即函数名的。
要想知道函数名,必须跟踪调试,即debug。
但是COM盾运行表达式中的COM狗捕获了每个函数指针(这个一般很难做到,而且需要耗费系统资源,而COM狗却不会)
即使瞎猫遇到死耗子,找到了分支或重要数据,那么就需要更改应用程序,即篡改。
但是COM盾采用菜农独创的HotCRC保护技术,即《利用CRC碰撞保护版权信息不被篡改》(可以百度),它比目前的校验和保护办法要安全太多,因为它有两处可以篡改,一处是初值,一处是校验和。
而菜农的只有一处初值。
因为保护的就是初值,那么它就是唯一理论上无法篡改,即不存在碰撞。
但是有初值和校验和两处,就可以采用碰撞了,因为一个初值比对应一个唯一的校验和。
例如CRC16,即一个初值对应一个校验和,共有65536对。
故COM盾在理论上就无法篡改。
COM盾实际的反篡改采用了两次验证,一次为用存储暴露的初值进行CRC正运算,必然得到校验和恒为零(故不用存储暴露)。
二次是用这个不存储的零进行CRC逆运算(陷门单向散列函数是可以逆运算的),必然会得到那个存储暴露的初值!!!
所以,COM盾天生具备反篡改,反跟踪,反反汇编。(以后再说反注册)。
COM盾虽然是菜农构思于1991年,虽然几十年来菜农在网上极力推广,收效甚微。
菜农退休三年了,目前从事安全产品的研究,开发和应用。
本来这些技术是菜农的独门绝学不愿外传,更不想“开源”,因为菜农真还没有到达如此的境界。
大家可以继续喷,但是菜农研究四十余年,而且四十年如一日,一般人想与菜农扳手腕,真是自不量力。
SCHEDULE
2022 AWESOME MUSIC FESTIVAL
:1st line-up
- 10.22 (SAT) DAY 1 -
ZICO / KAI / DEEPFLOW / DON MILLS / LOS / GIRIBOY / SKINNY BROWN / JAYCI YUCCA / AHN BYEONG WOONG / ZIOR PARK / SION
- 10.23 (SUN) DAY 2 -
E SENS / PALOALTO / pH-1 / ASH ISLAND / HASH SWAN / SUPERBEE / UNEDUCATED KID / BIG NAUGHTY / HOMIES / LIL GIMCHI / ROYAL44
:10. 22(SAT)- 23(SUN)
:Nanji Hangang Park
:Interpark Ticket / Melon Ticket
单日99,000 / 双日145,000
#HIGUYS#
2022 AWESOME MUSIC FESTIVAL
:1st line-up
- 10.22 (SAT) DAY 1 -
ZICO / KAI / DEEPFLOW / DON MILLS / LOS / GIRIBOY / SKINNY BROWN / JAYCI YUCCA / AHN BYEONG WOONG / ZIOR PARK / SION
- 10.23 (SUN) DAY 2 -
E SENS / PALOALTO / pH-1 / ASH ISLAND / HASH SWAN / SUPERBEE / UNEDUCATED KID / BIG NAUGHTY / HOMIES / LIL GIMCHI / ROYAL44
:10. 22(SAT)- 23(SUN)
:Nanji Hangang Park
:Interpark Ticket / Melon Ticket
单日99,000 / 双日145,000
#HIGUYS#
【键盘上各种符号的英语读法】
~ 叫做:tilde或tweedle或squiggly line;
` 叫做:grave accent或stress mark;
! 叫做:exclamation point/mark;
@ 叫做:(commercial) at sign,直接读at;
# 叫做:number sign或pound sign或octothorpe/ˈɑːktoʊθɔːrp/或hash mark,手机、电脑键盘上就读pound;
$ 叫做:dollar sign;
% 叫做:percent sign;
^ 叫做:caret或者up-arrow head或者circumflex accent;
和 叫做:and sign或者ampersand,口语里一般就读作and;
* 叫做:asterisk / 'æstərɪsk / 或者也称之为star;
( 叫做:opening parenthesis;) 叫做:closing parenthesis;
_ 叫做:low line,underbar,underline或underscore;
- 叫做:hyphen-minus,hyphen或minus;
是:plus sign;
= 是:equal sign;
| 叫做:vertical line,vertical bar或pipe;
\ 叫做:backslash;
< 叫:less than sign;
> 叫:greater than sign;
, 叫:comma;
. 叫:period,full stop或decimal point;
? 叫:question mark;/ 叫:slash;
" 叫:quotation marks,straight quotation marks;
“ 叫:opening quotation marks;
” 叫:closing quotation marks;
ʺ 用于表示“inches” in measurement或者“seconds”,同时〃还是个 ditto mark,表示同上的意思;
' 叫做:(typewriter) apostrophe或者(straight) single quotation mark;
′ 表示“feet” in measurement或者“minutes”;
: 叫做:colon;
; 叫做:semi-colon考前名师精准雅思预测教育☞https://t.cn/Rn5QoQg
~ 叫做:tilde或tweedle或squiggly line;
` 叫做:grave accent或stress mark;
! 叫做:exclamation point/mark;
@ 叫做:(commercial) at sign,直接读at;
# 叫做:number sign或pound sign或octothorpe/ˈɑːktoʊθɔːrp/或hash mark,手机、电脑键盘上就读pound;
$ 叫做:dollar sign;
% 叫做:percent sign;
^ 叫做:caret或者up-arrow head或者circumflex accent;
和 叫做:and sign或者ampersand,口语里一般就读作and;
* 叫做:asterisk / 'æstərɪsk / 或者也称之为star;
( 叫做:opening parenthesis;) 叫做:closing parenthesis;
_ 叫做:low line,underbar,underline或underscore;
- 叫做:hyphen-minus,hyphen或minus;
是:plus sign;
= 是:equal sign;
| 叫做:vertical line,vertical bar或pipe;
\ 叫做:backslash;
< 叫:less than sign;
> 叫:greater than sign;
, 叫:comma;
. 叫:period,full stop或decimal point;
? 叫:question mark;/ 叫:slash;
" 叫:quotation marks,straight quotation marks;
“ 叫:opening quotation marks;
” 叫:closing quotation marks;
ʺ 用于表示“inches” in measurement或者“seconds”,同时〃还是个 ditto mark,表示同上的意思;
' 叫做:(typewriter) apostrophe或者(straight) single quotation mark;
′ 表示“feet” in measurement或者“minutes”;
: 叫做:colon;
; 叫做:semi-colon考前名师精准雅思预测教育☞https://t.cn/Rn5QoQg
✋热门推荐