Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Capstone2llvmir] Update to Capstone V5 #1059

Merged
merged 83 commits into from
Dec 5, 2022
Merged
Changes from 1 commit
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
15316cd
Update Capstone to v4.0
Aug 18, 2020
83d5536
[Capstone-next] Update to capstone-next branch
owlxiao Jan 20, 2022
57da854
[Capstone-next] Update to Capstone-Next Branch
owlxiao Jan 21, 2022
7719dcd
[tests][capstone2llvmir][arm] Fix MOVW Unit Test
owlxiao Jan 22, 2022
4cdc90b
[tests][capstone2llvmir][arm] Fix Nop test
owlxiao Jan 22, 2022
8d0195c
[Capstone2llvmir][arm64] Add ADDCS Support
owlxiao Jan 22, 2022
63c002c
[capstone2llvmir][arm64] Add ADDS Support
owlxiao Jan 22, 2022
976553a
[capstone2llvmir][arm64] Add ANDS Support
owlxiao Jan 22, 2022
da6c40e
[capstone2llvmir][arm64] Add SUP Support
owlxiao Jan 22, 2022
1a6aa35
[capstone2llvmir][arm64] Add BICS Support
owlxiao Jan 22, 2022
0a27490
[capstonellvmir][PowerPC] Update Register Name
owlxiao Jan 22, 2022
1eaefae
[capstone2llvmir][PowerPC] Update Register Name
owlxiao Jan 22, 2022
9038653
[capstone2llvmir][PowerPC] Fix CMP Support
owlxiao Jan 22, 2022
0434d7c
[capstone2llvmir][PowerPC] Add CMPL Support
owlxiao Jan 23, 2022
d5a772a
[capstone2llvmir][PowerPC] Fix CMPL
owlxiao Jan 23, 2022
45df743
[capstone2llvmir][PowerPC] Add BLT Support
owlxiao Jan 24, 2022
414961d
[capstone2llvmir][PowerPC] Add Branch mnemonics incorporating
owlxiao Jan 24, 2022
1ba1ebb
[capstone2llvmir][PowerPC] Fix RLWINM
owlxiao Jan 24, 2022
93c3dfc
[tests][capstone2llvmir][PowerPC] Fix Crand Tests
owlxiao Jan 25, 2022
57c97c1
[capstone2llvmir][PowerPC] Fix bdzla BUG
owlxiao Jan 25, 2022
2068355
[capstone2llvmir][PowerPC] Remove BDZLA TODO
owlxiao Jan 25, 2022
8e72381
[capstone2llvmir][x86] Fix ud2b
owlxiao Jan 25, 2022
7dc7cd4
[capstone2llvmir][X86] Fix FADD/FADDP
owlxiao Jan 25, 2022
e476b45
[capstone2llvmir][x86] Fix FADD/FADDP
owlxiao Jan 25, 2022
bcac00c
[capstone2llvmir][x86] Fix FXCH
owlxiao Jan 26, 2022
07ca219
clean code
owlxiao Jan 26, 2022
36830d0
Update Capstone to v5.0
Aug 18, 2020
c2643e6
[capstone2llvmir][x86][PowerPC] Clean code
owlxiao Jan 26, 2022
ec26be9
[capstone2llvmir][PowerPC] Clean code
owlxiao Jan 26, 2022
bda129b
[capstone2llvmir][PowerPC] Remove BUN* and BNU*
owlxiao Jan 26, 2022
c356a1f
[capstone2llvmir][PowerPC] Fix rlwinm
owlxiao Jan 26, 2022
73833cf
[capstone2llvmir][PowerPC] Fix BNL*
owlxiao Jan 26, 2022
fbed40f
[capstone2llvmir][PowerPC] Add PPC_REG_ZERO
owlxiao Jan 26, 2022
b97c922
[capstone2llvmir][PowerPC] Add comment
owlxiao Jan 26, 2022
2fdf00e
Fix merge conflict
owlxiao Jan 27, 2022
e8060dd
Update YARA to 4.2.X
HoundThe Feb 2, 2022
76cc944
Add dll_name from export directory to output
HoundThe Jan 27, 2022
9c4696e
llvm/CMakeLists: Manually-specified variables were not used by the pr…
Jan 14, 2022
b987908
CHANGELOG.md: add entries for #1060 #1061 PRs
PeterMatula Feb 10, 2022
77adf1e
Fixed loading import directory that is modified by relocations
Feb 17, 2022
cb5f30b
Fixed comment
Feb 17, 2022
3250bad
Merge pull request #1063 from avast/LZ_IncludeRelocationIntoImageLoad
s3rvac Feb 18, 2022
b1e07f4
Remove useless trailing whitespace
s3rvac Feb 18, 2022
fdd56fb
pelib: Fix a typo in a comment in PeLib::ImageLoader::Load()
s3rvac Feb 18, 2022
2b37500
Add a CHANGELOG entry for #1063
s3rvac Feb 18, 2022
b7b8010
Move signing certificate to separate object
HoundThe Feb 25, 2022
23922e8
Merge pull request #1065 from HoundThe/signer_cert
metthal Feb 25, 2022
071852b
Updated authenticode parser to the newest version
metthal Mar 9, 2022
4a6291b
Fix uninitialize free, use finer sanity checks in auth. parser
HoundThe Mar 9, 2022
c990727
Merge pull request #1067 from avast/update-authenticode-parser
HoundThe Mar 9, 2022
05c9b11
Add a directory for RetDec-related publications
s3rvac Mar 23, 2022
363028b
Fix the wording for an invalid max-memory error in scripts/retdec-unp…
s3rvac Apr 21, 2022
916efae
Never try to limit memory on macOS
catap Apr 22, 2022
b7ed6b5
Remove a redundant period from CHANGELOG
s3rvac Apr 24, 2022
8a960f1
Merge pull request #1074 from catap/max-memory
s3rvac Apr 28, 2022
0be74a3
utils: Improve the wording of a comment in getTotalSystemMemoryOnMacOS()
s3rvac Apr 28, 2022
f9ac9ec
Add a CHANGELOG entry for #1074 and #1045
s3rvac Apr 28, 2022
42d1694
Update authenticode-parser, use-after-free, signedness issues
HoundThe Jun 12, 2022
4d65416
Merge pull request #1082 from avast/update-auth-parser
HoundThe Jun 15, 2022
b87697c
Using multistage build for Dockerfile, reduces container size by ~1.5G
Jun 8, 2022
457a308
Check for possible overflow when checking for segment overlaps. Fix i…
HoundThe Jul 14, 2022
8503282
Fix parameter and return types for dynamically called functions
richardlford Jul 7, 2022
e1739f7
Upgrade to Capstone release 4.0.2
richardlford Jul 7, 2022
ee3ce6b
Add additional patch on capstone 4.0.2 for PPC Signed 16 bit immediates
richardlford Jul 17, 2022
ed3d418
Treat endbr32/endbr64 instructions as NOPs
richardlford Jul 18, 2022
ef27550
capstone2llvmir/powerpc: remove PPC_INS_BDZLA hack fix
PeterMatula Jul 21, 2022
3435bc8
Handle Procedure Linkage calls for 32bit x86 from gcc
richardlford Jul 18, 2022
0749a46
Add ability to process PNG icons for perceptual hash calculation (#1090)
HoundThe Jul 24, 2022
dcaaad5
In generated C, add prototypes for dynamically-linked functions witho…
richardlford Aug 4, 2022
00cf4ad
Add printing of analysis time to retdec-fileinfo output
metthal Sep 8, 2022
c0107d1
Merge pull request #1107 from avast/fileinfo-print-analysis-time
metthal Sep 12, 2022
9bc5707
Yara: inherits linker flags
catap Sep 19, 2022
3c93bea
Use provided libtool via `CMAKE_LIBTOOL`
catap Sep 18, 2022
aecb4d0
Added missed `${RETDEC_INSTALL_BIN_DIR}` to `pat2yara`
catap Sep 20, 2022
e2581d2
Added sanity check for page index when loading pages from broken samples
metthal Nov 2, 2022
de6b1b6
Virtual Size overflow is now handler properly
Nov 2, 2022
6aa3732
Fixed error code
Nov 2, 2022
c122996
Updated yaramod
metthal Nov 2, 2022
74c28cd
Merge pull request #1121 from avast/updated-yaramod
metthal Nov 3, 2022
0c505b4
Merge pull request #1120 from avast/image-loader-page-size-sanity-check
metthal Nov 7, 2022
394e12b
Fix removeZeroSequences
neverwin Sep 19, 2022
f76d200
README.md: add "limited maintenance mode" note
PeterMatula Nov 7, 2022
119c96e
Merge branch 'capstone-update-v5' into capstone-next
PeterMatula Dec 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[capstone2llvmir][PowerPC] Fix RLWINM
- RLWINM and clrlwi are same ID
owlxiao committed Jan 27, 2022

Verified

This commit was signed with the committer’s verified signature.
lann Lann
commit 1ba1ebba0e56130ec76eacfb129ed471b289568c
24 changes: 16 additions & 8 deletions src/capstone2llvmir/powerpc/powerpc.cpp
Original file line number Diff line number Diff line change
@@ -747,14 +747,22 @@ void Capstone2LlvmIrTranslatorPowerpc_impl::translateAndis(cs_insn* i, cs_ppc* p
*/
void Capstone2LlvmIrTranslatorPowerpc_impl::translateClrlwi(cs_insn* i, cs_ppc* pi, llvm::IRBuilder<>& irb)
{
EXPECT_IS_BINARY_OR_TERNARY(i, pi, irb);

std::tie(op1, op2) = loadOpBinaryOrTernaryOp1Op2(pi, irb, eOpConv::ZEXT_TRUNC_OR_BITCAST);
op2 = irb.CreateAnd(op2, llvm::ConstantInt::get(op2->getType(), 31));
op1 = irb.CreateShl(op1, op2);
op1 = irb.CreateLShr(op1, op2);
storeOp(pi->operands[0], op1, irb);
storeCr0(irb, pi, op1);
std::set<int> opCountTemp = {3, 5};
EXPECT_IS_SET(i, pi, irb, opCountTemp)
//EXPECT_IS_BINARY_OR_TERNARY(i, pi, irb);
if(pi->op_count == 3)
{
std::tie(op1, op2) = loadOpBinaryOrTernaryOp1Op2(pi, irb, eOpConv::ZEXT_TRUNC_OR_BITCAST);
op2 = irb.CreateAnd(op2, llvm::ConstantInt::get(op2->getType(), 31));
op1 = irb.CreateShl(op1, op2);
op1 = irb.CreateLShr(op1, op2);
storeOp(pi->operands[0], op1, irb);
storeCr0(irb, pi, op1);
}
else
{
translateRotateComplex5op(i, pi, irb);
}
}

/**